Look, I’m a Debian user for 15 years, I’ve worked in F/OSS for a long time, can take care of myself.

But I’m always on a lookout for distros that might be good fit for other people in my non-tech vicinity, like siblings, nieces, nephews… I’m imagining some distro which is easy for gaming but can also be used for normal school, work, etc. related stuff. And yeah, also not too painful to maintain.

(Well, less painful than Windows which honestly is not a high bar nowadays… but don’t listen to me, all tried in past years was to install Minecraft from the MS store… The wound is still healing.)

I have Steam Deck and I like how it works: gaming first, desktop easily accessible. But I only really use it for gaming.

So I learned about Bazzite, but from their description on their main site I’m not very wise:

The next generation of Linux gaming [Powered by Fedora and Universal Blue] Bazzite is a cloud native image built upon Fedora Atomic Desktops that brings the best of Linux gaming to all of your devices - including your favorite handheld.

Filtering out the buzzwords, “cloud native image” stands out to me, but that’s weird, doesn’t it mean that I’ll be running my system on someone else’s computer?

Funnily enough, I scrolled a bit and there’s a news section with a perfectly titled article: “WTF is Cloud Native and what is all this”.

But that just leads to some announcements of someone (apparently important in the community) talking about some superb community milestone and being funny about his dog. To be fair, despite the title, the announcement is not directed towards people like me, it’s more towards the community, who obviously already knows.

Amongst the cruft, the most “relevant” part seems to be this:

This is the simplest definition of cloud native: One common way to linux, based around container technology. Server on any cloud provider, bare metal, a desktop, an HTPC, a handheld, and your gaming rig. It’s all the same thing, Linux.

But wait, all I want to run is a “normal” PC with a Linux distro. I don’t necessarily need it to be a “traditional” distro but what I don’t want is to have it running, or heavily integrated in some proprietary-ish cloud.

So how does this work? Am I missing something?

(Or are my red flags real: that all of this is just to make a lot of promises and get some VC-funding?)

  • azvasKvklenko
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    4 hours ago

    Generally the industry shifted in a direction where it heavily relies on containers for running cloud applications. This solves many problems with traditional server systems where you’d be sticking to certain distro, so certain dependencies are in fixed versions, which brings some limitations. Container is an environment to run process in an isolated way so that it had its own root filesystem, its own view on what resources are available, sort of like it was separate machine, but it’s still running on the same machine natively using the same kernel as the host. You can then have multiple of such containers, all serving its narrow purpose and they all come with the complete fs and whatever distro release they are tested with. Nowadays cloud computing is all about containers and they come from images that are built in OCI format using Dockerfile syntax. After building an image, it is typically pushed into registry where it can be pulled from over network to be utilized across different nodes, which makes it pretty easy to scale and propagate changes in cloud environments.

    Now what that means to Bazzite/Universal Blue is that it uses similar tech to deploy the system, though the target here is your local machine. Of course some of the characteristics aren’t relevant in this scenario, but it solves some of the same problem - build predictable and reproducible environment that can be thoroughly tested before publishing. The general idea is similar to how devops build cloud apps: there is CI pipeline that runs the build using giant Dockerfile (or Containerfile, same thing) inside of which they include everything that the system needs (running traditional package manager and act as it was normal Linux distro during the build), which then results as image that’s being pushed to registry. Bazzite users then install updates by pulling new version of the image and ‘rebasing’ to it. It is called rebasing here, because rpm-ostree lets users add additional layers with more packages on top of that.

    EDIT: here’s the Containerfile I’ve been talking about: https://github.com/ublue-os/bazzite/blob/main/Containerfile Might give you some idea on how this works.