Has anyone experienced development using Hyprland with any Silverblue derivative?
Is it worth installing it?
Any recommendation for a tiling window manager for Gnome besides PaperWM extension?
It looks interesting, wonder how youād install it (assume within a distrobox), and have it available to launch into on login? As a longtime i3 user from back in the day Iād love to try this out.
Finally, I installed Hyprland this afternoon.
According to some posts I read, there are three methods for installing Hyprland in Silverblue derivatives.:
-
Adding it as a layer. ā It installs but with a missing dependency. I havenāt tested personally. Experience from others.
-
Rebasing using a Silverblue image (Fedora 40) from here: GitHub - wayblueorg/wayblue: Fedora Atomic images for wayland compositors. Itās called Wayblue. I tested it. Installs and runs well. The only problem is that I would need to reinstall my applications, which are running perfectly in Bluefin-DX.
-
Using Nix. I havenāt tested it yet. I found it here Reddit - Dive into anything. I may opt this route so I save time in reinstalling development stuff if going with method #2.
The only care I had was creating a dummy user account to login into Hyprland, so my original user account doesnāt get polluted with dotfiles from Hyprland. At the end of the test in #2, I rebooted with my Bluefin-DX and logged in with my user account with no Hyprland/Fedora SB 40 legacy issues. Screenshot attached:
Hey thanks for documenting this because I really want to checkout hyprland, but Iām having an issue. Iāve rebased to a signed silverblue:40:
phil@fedora:~$ rpm-ostree status
State: idle
Deployments:
ā fedora:fedora/40/x86_64/silverblue
Version: 40.20240426.0 (2024-04-26T02:24:22Z)
Commit: 0b286d9a9224913d6b946aa9d386a6ba9f2d7473e0540c1dc3ebf52533aa67ef
GPGSignature: Valid signature by 115DF9AEF857853EE8445D0A0727707EA15B79CC
ostree-image-signed:docker://ghcr.io/ublue-os/aurora-dx:40
Digest: sha256:624d149bb1a62b9b6fd99c153b0f405b7494ad114df02039ae1ea5ab09dcacc9
Version: 40.20240425.0 (2024-04-25T16:51:42Z)
However Iām not able to rebase to hyprland:
phil@fedora:~$ rpm-ostree rebase ostree-image-signed:docker://ghcr.io/wayblueorg/hyprland:latest
Pulling manifest: ostree-image-signed:docker://ghcr.io/wayblueorg/hyprland:latest
error: Preparing import: Fetching manifest: containers-policy.json specifies a default of `insecureAcceptAnything`; refusing usage
BUT, even more concerning, I canāt get back to bluefin:40!
phil@fedora:~$ !183
rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/bluefin-dx:40
Pulling manifest: ostree-image-signed:docker://ghcr.io/ublue-os/bluefin-dx:40
error: Preparing import: Fetching manifest: containers-policy.json specifies a default of `insecureAcceptAnything`; refusing usage
So Iāve mucked up something, perhaps unrelated to hyprland any idea how to recover?
Answering my own question
rpm-ostree rollback
Which took me back to a working rpm-ostree. So what silverblue image should rebase to, so I can rebase to hyprland? I must be making this harder than it isā¦ but thatās how I learn!
You rebased to stock Fedora silverblue which doesnāt have our signing keys so rebasing from there wonāt work without rebasing to an unsigned image.
After youāve done an rpm-ostree and then rebooted into the ublue image the rebase to the wayblue image should work.
Are you back to your working Bluefin?
Did you pin your working Bluefin before rebasing?
I had trouble as well trying to rebase to Wayblue. The problem was that I have too many pinned Bluefin versions. After I unpinned all but one, Wayblue was able to find āroomā to install and show itself in the boot menu.
From that experience:
(1) there seems to be a limit in the number of pinned versions a user can have. I am not completely sure, but I read it is five. But it is a mystery to me why Bluefin didnāt let me rebase until I had only one version pinned, even after I did the signature thingy.
(2) Always pin the working version before going around rebasing to another Silverblue derivative.
You are totally fine.
You donāt have an idea how many times I broke things experimenting with Bluefin-DX. But it is all worth it. It is a totally different kind of Linux.
Got it! I thought you had to go to Silverblue to get to Hyprland, but no, so I got into it after a rebase back to bluefin-dx:40 (which I pinned)
@f0nzie it looks really nice, and makes remember how much I liked i3, but this, everything works and is configured really nicely! I had to blindly figure out the āsuperā key, how to open a term, close the active window, launch the file browser, lock the screen, logout, and open a run dialog. Iām going to get a hyprland.conf from their docs and look at modifying things to learn how to use it, but wow, looks very nice! Thanks for the help everyone - I do miss all the bluefin-dx things now though, so I see you point. Fun!
By the way, there are no dotfiles files or folders associated with this Silverblue derivative installation. I was looking for them to make some modifications. It turned out that Hyprland was installed with Nix. The configuration files, such as hyprland.conf, will be living somewhere else such as /var/usr. That gives me an indication that installing Hyprland via Nix in my current Bluefin-DX might work.
Tested #3 Installing Hyprland using Nix following the instructions here. The installation completes but at the time of starting Hyprland I get some errors related to the absence of these libraries: iris_dri.so
, kms_swrast_dri.so
, swrast_dri.so
.
The only modification to the instructions is exporting a system variable befoire installing nixGL: export NIXPKGS_ALLOW_UNFREE=1
.
Anyway, Hyprland doesnāt work in my laptop installing it via Nix.
I just looked up your missing kernel extensions, and found a couple things that might help:
Is the ostree mesa-dri-drivers
equivalent installed by default on SB 40, or have you layered it? IDK the rpm-ostree
method for checking your equivalent-to-rpm installation status, but you could check your /usr/lib{,64}
directories and see if theyāre there:
ls -1R /usr/lib{,64}/*.so | grep -i -E 'iris_dri|kms_swrast_dri|swrast_dri'
Hereās the official reference for that package if you want to install it - all 3 of the missing libs you referenced are in it:
https://packages.fedoraproject.org/pkgs/mesa/mesa-dri-drivers/fedora-40.html
While I didnāt see a direct match for someone troubleshooting a Fedora system with the same issue, there is an Ubuntu user who was able to run a different application that required the same dependencies using this environment variable. Itād be easy to try it, e.g.:
MESA_LOADER_DRIVER_OVERRIDE=i965 ./Hyprland
reference: libGL error: failed to load drivers iris and swrast in Ubuntu 20.04 - Ask Ubuntu
Anyway, good luck, and thanks for leading the charge!