What are cons of gaming optimised immutable OS for general use?

Given the touted stability and reliability of immutable OSes, why wouldn’t every immutable OS be gaming optimised with optimised kernel etc. What are the disadvantages of such optimisations for an immutable OS?

Better performance — to the extent that it’s real and not just a bunch of marketing hype — benefits everyone, not just gamers. For example it can yield less power draw (and therefore longer battery life) when not gaming.

The downsides of immutable gaming OSs are similar to the downsides of immutable OSs in general: reduced flexibility to tinker with and customize the highly technical base OS components, and greater complication in acquiring and integrating software that’s not available in a GUI app center.

In exchange, you get benefits like better stability and reliability, the opportunity for built-in OS-level rollbacks when there are problems, a more complete out-of-the box experience, and a nicer experience of getting and updating apps that are available in a GUI app center.

3 Likes

Thanks for your reply @ngraham . If there are no disadvantages specific to being gaming optimised, then will KDE Linux be optimised for gaming like Bazzite claims to be?

Well, what does “gaming-optimized” mean, really? We’d need to see if any of those specific things make sense for KDE Linux.

Something that Bazzite does is pre-install Steam on the base OS. Which makes sense for a “gaming-optimized” OS. But makes less sense for a general purpose OS, since you can get Steam yourself easily enough.

It appears that another thrust is their documentation which is full of gaming-oriented topics like modding, performance tweaking, troubleshooting, etc. Some of this may make sense to document for KDE Linux too.

And so on. It would need to be determined on a case-by-case basis.

1 Like

For gaming, immutable is a boon that it has a certain inherent resistance to installing things at the core, which means performance. Playstation and most gaming consoles take this a/b approach to a clean os upgrade, and works nicely for a tightly controlled ecosystem.

For more general use with or without gaming, one negative I keep finding among immutable os’ in general is that none really support integrated raid/luks. I come from an enterprise and service provider background so redundancy is a real concern, and I never use a box without some level of redundancy or encryption if I can help it, so it’s a real issue for me.

Another is vpn use, which if you require a specific vendor software for a connection ala cisco/fortinet, it usually requires root-level tweaking with tun and firewall rules. I use zerotier to connect friends and family to my game servers and storage, and it’s not always cut and dry to get it working with immutable as it should be. Using Bazzite on an asus rog ally for gaming, I got zerotier on it, but it was hacky and had to break the immutability for it.

Recently testing Universal Blue, Fedora’s immutable distro, I was pleasantly surprised to see it comes with tailscale by default installed which is more mainstream than zerotier for personal/buisness vpn, so it seems folks are coming around to the notion.

Can you quantify this? What’s missing from the OSs specifically to support these?

Ok, maybe I should say none easily support this, ie any gui-based installers that allow for raid/encryption during installs. Even Universal Blue took manual provisioning for setting up mdraid+luks, but then mostly worked to allow for gui install easily after that to just sort of dump the install to the btrfs I already setup for it. I’d asked AI to research this a year or so ago, and again recently, and uBlue was about the closest it could find.

I did check out KDE Linux for an immutable option, but there again didn’t seem any inherent raid support during install. I could maybe hack around it some, but nothing “easy” ala baked into installer.

I guess raid support is always a little dubious, as I remember having to always use ubuntu “server” installs vs desktop to support raid, and about the time I stopped using ubuntu circa 2018 they stopped supporting even that with debian installer.

I’d love to know if wrong, I’ve not personally explored each and every immutable, but I have tried a couple such as BlendOS, Bazzite, and SteamOS itself and found all lacking for raid/luks.

Just to elaborate some, really what I want/need from an os is redundancy, install to two or more disks, and encrypt as much data as possible at rest. Even with gaming, with anything really. It’s a cold world.

I would like for an immutable installer to just ask 1) would you like encryption? and 2) would you like redundancy? Yes and yes please.

Last time I was hacking around with BlendOS as I do love arch as a rolling os, and making it immutable would be ideal, but BlendOS is as close to that as I could find but still fell short. There was some movement to add raid support, but no one seemed to care otherwise and died on the vine.

Trying Universal Blue, it was ideal for having general fedora backing for general packages that need to be installed at the os level, and rest I’m good with living in distrobox, which it’s built for seemingly. I had to manually setup the disks, but it worked with a basic scripted setup to do gparted disk partitions, mdraid, luks setup, btrfs, and otherwise gui install to that. Still some weirdness like EFI sync across fat32 is necessary after, but close enough as no one else seems to care.

Universal Blue is probably going to be my next iteration of personal laptop os at this point, either rebuilding my current rig or buying a new laptop if I can find some decent hardware for disk redundancy, which is a whole other topic. I’ve been waiting for a new laptop hardware, but my old thinkpad t15g g2 is hard to beat with 4 sodimm slots for 128gb ram, 3x m2 slots, and a 3080rtx gpu. I had hopes for Framework 16, but lame disparate disk slots for redundancy kill it imho.

Hmm the issue raised about raid support in immutable OSes made me realise the custom driver that I have to use to get my fingerprint reader to work probably won’t be available. Presumably adding it would not be possible in an immutable distro?

It gets weird with immutables but you can generally insert drivers somewhat, though seems discouraged. With Bazzite to get zerotier working I had to break the immutability to install it and get working, but updating would overwrite it, and I have to repeat.

Most seem to have a means of doing so, but it sort of pops the bubble of perfection, and taints the install then. I don’t need a lot usually, but vpn stuff is sort of a fundamental need for me in my line of work.

1 Like

@mikus thanks, that’s very helpful. For what it’s worth, I very strongly want what you want as well. Btrfs in particular is really designed for RAID. Because it’s the only filesystem type we support for the / partition in KDE Linux, it makes perfect sense to work towards easily supporting it.

Note that LUKS encryption is already one checkbox in the installer. So that’s already covered.

For hardware that isn’t supported out of the box on KDE Linux, is it possible to add drivers? If so, does that ruin immutability or is there a clever solution offered by the distro?

Also what about things like input remapper - can they work on KDE Linux?

Had a quick look at input-remapper, and as far as I can see:

  • Right now, it wouldn’t work straightforwardly on KDE Linux because it assumes it’s installed in /usr/bin
  • But in principle, there’s nothing about the architecture which is immutable-unfriendly. It needs to:
    1. Install its Python code somewhere (which could be somewhere that’s writeable on an immutable system - like /opt or /usr/local/bin)
    2. Create a systemd service (which can be done by dropping files in /etc)

It doesn’t do anything kernel-level, which would be more fundamentally difficult to make immutable-friendly.

1 Like

This is correct. For example, to install Tailscale you need to install it to /opt and change the paths in service files in /etc. (/usr/local is not writable right now, but there is a proposal.

Aha, thanks. Different immutables seem to do this one differently, e.g. on Fedora-based systems, /usr/local is a symlink to /var/usrlocal which is writeable.