I like the idea of immutable linux distros and would love to use one - but it seems like you will run into tons of issues with apps? no? Anyone has first hand experience?
I have been using these setups since they became available. More or less.
They work very well. Like with everything Linux the more you are aware of how they work and what they do the better off you are when you are using them.
For most desktop applications Flatpak are a win. Distributions really don't have the sources to QA and troubleshoot every single application they share with users. Some, like Ubuntu, have policies on support that might suprise some people (like Universe and Multiverse see no security updates/support besides "community support" if you are using LTS releases)
Distributions do a very good job on a handful of applications and libraries. High profile stuff. But for the majority of things out there it really is up to users to do the testing and reporting. It is the end users doing most of the QA'ng.
Also Flatpak allows you to use arbitrary versions of applications, although that does require some command line use.
So for Flatpak apps that have upstream support they often are better quality then what you'd get out of a typical distribution. I had that experience with some non-Steam games and emulators in Arch. The flatpak versions just were nicer overall.
Of course that isn't true for all flatpak applications.
For things, like setting up development environments and compiler tooling for writing software... or doing a lot of extra stuff with Steam games (like adding on VR support, etc) you can just use distrobox or toolbx.
Of course that is a lot more work. But it is the same sort of work you'd need to do if you were not using Flatpak in the first place.
You are dependent on what the distro ships with. Bazzite team is very trigger happy when it comes to what packages land in the base image.
Removal of discover, changing the default terminal app from ptyxis to konsole and now possibly removal of sunshine. One day you wake up and your favourite app is gone from the base image, because it was "too difficult to maintain".
It's a power struggle between devs and users. One which you can totally avoid by using minimal distros and building your system from ground up.
Bazzite does not ship Fedora flatpaks, the ship flathub. It also isn't immutable (you can layer packages). There are some things that don't work without something like a custom image if it requires a kernel module or something, but the vast majority of things you encounter in just day to day usage work fine.
Bazzite absolutely is immutable, immutability doesn’t mean that you can’t customise the OS, it means that the root volume is booted as a read only container. The entire reason that you have to layer packages instead of just installing them is because rpm-ostree is building a final bootable image by adding the extra packages into the base image. Which is the exact same architecture as Silverblue, that’s the entire reason that Bazzite is based off of Atomic
The Bazzite team would not describe Bazzite as an "immutable" operating system.
/ is read only and /usr is read only, but /root, /usr/local, /mnt, /tmp, /srv, /etc, /opt, and ofc /home all carry mutable state and are not read only. Since the system carries mutable state, immutable is not an accurate term.
A Linux distro that's entirely immutable across the entire filesystem would be pretty useless since it would be crashed. Even live discs have mutable RAM disk directories. As it stands, the term "immutable" came into use in the first place to describe mainly Fedora Atomic using the exact same architecture as Bazzite, since that's what Bazzite is built off of, so the fact that they choose not to call it immutable doesn't invalidate the term, they don't own "immutable" and don't get to unilaterally specify how it's used
Fedora and the Ublue team are making a pivot from immutable to atomic when describing Silverblue and Bazzite because immutable doesn't describe it well enough and doesn't create a good enough distinction from how distros like SteamOS do things.
This is because they want to converge towards where NixOS is in terms of defining an operating system using configuration files but using existing tooling for containers to do so and not a domain specific language like NixOS.
That may be so but the term "immutable" still accurately describes Bazzites current architecture, particularly since atomic systems are pretty much always immutable (since editing the running image while online would by definition be a non atomic operation). As it stands now they're also very much downstream of Fedora Atomic, which uses both terms to describe the bootc/rpm-ostree system because both terms are applicable
Well, it is a little different than using a standard distro, that is for sure, but you can run binaries, AppImages, Homebrew, Flatpaks and probably Snaps too, no problem. As for other packages, you can also install them with rpm-ostree, though this will result in a need to reboot your system, but it works flawlessly too.
You can also install stuff from language repos (like cargo or pipx), but if you want it on you system you'll need to first install the packages with rpm-ostree and reboot. I can also advocate for using containerized workflows, as they run pretty nicely on the system too, so Distrobox and Podman became some of the best tools for me, and they support hardware acceleration too (even NVIDIA). I never used an immutable Plasma distro, but GNOME works as expected (extensions too).
I remember the first release of VanillaOS a few years ago, and a lot of effort was put into developing tools for immutable systems, and I'd say that unless you are into heavy ricing, you're in very good hands with anything based off of Fedora Silverblue (also heard good things about NixOS, but I never used it). Heck, even server loads are going well with immutable, just take a look at what people are doing with NixOS, CoreOS or IncusOS.
The only issue with flatpak that I've ran into is that some apps don't remember network locations. For instance, dolphin emulator. I have all my games within a folder on a smb share.
I can add the folder and the games appear just fine. However, once I reboot the machine and open dolphin once more, the network folder is not found and so I have to delete and then re-add the folders my games are stored in. I'm using GNOME desktop and so I'm not sure if it's a flatpak issue or a GNOME issue.
I do think it's good that you have to explicitly allow this. Seems like the real problem is that there should be an easier UI to make make it happen. It should be something that feels "closer" to the actual application you're using.
what do you mean by "tons of issues"? I've been using linux on the desktop for many years. I switched to bluefin about a year and a half ago and it's gone pretty well. I'm also a developer. I use flatpaks for all my normal use GUI applications, but all dev stuff from a container.
Flatpaks are actually very bad and have never worked for me. There is always an issue. Appimages work much better for me. If I can't find the app in the AUR I'm getting an appimage.
By default most of the flatpaks for fedora will come from the flatpak repos they maintain themselves and not flathub. This comes with some inherent bugs and kinks compared to flathub.
As to why this is the case it's down to legal liability, US law heavily limits the redistribution of software. As a result Fedora is forced to redistribute flatpaks that it knows is kosher with US law by making sure no patent/copyright encumbered libraries or packages are included in these packages.
Users can enable flathub in its entirety since Fedora 38, just make sure to specifically select flathub for installing a flatpak though.
I wouldn't say a ton of issues. I am using Kinoite and there is definitely a learning curve, and it helps if you have some understanding of containers, but it's not too bad. I haven't found anything that doesn't work yet, but some things do require a bit of digging for the right solution.
Can someone explain the hype for inmutable systems?
Do you have adictions to installing packages so you need to limit yourself on purpose to avoid doing It? Like people with dumbphones avoiding social media or something?
What's the point of limiting yourself to a specific configuration when the benefits of these distros exist on any other distro + Android is such a shitty ecosystem due this kind of OS development
I know they have rollbacks, but also BTRFS has rollbacks and Fedora already uses btrfs by default
Long time user of Ubuntu, Debian and Arch. I found over many years that distribution version upgrades and rolling package updates have papercuts. The answer from the community for these problems were just "do a fresh install".
With atomic distributions, it's a validated image out of the box. With it there are no iterative package upgrades, some of which may require manual intervention. No checking the distro news to see what packages have problems updating or when to upgrade to the next major version because of bugs in the upgrade process. The whole base system is changed in place, with the option to roll back. I haven't had any issue with an upgrade yet, and rpm packages can still be layered with rpm-ostree so I have the full breadth of Fedora packages available to me.
Lastly, I can actually switch distributions in place using a rebase, so if I got tired of Bazzite, I could change to Aurora or Fedora Kinoite with just a single console command. All of my home directory and application files remain unchanged. No reinstall required.
First. You can avoid installing packages to minimized these issues so you keep am inmutable like system.
Second, AFAIK only Arch has these issues unless you add other repos. But then the issue doesn't come from inmutable VS not inmutable but from installing native software
You can change the distro without moddifying the home. I don't know why you think this is different. You can dualboot Fedora and Ubuntu and share thehome partition. This is the whole point of a home partition BTW. Not just that but changing the base doesn't always work. If the distro A needs 20 GB more than the distro B, you can not change the base without losing data on your home.
And It kills the development of tools like WM as they would have to develop and maintain entire distros just to be able to get users
The 44 release will be much bigger in terms of changes, this seems iterative. It's a shame they removed sunshine, they should have kept it in the base image. I really would prefer they don't use Brew for it.
kboppycringling6@reddit
I run into some issues with flatpaks on fedora and try to avoid them because of that.
I like the idea of immutable linux distros and would love to use one - but it seems like you will run into tons of issues with apps? no?
bawng@reddit
I've had issues with Steam on Flatpak where a bunch of games won't work that do work when installed through dnf.
And Firefox have had issues with some video playback that I don't have otherwise.
natermer@reddit
I have been using these setups since they became available. More or less.
They work very well. Like with everything Linux the more you are aware of how they work and what they do the better off you are when you are using them.
For most desktop applications Flatpak are a win. Distributions really don't have the sources to QA and troubleshoot every single application they share with users. Some, like Ubuntu, have policies on support that might suprise some people (like Universe and Multiverse see no security updates/support besides "community support" if you are using LTS releases)
Distributions do a very good job on a handful of applications and libraries. High profile stuff. But for the majority of things out there it really is up to users to do the testing and reporting. It is the end users doing most of the QA'ng.
Also Flatpak allows you to use arbitrary versions of applications, although that does require some command line use.
So for Flatpak apps that have upstream support they often are better quality then what you'd get out of a typical distribution. I had that experience with some non-Steam games and emulators in Arch. The flatpak versions just were nicer overall.
Of course that isn't true for all flatpak applications.
For things, like setting up development environments and compiler tooling for writing software... or doing a lot of extra stuff with Steam games (like adding on VR support, etc) you can just use distrobox or toolbx.
Of course that is a lot more work. But it is the same sort of work you'd need to do if you were not using Flatpak in the first place.
Latlanc@reddit
You are dependent on what the distro ships with. Bazzite team is very trigger happy when it comes to what packages land in the base image.
Removal of discover, changing the default terminal app from ptyxis to konsole and now possibly removal of sunshine. One day you wake up and your favourite app is gone from the base image, because it was "too difficult to maintain".
It's a power struggle between devs and users. One which you can totally avoid by using minimal distros and building your system from ground up.
ueox@reddit
Bazzite does not ship Fedora flatpaks, the ship flathub. It also isn't immutable (you can layer packages). There are some things that don't work without something like a custom image if it requires a kernel module or something, but the vast majority of things you encounter in just day to day usage work fine.
Dangerous-Report8517@reddit
Bazzite absolutely is immutable, immutability doesn’t mean that you can’t customise the OS, it means that the root volume is booted as a read only container. The entire reason that you have to layer packages instead of just installing them is because rpm-ostree is building a final bootable image by adding the extra packages into the base image. Which is the exact same architecture as Silverblue, that’s the entire reason that Bazzite is based off of Atomic
ueox@reddit
Well its a game of definitions, but https://docs.bazzite.gg/General/terms/
/ is read only and /usr is read only, but /root, /usr/local, /mnt, /tmp, /srv, /etc, /opt, and ofc /home all carry mutable state and are not read only. Since the system carries mutable state, immutable is not an accurate term.
Dangerous-Report8517@reddit
A Linux distro that's entirely immutable across the entire filesystem would be pretty useless since it would be crashed. Even live discs have mutable RAM disk directories. As it stands, the term "immutable" came into use in the first place to describe mainly Fedora Atomic using the exact same architecture as Bazzite, since that's what Bazzite is built off of, so the fact that they choose not to call it immutable doesn't invalidate the term, they don't own "immutable" and don't get to unilaterally specify how it's used
Lower-Limit3695@reddit
Fedora and the Ublue team are making a pivot from immutable to atomic when describing Silverblue and Bazzite because immutable doesn't describe it well enough and doesn't create a good enough distinction from how distros like SteamOS do things.
This is because they want to converge towards where NixOS is in terms of defining an operating system using configuration files but using existing tooling for containers to do so and not a domain specific language like NixOS.
Dangerous-Report8517@reddit
That may be so but the term "immutable" still accurately describes Bazzites current architecture, particularly since atomic systems are pretty much always immutable (since editing the running image while online would by definition be a non atomic operation). As it stands now they're also very much downstream of Fedora Atomic, which uses both terms to describe the bootc/rpm-ostree system because both terms are applicable
lurkervidyaenjoyer@reddit
And without the infighting that NixOS finds itself in all the time.
bpoatatoa@reddit
Well, it is a little different than using a standard distro, that is for sure, but you can run binaries, AppImages, Homebrew, Flatpaks and probably Snaps too, no problem. As for other packages, you can also install them with rpm-ostree, though this will result in a need to reboot your system, but it works flawlessly too.
You can also install stuff from language repos (like cargo or pipx), but if you want it on you system you'll need to first install the packages with rpm-ostree and reboot. I can also advocate for using containerized workflows, as they run pretty nicely on the system too, so Distrobox and Podman became some of the best tools for me, and they support hardware acceleration too (even NVIDIA). I never used an immutable Plasma distro, but GNOME works as expected (extensions too).
I remember the first release of VanillaOS a few years ago, and a lot of effort was put into developing tools for immutable systems, and I'd say that unless you are into heavy ricing, you're in very good hands with anything based off of Fedora Silverblue (also heard good things about NixOS, but I never used it). Heck, even server loads are going well with immutable, just take a look at what people are doing with NixOS, CoreOS or IncusOS.
Blu3iris@reddit
The only issue with flatpak that I've ran into is that some apps don't remember network locations. For instance, dolphin emulator. I have all my games within a folder on a smb share.
I can add the folder and the games appear just fine. However, once I reboot the machine and open dolphin once more, the network folder is not found and so I have to delete and then re-add the folders my games are stored in. I'm using GNOME desktop and so I'm not sure if it's a flatpak issue or a GNOME issue.
notam00se@reddit
Intel and AMD gpu's don't have compute libraries/runtime for flatpak for the most part.
digikam, darktable, blender have zero OpenCL/compute ability for Intel GPU. Normal atomic workarounds do work (layer or distrobox)
Nvidia has a cuda flatpak runtime
Business_Reindeer910@reddit
I do think it's good that you have to explicitly allow this. Seems like the real problem is that there should be an easier UI to make make it happen. It should be something that feels "closer" to the actual application you're using.
Silent_Ad_9963@reddit
Been on silverblue forany many versions now , using mostly flathhin flat pack with 0 issues
Business_Reindeer910@reddit
I still think it's not great for a lot of dev related applications, so I just do'nt use flathub for those applications. :)
vljukap98@reddit
Yeah I'm on Bluefin, so Silverblue basically, same, almost 0 issues with flatpak.
StartersOrders@reddit
Are you using Fedora or Flathub flatpaks? The former aren't worth using.
linuxjohn1982@reddit
What does this mean?
Fedora isn't worth using?
Business_Reindeer910@reddit
Fedora ships their own flatpaks with their own fedora based runtimes. That is what they are saying are not worth using.
I know I don't use them.
Business_Reindeer910@reddit
what do you mean by "tons of issues"? I've been using linux on the desktop for many years. I switched to bluefin about a year and a half ago and it's gone pretty well. I'm also a developer. I use flatpaks for all my normal use GUI applications, but all dev stuff from a container.
donut4ever21@reddit
Flatpaks are actually very bad and have never worked for me. There is always an issue. Appimages work much better for me. If I can't find the app in the AUR I'm getting an appimage.
Lower-Limit3695@reddit
By default most of the flatpaks for fedora will come from the flatpak repos they maintain themselves and not flathub. This comes with some inherent bugs and kinks compared to flathub.
As to why this is the case it's down to legal liability, US law heavily limits the redistribution of software. As a result Fedora is forced to redistribute flatpaks that it knows is kosher with US law by making sure no patent/copyright encumbered libraries or packages are included in these packages.
Users can enable flathub in its entirety since Fedora 38, just make sure to specifically select flathub for installing a flatpak though.
linuxwes@reddit
I wouldn't say a ton of issues. I am using Kinoite and there is definitely a learning curve, and it helps if you have some understanding of containers, but it's not too bad. I haven't found anything that doesn't work yet, but some things do require a bit of digging for the right solution.
giannidunk@reddit (OP)
Bazzite with Flathub for apps and Homebrew for CLI tools is rock solid. Strongly recommended.
SeniorMatthew@reddit
KDE Linux, Distrobox + Flatpak is perfect combo, haven't had any issue.
Ok-Winner-6589@reddit
Can someone explain the hype for inmutable systems?
Do you have adictions to installing packages so you need to limit yourself on purpose to avoid doing It? Like people with dumbphones avoiding social media or something?
What's the point of limiting yourself to a specific configuration when the benefits of these distros exist on any other distro + Android is such a shitty ecosystem due this kind of OS development
I know they have rollbacks, but also BTRFS has rollbacks and Fedora already uses btrfs by default
librepotato@reddit
Long time user of Ubuntu, Debian and Arch. I found over many years that distribution version upgrades and rolling package updates have papercuts. The answer from the community for these problems were just "do a fresh install".
With atomic distributions, it's a validated image out of the box. With it there are no iterative package upgrades, some of which may require manual intervention. No checking the distro news to see what packages have problems updating or when to upgrade to the next major version because of bugs in the upgrade process. The whole base system is changed in place, with the option to roll back. I haven't had any issue with an upgrade yet, and rpm packages can still be layered with rpm-ostree so I have the full breadth of Fedora packages available to me.
Lastly, I can actually switch distributions in place using a rebase, so if I got tired of Bazzite, I could change to Aurora or Fedora Kinoite with just a single console command. All of my home directory and application files remain unchanged. No reinstall required.
Ok-Winner-6589@reddit
First. You can avoid installing packages to minimized these issues so you keep am inmutable like system.
Second, AFAIK only Arch has these issues unless you add other repos. But then the issue doesn't come from inmutable VS not inmutable but from installing native software
You can change the distro without moddifying the home. I don't know why you think this is different. You can dualboot Fedora and Ubuntu and share thehome partition. This is the whole point of a home partition BTW. Not just that but changing the base doesn't always work. If the distro A needs 20 GB more than the distro B, you can not change the base without losing data on your home.
And It kills the development of tools like WM as they would have to develop and maintain entire distros just to be able to get users
doublah@reddit
Linux user confused that people want their software to just work with its dependencies.
Ok-Winner-6589@reddit
Yes because you can't install flatpaks without inmutable systems...
frost7249@reddit
Except sometimes the software doesn't actually work and immutable distros prevent you from fixing it...
doublah@reddit
In which case, it probably doesn't work for others as everyone else has the same package, so you can just report it to the maintainers.
Shark_lifes_Dad@reddit
No
InTheTreetop@reddit
Hooray! My all AMD machine can finally hibernate again. No more powering on the computer every morning like some kind of prehistoric caveman.
dawret@reddit
Is that because of the new kernel or some other change? I have the same issue on Bazzite currently
librepotato@reddit
The 44 release will be much bigger in terms of changes, this seems iterative. It's a shame they removed sunshine, they should have kept it in the base image. I really would prefer they don't use Brew for it.