Sup penguin people.
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 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.
Universal Blue really is the future…
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)
You could use some sort of caffeine as a workaround. I do since sleep locks don’t always work.
Kde has a disable sleep button in the power/battery icon menu which I use as a work around, still annoying and yet another quality of life issue that Just Works ™ on other platforms
thats me but i cant be arsed maybe one day ill try dailing fedora again
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
This is promising. I’ve got the exact same laptop as you. Laughing at the need to make things complicated to keep your skills up.
Same, I’ve switched all of my workstations to Kinoite and Silverblue over the past 18 months, and couldn’t be much happier about it.
Open your computer and reseat any cables and components that you can.
Maybe even do a memory test with something like MemTest86(?).
Random electric noise and disconnects could cause random corruption issues like this.
Now that you mention it I do get another bug where if I pick up my computer in a certain way it logs me out. I’ve got a Framework 13.
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.
I basically treat this laptop as I would a bigger steamdeck. I video edit, play games, and browse the internet. That’s basically 99% of my use case
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™ 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! :-)
Right? I’ve had these issues with a Framework 13 AMD and have experienced these problems on Kubuntu 23.10, Ubuntu 22.04, and Kubuntu 24.04.
Otherwise the computer runs stably albeit certain flatpaks and snaps just stop working for some reason over time (like BambuStudio and Webcord and a Notion web wrapper and Kdenlive).
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.
When the laptop is from Framework (like OP’s laptop is) and is one of the ‘supported’ distros, and if said distro has a more robust update scheme (related to its immutability), then, quite frankly, its as close to “tailored to your hardware by a team of qualified and paid engineers” as it gets.
It actually is officially supported by the hardware team who builds my laptop. I’m not sure why you had to be so hostile with your wording.
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.
deleted by creator
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.
How is package management different on Bazzite?
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 whatapt
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 throughdnf
.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
(andujust
) 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.
Ah gotcha okay. Probably explains why sudo dnf update/upgrade wasn’t quite doing what I expected in my Bazzite install. Force of habit since I’ve used Fedora and Debian based systems in the past.
Probably explains why sudo dnf update/upgrade wasn’t quite doing what I expected in my Bazzite install.
Exactly.
Force of habit since I’ve used Fedora and Debian based systems in the past.
Understandable.
Bazzite has been amazing for me.
I started with the nvidia base which I was getting some flickering on when using Wayland. Switching to x11 at the login screen resolved that for me.
I recently upgraded my GPU with an AMD card this time and re-basing was super easy. Didn’t have to reinstall any apps or mess with drivers.
This year I stopped using Windows 10. I started on NixOS, then tried Zorin, Mint, and now Bazzite. This one is it.
This also happens to be my first foray into KDE and my god I’m liking it so much better than gnome or cinnamon.
I love KDE. So much flexibility and customization.
I started on NixOS, then tried Zorin, Mint, and now Bazzite.
I feel as if there’s a story with you starting on NixOS and on how it went. I would love to hear about that!
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.
Thank you so much for the reply!
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.
NixOS really seems like a perfect fit in your case.
For desktop, it was incredibly annoying to me to have to change my config file every time I wanted to install a new application.
Interesting. All the declarative distros (I know) operate like that; at least to ensure being declarative. Would you prefer it if a
<insert favorite package manager> install <insert name of package>
would automatically modifyconfiguration.nix
?I still found myself messing with drivers which I hate on any OS.
Fair. Hopefully work on official FOSS drivers provided by Nvidia (and others) will resolve this problem for good in the near future.
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’m glad to hear that you’ve been enjoying Bazzite and KDE!
FWIW, if you’d like to explore how declarative Fedora Atomic (and uBlue, hence Bazzite) are in their current iterations, then perhaps it’s worth looking at BlueBuild and uBlue’s own documentation on this. Though, I imagine that (based on your previous experience with NixOS) you wouldn’t necessarily approve of this. Though, I suppose drivers should work this time around.
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.
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.
Do you mean that there are integrated virtual machines?
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
Yeah kinda. A container has a lot better performance than a virtual machine and can interact with your system
I share the exact same experience with you.
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%)
config creep is solved only partly. I am currently overhauling the kind-of guide here
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
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 formanylinux
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…Thanks for clarifying! I can totally see where that sort of stuff can really mess things up.
My experience with development environments has been a bit better: Node works out of the box, no problem. For Ruby, the workflow took a little setting up (with bundix), but ended up working very reliably. For R, I actually enjoy that I can set up all my packages with home-manager and they get updated in my regular update cycle and it’s not a separate process altogether.
I recommend that you transition instead of switching. That way you have a way to roll back If the distro you are trying out proves not to be what you expected.
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…
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.
Not OP, but speaking as a Linux newb, what is a “userspace” exactly?
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.
That seems to be a common usage of the term, but strictly speaking, “userspace” is anything that’s not the kernel. This includes system-level programs, libraries and settings configured as “root” that can affect all users.
versus globally
So is this a matter of personal profiles? Userspace would be anything within a particular user’s space, if you will?
Affected your user and not the system as a whole, yes.
If you want to be a hyper technical dick like the other person responded, the old way to refer to the term “userspace” is basically anything that doesn’t affect the kernel, HOWEVER, it is now more commonly used to refer to specific local user settings, yes. The old reference was way before people starting writing things to be hyper-local to individual users, as things are arranged now.
Thank you for explaining!
deleted by creator
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.