I have a laptop with 4 GB of RAM that I’d like to use for occasional comic book reading. (It’s a touch screen 2-in-1 laptop that folds over into a tablet configuration.) I use Bazzite on my main PC and I love how low maintenance it is. Are there any immutable/atomic distros that featue XFCE, LXDE, or some other low RAM friendly desktop? Or, should I just layer XFCE or LXDE on top of UBlue Core or make my own image or something? Thanks!
Works, fedora atomic desktops with ostree and no changes. If you want changes using rpm-ostree that will become really slow.
NixOS is also immutable and if you dont stumble over something that needs compilation as it is not in the binary caches, it runs very fine on lower end hardware like my Chromebook. Not a potato but pretty damn slow
I personally am using Fedora KDE on a old chromebook with 4GB of ram but I’m thinking about switching to Fedora Kinoite. From my experience 4GB is plenty for a Linux machine as long as you aren’t using things that are ram heavy. Firefox based browsers do especially well as Firefox writes inactive tabs to disk
I can recommend universal blues base kinoite image as it includes distrobox, all video codecs and has an nvidia variant for the poor nvidia users
I don’t actually need any of that but I am thinking about using Forgejo actions to build a custom image
Yeah that would be the “cloud native” way XD
I have used Gitea actions and container registry before, it is okay.
You could give Fedora Sway Atomic a try, it’s basically Fedora immutable (same as Bazzite), but with Sway (tileable, keyboard centric window manager) desktop. It’s low on resources but I’d say it’s not for everyone.
Or you could build your own Fedora bootc version with whatever desktop environment you like. The syntax is that of Containerfiles and even if you’ve never build a container image before, it’s extremely easy to do.
While I absolutely adore everything
rpm-ostree/bootc, I do think operations involving it are relatively heavy; at least compared to what else is out there.Depending on your (in)tolerance, you might therefore consider opting for something else, instead. Assuming that this list does a considerable job at presenting your options, I’ll try to provide input on some of the more mainstream ones:
- openSUSE’s offerings. AFAIK, it is lighter. Heck, I’d reckon you might not even be able to distinguish it from its traditional counterpart; Tumbleweed. However, its ecosystem is still very much in its infancy. Hence, I don’t recall any of their offerings that don’t rely on GNOME/KDE-Plasma. There used to be Project Greybeard, but it’s far from lively… As for Aeon (i.e. GNOME version) and Kalpa (i.e. KDE Plasma version), they haven’t had a general availability release yet.
- NixOS. I have heard good things regarding how well it does on low-end PCs. However, FWIW, my own testing portrays a different story: I once had an update that resulted in a lot of compilation and my machine was struggling quite a bit. The same machine that handles Fedora Atomic quite gracefully*. Perhaps that was a fluke, but I wanted to point it out. I’d argue
nixdoes handle operations more gracefully thanrpm-ostree/bootcon average, though. - Guix System. Perhaps I’m wrong, but I wouldn’t be surprised if this outdoes NixOS in terms of how gracefully it operates on a low-end system. This is mostly on vibes, though.
- Endless OS. If you liked Bazzite, but want something lighter, then this might be just that. It relies on
ostreeonly and thus doesn’t have the heavier operations fromrpm-ostree/bootc. The goals of the foundation behind it align with enabling low-end hardware. This is reflected in their system reqs. Note that GNOME is still relatively heavy, but you should be served well even on just 4 GB of RAM. - ChromeOS Flex. For completeness’ sake, if you’re otherwise okay with this, then I suppose it’s another option worth considering. FWIW, there’s also FydeOS (and perhaps others).
- VanillaOS. Does something similar to
bootcever since its Orchid release. So, it’s probably not that light. Furthermore, I got many questions regarding the health of its ecosystem. This used to be another serious contender, but I’m afraid it might have missed the boat… - GNOME OS and KDE Linux. While not production-ready yet, these will definitely be interesting in the long run.
- aerynOS. Another project that’s not production-ready yet.
- Nitrux. Definitely one of the more interesting ones. It has been around for quite a while now, but I’ve yet to come across someone that dailies it.
Having said all of that, the gist is basically that atomic distros are still relatively new. As such, I can only recommend Endless OS, Guix System and NixOS. Note that the latter two are rabbit holes, though.
VanillaOS and OpenSUSE immutable ones use BTRFS snapshots dont they? Not sure how VanillaOS does their A/B root.
These systems always involve copying things around and deduplicating them.
Filesystem snapshots are well deduplicated, nixos does that well too though.
VanillaOS and OpenSUSE immutable ones use BTRFS snapshots dont they?
For openSUSE’s atomic offerings, you’re correct. Vanilla OS is a bit more nuanced, though. I don’t quite recall how they did it on their original images. But since Orchid, there is a reliance on OCI images for its updates. Note that
bootcis also contingent upon OCI images, which is why I made the comparison earlier. They behave so similar to one another, that Vanilla OS’ Vib can be used (without too much trouble) to create Fedora Atomic images.As for the usage of Btrfs snapshots on Vanilla OS, I think it doesn’t quite need it because it relies on lvm thin provisioning instead for its ABRoot. However, an attempt to verify this by installing it within a VM failed spectacularly and I don’t think the blame is on me 😅…
I’d argue
nixdoes handle operations more gracefully thanrpm-ostree/bootcon average, though.What do you mean by this? Did rpm-ostree break something?
Sorry, perhaps I should have been more clear.
It was meant strictly in the sense of how much it burdens the system performance-wise. So, in other words, using
nixis easier on your system’s resources thanrpm-ostree(orbootc) is; at least, that has been my experience.In regards to breaking, I’m not sure whether one outdoes the other. Though, I suppose that
nix-by design- would inch this out. But this is basically an ‘internal dispute’ between the crème de la crème; asrpm-ostree/bootcbasically outdoes any other distro package manager that’s not namednixorguix.Fair enough, I never bothered to do any perf benchmarking myself. It’s as you said, at that level, it just comes down to personal preference
Why is immutable a requirement?
Not a requirement, just my preference.
Immutable uses more memory during many operations. You’re probably not going to find anything stable, with a desktop, and all the other bits you’d expect running at under 4G. Safely.
That being said, any other traditional distro is lower maintenance anyway. Not sure why you think immutable is special in that regard.
Why do you think immutable distros use more memory?
Change management on a layered FS, containers everywhere…etc.
Depending on what you’re doing, it can make a big difference. Especially when you’re talking about a 4GB machine with little to no margin of extra working space. Updates will certainly be problematic.
I think updates depend on the system itself, I can only speak about the one I know, bootc and it has no additional overhead in comparison to a regular rpm system. In fact, all that it does in the background is run dnf/rpm in a container and then simply dump that container in a separate partition. Nothing memory heavy happening there.
As for running containers, the memory overhead is negligible, at the order of a couple of megabytes per container at most.
The only strained resource on a immutsble system is arguably disk space, but usually that is mitigated by deduplication.
Yes, but as I said, on a 4GB budget, this matters quite a bit. I run thousands of edge devices on a custom distro with similar constraints, and it adds up quickly. It’s not that it’s insurmountable or anything, but I’m answering the question asked and not getting into the particulars. It’s just a known fact.
FWIW I switched over to Nix recently, and discovered that deploying builds over SSH is a first-class feature.
I wired up remote build pushes from my workstation to my underpowered VPS + antique thinkpad, and it’s been 100% painless. You can definitely make immutable work on <1 GB memory without much fuss if you’re not locked into a single-device model.
Adding a few 100mb of ram usage won’t impact something with 4GB of ram



