I borked my Linux install so I was interested in trying out Fedora Silverblue as a more immutable operating system that I’m less likely to mess up. I’m starting this thread to collect my thoughts as I try and figure out how to make Silverblue usable on the Framework Laptop and to see if anyone else in the wilderness is doing this.
Setup Notes
Follow most of the notes on the Fedora wiki in this forum. Remember that out-of-the-box, your installation will have issues including no WiFi support. Plug in ethernet, run a full system upgrade with rpm-ostree upgrade and once you’re on the latest Silverblue, WiFi will work.
So far these are issues I’m experiencing:
Cannot add fingerprints to login to GNOME through the fingerprint reader.
The workaround to save battery life by enabling deep sleep doesn’t work.
Installing Flatpak apps that use the camera like ‘Cheese’ do not work.
Update: The fingerprint reader now works a little more by doing an upgrade to Fedora 35 Silverblue. Libfprintd is bumped in that release to a version compatible with Framework.
rpm-ostree rebase fedora:fedora/35/x86_64/silverblue
Any attempt to enroll fingerprints closes abruptly with Enroll result: enroll-disconnected, but at least the reader is recognized now.
I’m an avid wireguard user, but Mullvad app does not install correctly on Silverblue. The solution is to download a dump of your VPN configuration files from your Wireguard VPN provider, and then mass import them into nmcli.
for i in find mullvad*.conf; do echo nmcli connection import type wireguard file $i; done
There are several ways you can go about getting codecs working. The first one is to layer non-free codecs on-top of rpm-ostree. The advantage here is that your System Firefox install will work flawlessly. The issue here is that upgrading between Fedora versions can be difficult and rpm-ostree layering is discouraged.
I’ve settled on using the FlatHub Firefox version, which bundles codecs with the browser. I can then use a video player like VLC to play video locally. This satisfies all the use-cases for non-free codecs for me.
Firefox Instructions
flatpak install firefox
Specify the version from FlatHub.
After installation completes, if you have fractional scaling enabled, you’ll notice that it is not working well on Firefox FlatHub version. I solved this by installing FlatSeal and enabling Wayland for Firefox.
Finally, now that you have the FlatHub version installed, you could remove confusion by deleting the system Fedora Firefox by running:
rpm-ostree override remove firefox
Thus you have a Firefox build that supports fractional scaling and has support for non-free codecs.
There’s a better way to handle rpmfusion when trying to rebase to Fedora 36. Replace them with the non-versioned repo. This way, you won’t have to go through this when 37 is released:
I am going to try this, I have been an ubuntu server user for a long time, but it seems the internet concurs that the new hotness is fedora, and frankly an immutable filesystem does seem like a thing worth supporting. I wasn’t excited about dnf, but seeing that toolbox will let me create an ubuntu server commandline, I feel confident this can work well for me.
Today I rebased onto Fedora 37. So far, I’m not seeing any backslide in hardware compatibility in doing so. Fingerprint scanner continues to work just fine.
The only issue I encountered during installation was with the fact that I use flatpak Firefox which includes Codecs, instead of using Fedora’s packaged Firefox.
I was able to get around this by following instructions in this post from the Fedora forums. Essentially, we relayer the Firefox RPMs, reboot, rebase on top of Fedora 37, reboot, and then remove the Firefox RPMs once more.
Note: When that post asks you to rebase, the command is for Kinoite, the KDE respin of Fedora. Make sure to rebase on top of Silverblue instead. I made that mistake once and found myself booting into Plasma Desktop. Thankfully this is easily fixed with rpm-ostree rollback.
I have desktop scaling set at 150%, which is my personal sweet spot.
Electron apps do not play nicely with this scaling, which is very annoying.
The one work around I have found is to edit the .desktop file to force the Electron Apps to run with Wayland instead of X11. I’ve only had success with Signal Desktop so far. Todoist, Spotify and VS Code all do not work.
To make this work,
sudo vi /var/lib/flatpak/app/org.signal.Signal/current/active/export/share/applications/org.signal.Signal.desktop
and then locate the Exec line and append this at the end:
@treehouse_clown thanks for this. I’d arrived at the same conclusion as you, though I’ve run into a slight problem. There is a 1-pixel sized space between the titlebar and the Signal app itself. There is some tearing, esp when changing workspaces in GNOME. Also, the app always launches in the tray minimized with Windows Decorations enabled.
I did have success with vscode though, I added this to Exec in a local .desktop file: Exec=/usr/share/code/code --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform=wayland --unity-launch %F
Well, almost a year later, I’d heard of better HiDPI support for electron apps in KDE and I wasn’t disappointed. Everything looks a lot more crisp and I didn’t have to worry about any manual patching.
I’ve switched to Kinoite for now. Luckily switching between desktop environments with an immutable system is seriously easy.