I like the idea of Immutable Linux distributions because the OS file system is mounted READ-ONLY. This prevents your os from getting corrupted by accidental deletes, bad upgrades, or wrongful editing, of important system files ensuring your os will always boot the way it did the last boot. Also, they use Atomic upgrades where the os is upgraded all at once making sure the files are tested together. I decided to try a couple Immutable Linux Distributions recently, this is what I liked and disliked about them.
The first one I decided to try is called Sway Atomic based off of the Fedora Silverblue distro which seems to be one of the most popular immutable distributions, but using the Sway window compositor instead of Gnome. I have used Sway in the past and since I prefer non-desktop environments it was nice to see this option. I downloaded the iso and created my usb boot stick.
The install was flawless and similar to other Fedora flavors I had installed previously, and in a few minutes I booted into my new OS. This distribution uses rpm-ostree to install new software and perform upgrades. I performed 'rpm-ostree upgrade' and everything upgraded just fine. Rebooted, and then installed htop by 'rpm-ostree install htop'. It installed fine but when typing 'htop' at prompt it didn't start, thats when I learned that everything you install on immutable systems require a reboot. That can be a bit annoying when installing something as tiny as htop or an editor, however I was ok knowing that once installed it is added to the image and available after reboot. Where I ran into issues is when I decided the nouveau nvidia driver is too slow and I need the proprietary nvidia driver for some graphics intensive programs to work without lag. Of course its not included in the default available applications so will need to set up the rpmfusion repositories. I did this by following the directions on the fedora docs page:
$ rpm-ostree install \ https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \ https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm $ systemctl reboot
The repostitory was active after reboot and was able to install the nvidia driver, however after another reboot, I could never get the driver to load during boot. I spent about two hours trying to get the driver to work trying to read everything I could online but finally got frustrated and decided to install another Immutable Linux Distribution called Bazzite that is made for gaming with nvidia and other things already configured.
The Install of Bazzite was similar to the previous install of fedora so no issues there, after boot it did indeed have nvidia drivers pre-installed. Was able to install a few other programs without any issues and was quite happy with everything working how I like. Except, only one thing wasnt working, the keyboard lights on my razer huntsman keyboard. I normally install openrazer and a program called polychromatic to get the lights working how I like. On Arch linux this is very simple to do. However, Bazzite even though its made for gaming, didnt have openrazer available in its repository. I installed rpmfusion repositories and still no openrazer. I searched around and found out how to install direct from github. I got openrazer installed did the reboot and ran into the same issue I had with the nvidia driver previously. I cant seem to get the new driver to load at boot. I spent around another two hours on this and finally gave up and installed my trusted Arch linux where everything just works and installs as expected.
In conclusion, that ended my experimentation with Immutable Linux Distributions. I think it's an interesting concept but mainly for people that want to install the OS without making any changes to their computer. The concept of Atomic upgrades where the whole os is upgraded at once is nice for relibility but also harder to install and run something immediately. It may be my lack of knowledge of how drivers are loaded at boot on these distributions, but I was unable to find much documentation on immutable distros since most docs are written for standard linux distributions.
I found out through this experiment that I need an os where I am able to make changes to system files for new software, upgrades, or to edit and modify files as I need.
