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?)
The buzz word is not aimed at the regular gaming nerd. It is aimed at gaming nerds who are also developers. Universal blue, the project behind Bazzite, Bluefin, and Aurora, aims to market to developers to use their systems first, on the basis of the tech backend. So then they make the cool FOSS things that the nerd public can use. Cloud native just means that something is engineered and made to make use of the container based devops pipeline.
For example, an atomic immutable OS that is meant to be developed and distributed via the container infrastructure (this is what Universal Blue is). So, instead of working on making an OS the regular way, collecting packages and manually connecting and tidying up absolutely every puzzle piece so it fits together, then pushing it through the installer packaging wizard, etc. This OSs are made by taking an already existing distribution, in this case Fedora atomic distros (but this is by no means mandatory), then customizing some things. Like installing libraries, applications, firmware, kernels and drivers. Then putting it all into a container image, like you would do with a docker or a podman server image. This way, on the user side, they don’t need to install the OS, instead they already have the minimal atomic system handling framework and just copy and boot into that OS image. This automates a lot of the efforts required for bundling and distributing an OS, and it makes new spins on existing distros really fast and efficient to make. It also means that users don’t need to be tech savvy about stuff like directory hierarchies or package management, and updates, installs, upgrades can all be automated to the point of the user barely even noticing them.
On a similar note, these distros, as development workstations, are usually pre-configured to make use of a container based dev pipeline. Everything is flatpacks and development is handled all via docker, pods, etc. Keeping the system clean from the usual development clutter that sediments over time on a traditional development cycle. As a happy coincidence, this makes the dreaded “works on my machine” issue less prevalent, making support of software a tad easier.
it’s really bad marketing, i had to look it up to make sure there wasn’t any weird cloud shit in the distro
bazzite is now my daily driver 3 machines
Hi I’m the guy who posted the report. Your quote is exactly what it is, we use cloud native server tech to make Bazzite. Things like bootc, podman, OCI containers, etc.
all I want to run is a “normal” PC with a Linux distro.
That’s exactly what’s happening!
I don’t want is to have it running, or heavily integrated in some proprietary-ish cloud.
It does, just not ours, Valve runs that part. 😼 I’m happy to answer specific questions if you have any!
As someone who builds and deploys software in the cloud all day, seeing the term “cloud native” used for a desktop OS just reads as jibberish to me, no offense. Nobody can seem to explain clearly in simple terms what is actually meant by it.
Does it just mean all of the compilation of binaries and subsequent packaging have all been designed and set up to run in a uniform build pipeline that can be executed in the cloud? Or is bazzite just basically RancherOS (RIP) but for the desktop? I am seeing people in this thread talking along the lines of both of these things, but they are not the same.
Can you explain what the term “cloud native” means as it relates to bazzite in a way that someone who can build Linux from scratch, understands CI/CD, and uses docker/kubernetes/whatever to deploy services in the cloud, could grok the term in short order?
Yes, it’s a container like an app container you would deploy on docker or kubernetes.
It starts with a dockerfile with a
FROM fedora
, the difference is there’s an entire OS in there, with a kernel and everything. Then an action runspodman build
on that container every day, which is then shoved into an OCI registry (in this case ghcr.io).Then instead of each client doing package updates via a package manager it effectively does the equivalent of a
podman pull
on your laptop, and then stages the update for deployment on the device. Everything is running on the bare metal on the device, the cloud native part is the build process, pipeline, and delivery. Then rinse and repeat for updates.It’s a bit like rancherOS except using podman.
Dude, thank you for this. IMO reducing that down to simply “cloud native” is doing a disservice to how absolutely cool that methodology is.
I loved RancherOS in the server space, and always wished there could be a desktop version of it, but I realize that the isolation of docker on docker would be very difficult to deal with for desktop applications. From your description, I feel like Bazzite has done the next best thing.
If I may frame things in RancherOS terms and perspective briefly, given your description of what’s going on with Bazzite, the System Docker container image is being built in the cloud every day, and you could pull it down, reboot, and have the latest version of the OS running. The difference, I am gathering from context, is that while RancherOS “boots” the system image in docker, Bazzite simply abandons RancherOS’s hypervisor-esq system docker layer, and does something like simply mount the image layers at boot time (seeing as how the kernel is contained within the image), and boots the kernel and surrounding OS from that volume. The image is simultaneously a container volume and a bare metal volume. In the cloud, it’s a container volume for purposes of builds and updates, which greatly simplifies a bunch of things. Locally, the image is a bootable volume that is mounted and executed on bare metal. Delivery of updates is literally the equivalent of “docker pull” and a boot loader that can understand the local image registry, mount the image layer volumes appropriately, and then boot the kernel from there.
Do I have this roughly correct?
I’ve noticed that almost everyone has missed the most “cloud-native” aspect of the Universal Blue project: The build process.
What’s really cool about this is that the images are built in a “cloud-native” way. Right now, they’re just using Github’s actions pipeline to push images. This does a couple of very cool things.
First: It means that any image that gets sent to your device was already built on a system and checked as OK. It’s still technically possible that a bad image could get pushed, but the likelihood is extremely low because they are tested as a single cohesive unit before being sent to anyone else’s device.
With traditional distros packages are built on a system and tested, but they’re not necessarily tested in a single common environment that is significantly similar between everyone’s device. This largely deals with dependency hell, and weirder configurations that cause hard-to-diagnose problems.
Second: It also simplifies the build process for the Universal Blue team because they are able to take the existing cloud native images from fedora and just apply some simple patches on top of that. While doing this in a traditional distro way as I understand it would be far more complicated. This is why Universal Blue was able to update their images to Fedora 41 like… 24 hours after release? It was crazy fast.
The creator of Universal Blue is also on the fediverse! I don’t know if this will actually ping them, but it’s worth a try.
@j0rge@lemmy.ml
@j0rge@kbin.social
They call Bazzite cloud native because they use a lot of technology often used in the cloud, but it’s still a locally run OS with no dependence on the internet apart from getting new updates.
Unlike traditional distros, it uses flatpak for apps, comes with podman (similar to docker) if you want to use containers, and has a more robust update mechanism.
I’ve heard Bazzite mentioned repeatedly as a popular distro for Linux gaming (and I plan to test drive it on my old laptop soneday when I get around to it). My understanding is that it’s a standalone distro you can run locally, same as Debian/Arch/Ubuntu/etc. I suspect the “cloud native” marketing term in this context just means you can run the same image file in a vm, vps, bare metal, whatever.
If I’m dead wrong, hopefully my reply will be sufficiently inflammatory to trigger a correction, lol.
I think this is very much it yes. I run bazzite on my laptop as is such basically an atomic distro. That’s it
I suspect the “cloud native” marketing term in this context just means you can run the same image file in a vm, vps, bare metal, whatever.
…yeah that’s what makes it suspicious. Alone it can be a good thing but why rush to mention it for a fricking gaming/home distro? As if running gaming/home distro anywhere else than as close to the hardware as possible was somehow inherently normal or even good.
(The idea of cleanly separating “user user space” does sound inherently good, if achievable…)
Again, who are they marketing to?