Issues running Fedora Silverblue on the Framework Laptop

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.
4 Likes

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.

2 Likes

Getting Deep Sleep Working

  • The instructions in this post will not work because adding kernel arguments on Fedora Silverblue involves using rpm-ostree. See this wiki.
  • To enable deep sleep, run the following command in terminal and then reboot.
sudo rpm-ostree kargs --append='mem_sleep_default=deep'
systemctl reboot

Then confirm that deep sleep is now enabled by running

cat /sys/power/mem_sleep 
s2idle [deep]

Thanks

Timothée Ravier for helping me with this on the Fedora Forum.

5 Likes

Wireguard

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

Then you can connect to wireguard through nmcli.

nmcli  connection up $YOUR_CONNECTION_NAME_HERE

GNOME is not very WireGuard friendly now. Tracking an open ticket for applet Wireguard support and for support in Network Control Center.

Further discussion on this Silverblue forums thread.

2 Likes

Codecs/Firefox

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.

3 Likes

The beta version of Silverblue 36 is out. May be this will fix some issues.

2 Likes

I’m rebasing to Fedora Silverblue 36 now to try it out. I’ll keep this thread updated.

2 Likes

Fedora 36

Fedora 36 is out today! For those of us with rpmfusion enabled, I was able to rebase onto 36 with this command:

rpm-ostree rebase fedora:fedora/36/x86_64/silverblue --uninstall rpmfusion-nonfree-release-35-1.noarch --uninstall rpmfusion-free-release-35-1.noarch --install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-36.noarch.rpm --install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-36.noarch.rpm

Fingerprint reader login for me is now working out-of-the-box!

This is one of the final things for me to sort out before Silverblue can be my daily driver. :slight_smile: I resolutely recommend it now.

1 Like

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:

sudo rpm-ostree update \ 
            --uninstall rpmfusion-nonfree-release-35-1.noarch \
            --uninstall rpmfusion-free-release-35-1.noarch \
            --install rpmfusion-free-release \
            --install rpmfusion-nonfree-release

After that, rebase to 36 and you should be good to go.

3 Likes

That’s amazing, thank you!

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.

Fedora 37

  • 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.
2 Likes

Proper HiDPI Support for Certain Electron Apps

  • 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:

-enable-features=UseOzonePlatform -ozone-platform=wayland --enable-features=WaylandWindowDecorations

This makes Signal app look nice and beautiful.

If anyone has any ideas to get other Electron apps playing nicely with fractional scaling, I’m all ears!

2 Likes

Thanks for this @treehouse_clown

Just got set up on Fedora 38 and getting Signal looking better with scaling is one of the first tasks I’ve been attempting.

Do you know if there is a way to set the window decoration to dark mode?

@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.