I’ve been running various flavours and variations of Ubuntu for a while. I find I have to nuke and reset my laptop every 6ish months because things eventually stop working or I get weird bugs.
Recently I’ve been having this on and off problem where the computer just shows a black screen after turning it on. The only way to fix this is to tap keys repeatedly until a console shows up and it seems to kick the computer into gear and log in. Other times I have to restart 2-3 times before it logs me in.
I’ve had a lot of small issues like that (like having to jiggle the volume knob in the sound mixer to get sound working) and I’m wondering if switching to an immutable distro (like bazzite) would solve this apparent config creep.
I have a Steamdeck and it’s been solid and stable ever since I got it. I know it’s running an immutable distro and after researching a little bit it sounds like they can be more stable.
I’m no power user but I play some steam games and run a local 7b LLM and like to have a virtual machine or two for Windows XP emulation for some retro gaming.
Anyone have any opinions? What are your thoughts on immutable distros (like Bazzite)? Pros? Cons? Success/doom stories?
Edit: I’m back baby. 4 months later and still kicking it with Bazzite. Go immutable if you’re a former windows person and needs a computer to just work the way you’d expect without any configuration. I’m running all my steam games and plugging into my usb c dock for mouse keyboard webcam and 2 1080p monitor. I could never get that working on other distros. The future is immutable 🙌
I've been using Silverblue and Universal Blue's images for at least a couple of years now and although there were a couple of rare instances I had to manually intervene with my system due to issues, the experience is considerably better than a traditional distro.
Silverblue is so good, everything works perfectly out of the box on my hardware (Framework 13 AMD). I was worried I was going to forget how to do anything because it was so easy so I had to make a second partition and install OpenBSD
I used Ubuntu for a long while, then Debian for a new PC because the video card or display just wasn't working on Ubuntu.
Couple of weeks ago I finally tried this distro hopping thing people have been on about. I'd stuck with Ubuntu for so long due to an apparently misguided belief that it was stable.
I'm now using Project Bluefin from Universal Blue, a derivative of Fedora Silverblue and I'm blown away by how good it is. It uses Gnome and the maintainer has packaged a few tweaks to keep it similar in user experience to Ubuntu, along with a fantastic array of great software I never knew existed.
I'd highly recommend it to anyone historically loyal to Debian or Ubuntu.
For gaming you can easily install Bazzite as a container to access Steam. I can't say I fully follow the tech stack that makes it work, but it just does. Whereas my boilerplate Steam install on Debian was completely botched.
Has been working for me. The issues I've encountered so far are all minor flatpak issues (Firefox not allowed to sleep-lock so the laptop screen shuts off watching videos etc)
IMHO you should first figure out what exactly happens/goes wrong with your Ubuntu installations.
Immutable distros might or might not be a solution, but if the core of the problem is really the quality of the Ubuntu updates for example, you could try to run Debian (stable).
But again, the suggestion to use Debian is throwing a solution in the room which might not fit your problem.
Just as a reference point: I am running Debian stable on Laptops, Netbooks, Raspberry Pis and in virtual machines (AMD64/AArch64) and have no weird bugs, everything works for years now and runs smooth.
Concerning the Steamdeck... I love them, they run perfectly fine, but unless you are tweaking them/do more than run games, you cannot really compare them to what happens on your desktop.
It sounds really strange, that you end up with the problems you described given your usage.
My systems are heavily modified/tweaked, so one would expect I would experience the problems you describe.
Given your usage, using an immutable distro sounds like a no-brainer to me, immutable Linux was created with your usage scenarios in mind.
In your shoes I would still try to pin point the root cause of the error, because in theory(TM) your usage should not be a problem for any of the mainstream Linux distros and we don't know if an immutable distro solves your trouble.
Given your 6 montish circle it sounds like some kind of accumulation? If the computer runs stable for several month, IMHO you can rule out hardware problems, unless you have a kernel update every 6 months... :-P
Can you be more specific about your hardware, laptop model and Ubuntu version you are using?
If you ever figure out what happened, or if you try out an immutable distro and it runs for a year for you, give us an update! :-)
Your immutable distro will not be tailored to your hardware by a team of qualified and paid engineers. I'm not entirely sure why the heck do you think immutability is the differentiating factor here.
Ignore everyone here saying fix Ubuntu and try Fedora Kinoite (or Silverblue). Bazzite is probably great too if you are gaming but I haven't tried it.
I finally tried Fedora Kinoite after years of Ubuntu (and related distros) and I genuinely wish I had tried it sooner. Everything just works. I cannot reccomend it enough. It's what I always wanted Linux to be.
Echoing the other sentiments, it's probably a good idea to hunt down why your system is having trouble because distro hopping might not fix it.
That being said I've recently been using bazzite and it's been relatively smooth. You just have to learn a couple (easy) ways to do package management a little differently.
I'm not the one you posed your question towards, but it's related to Bazzite's relation to Fedora Atomic and uBlue.
To put it simply, dnf is the 'source of truth' when it comes to package management (i.e. finding, installing, updating, removing (etc) of packages) on (traditional/regular) Fedora. So, dnf is basically to Fedora what apt used to be to Ubuntu. Sure, you can use Flatpak or any other (additional) package manager. But, there's no need to unless the software you seek is not available for installation through dnf.
Bazzite, on the other hand, does not allow you to install any packages through dnf. Instead, rpm-ostree, flatpak, Toolbx/Distrobox and (exclusive to uBlue projects) brew (and ujust) are provided by default. But, you might have to learn when you'd have to use which and why.
To educate yourself on this, you should definitely consider reading up on the related entry within Bazzite's documentation. In general, there's a lot of very useful stuff in Bazzite's documentation. Therefore, if you intend to use Bazzite, you should definitely read through its documentation.
I had an yearly experience with Nix, but I'm thinking that it is overhead for just a home PC system. You may have more pain with static linkage compared to benefits of Nix reproducability and flexibility. Now is a year I'm on the Fedora Silverblue and this one is a really good balance between complexity and usability.
Out of curiosity, what do you mean by "pain with static linkage"? If my links have broken in NixOS, it was always due to my inability / laziness to set things up correctly.
I have been using NixOS for my daily driver for about a year now, and while it has been a bit of a learning curve to set things up and heavily rewrite my dotfiles, the dependability and availability of packages has been nothing short of amazing. It feels a lot like the final destination for my distro hopping journey.
I use a lot of CLI tools and some system level hackage to get my keybindings just right, so when I tried out Silverblue I had to load in a lot of stuff through rpm-ostree, which was less than ideal. But if OP wants a rock solid system with Flatpak apps, I wholeheartedly second Silverblue.
I mean if you try to use anything like python packages or even try to build python from sources it is painful. The only way to create developer environment is to use something like nex develop shells and you need to care about passing to LD_LIBRARY_PATH all that you need. And nothing downloaded as a binary is not working... For example, if I'm working on a Java-maven project that includes maven-protobuf then it is not working for you because protoc binary for manylinux is made for a dynamic linkage... Overall developer experience is painful. And anything that is not in nixpkgs you cannot just download, build from source and use: you need to pack everything into packages with resolving all the dependencies by hands...
I'm not sure if your issues are related to the distro(s) used and not to the hardware. But if you wish immutable distros...
You can try to use Ubuntu, but installing all the apps as snaps (and/or flatpaks). That will give you immutable-like experience on a regular Ubuntu installation. Otherwise, I'd recommend to try Fedora Silverblue and openSUSE Aeon.
I'd you want immutability and things that just works, snaps are the exact opposite of what he needs. I'm gearing up to swap away from Ubuntu for the same reasons as him, and the snap ecosystem is utterly fucked and accelerating my timetable daily.
I've never seen something so damn broken, and it gets more so every update. It's gotten to the point of where snap store will just straight up log me out of my session out of the blue when it finds an update so it can install it, losing all of my work.
I really wanted to like it. I've used ansible and puppet for work and there, declarative configuration made sense because I need to duplicate the same thing 1000's of times.
For desktop, it was incredibly annoying to me to have to change my config file every time I wanted to install a new application. I still found myself messing with drivers which I hate on any OS.
My distro choices after Nix were meant to reduce the need to mess with drivers. Zorin and Mint have first-run installers for whatever card it detects (Nvidia for me at the time) which worked well enough.
By that point I had read about immutable distros but wasn't sure about them just yet. Since I was on a hopping spree I decided I'd try it out.
When the Bazzite install went well and 99% of the applications I wanted to install were flatpaks anyway, it was a perfect fit. I've been running docker containers on my Ubuntu server for years so BoxBuddy was a natural fit for things that aren't flatpaks (minecraft runs great in one). What's more, KDE has a lot of keyboard combinations the same as Windows by default which made the switch even better for me. One that I had been fighting to add to gnome, which is admittedly small but annoying, the ability to use Meta+period to bring up an emoji selector, was built right into KDE by default?! I couldn't believe it.
Then, I started looking for an equivalent to FancyZones found in Windows PowerToys and... What do you know, that's also built into KDE by default?
Then a friend of mine gave me an AMD graphics card he was getting rid of which was an upgrade to my GTX 1060 I've been using since 2018. Since I had already moved to Bazzite, it was a simple re-base to move to the AMD version and it went off without a hitch.
It's all over, Bazzite and KDE are home for me now.
I use the ublue kinoite-main base image, not one of their very opinionated variants. It is best as a base, better than Fedoras (even though you need to trust Github 100%)
Local stuff in your home is persistent, and /etc is also persistent.
But we are working on that.
Bazzite has a ton of WINE stuff on the system, not really the "immutable small core" principle. At the same time they uninstall Firefox, while Flatpak Firefox does not support all things.
So I recommend to install Fedora Kinoite from the official website and follow the rebase guideline here at the bottom
Unless you've absolutely made the kernel or package manager unusable, there should be no need to reinstall an entire Linux OS. It's not like Windows where the registry changes over time, and the OS will become unstable or quirky. It sounds like you just need to be more diligent about doing things in userspace.
Anything done locally that only affects your user is userspace. Doing configuration changes in userspace versus globally will reduce the likelihood of you breaking something. So making changes in ~/.local, for example, instead of /usr/local.
For me it’s easier a lot of the time to just reformat and reinstall the OS than to troubleshoot every little problem as they arise. It’s great for learning and I’ve certainly learned a lot along the way but for my use case I just want this computer to work with my stuff right off the bat.
Vanilla OS 2.0 looks promising in my opinion. But it's not out yet unfortunately. It's an immutable distro that has integrated containers for all the main Linux distros. You can for example install Ubuntu, Fedora and Arch stuff on the same machine.
no, a container is not a virtual machine. Containers, unlike virtual machines, uses the same kernel as host system. That means you cannot spin up a windows container on linux because windows uses NT kernel and linux uses linux kernel. What containers like that will in fact do is allow you to get applications from different distros as if you were running that distro.
For your use case (windows xp game emulation) there are two options. A virtual machine or using wine. My suggestion is to try first "bottles" and then VM
I have experienced an issue sort of like that in the past, where my computer occasionally won't do anything other than spin the fans, unless there's a working connection to a monitor...