A difference in design base. Bazzite is based on Fedora Atomic, which is more like a “bootable container”. The OS is an entire image that isn’t supposed to be modified in the traditional way. Users CAN still modify the image, but does so in the container way by either:
- Mounting from a mutable directory (not recommended unless you know what you’re doing; this is how people install Nix - the actual Nix apps are in
/var/
but it is mounted to /nix
).
- Creating a transient overlay (not very familiar with this).
- Layering on top of the base image (this is what
rpm-ostree install
does - if you can find/make an rpm file for your changes, you can just install it this way)
- Creating your own image which is a lot easier than you’d think (image-template is just two clicks to get started, blue-build takes a bit longer but is pretty much just click through the setup process as well).
The general idea is to use containers technology and philosophy to make a more stable and reliable host OS for you to run all your apps in, and then encourage users to modify their system in proper, safer, reversible, and trackable ways.
From a maintainer perspective, this make things a LOT easier. Updates are delivered in an entire image, and should there be any issues, it is generally simpler to dissect since the user generally isn’t willy-nilly adding changes to the base OS in a way that is hard to verify. But the biggest benefit is that upgrades are done “atomically”, everything gets applied and you don’t need to worry about it creating a “dependency hell” that mess with the system (see Linus Tech Tips’ first Linux Challenge for what that could look like at its worst - it’s the “yes, do as I say” part).
But user also benefits, beyond having reliable updates. Correct me if I’m wrong, but on SteamOS, you only really has the first item on my list above as your option since if you have updates, it’ll just replaces whatever changes you made to the root? Well, with Fedora Atomic, as long as you follow the proper way of doing it, you can still modify EVERYTHING in the system. Bazzite would not EXIST if we couldn’t install Steam itself to root, install alternate drivers, kernel, and kernel modules, and ship everything else we want on top of it. YOU can make those changes yourself, and it gets applied forever. It is also possible to rebase your system or your image builder to something else as well.
I think the model is better than we have on SteamOS. On SteamOS, everything is simpler, yes. But the benefit of Fedora Atomic is that you can still do everything you want by using the method they’ve included to modify the image your OS is running on. And it seems like a lot of people agrees this is a great model to use, as other OS are looking to try the same underlying technology as well - I believe there is work to get a similar “bootable container” experience with Debian as well?
Regardless, I understand if you disagree since this seems so complicated. But from a user perspective, think of it like making sure changes to your Windows system folders are done in a proper way instead of any program just randomly modifying it at their convenience.