You might consider it a stretch to call my gaming PC a workstation. One lazy way to define a workstation could be enterprise server-grade hardware in an office-friendly case, but I’m willing to be more liberal with my labeling. Workstation is an easy word to use in the title that conveys relevant enough information, so I am sticking with it, because this is the machine I sit at when I want to get work done.
Bazzite is the new and popular gaming Linux distro. It is built on top of Universal Blue, which is built on top of Fedora Silverblue, and these are all immutable distros. I hope I got that correct!
I am excited about the idea of immutable distros. I’ve been running Bazzite’s gaming mode in my living room for a few months, and I am impressed with it. They have desktop spins of the installer, so they have me tempted to give it a try.
I usually shy away from the more niche Linux distros. I don’t want to have to reinstall and start from scratch if someone gets bored and the distro goes away.
I could wait until the end to reveal this, but I am already dipping my toe a little deeper into the Bazzite waters. I just installed the KDE Plasma spin of Bazzite on my Asus 2-in-1 laptop. Things are looking promising so far!
My Linux distro history
I started out using Slackware in the nineties. I tried SuSE for a while, because their network installer was handy when we had our early cable modems.
I settled on Debian before the end of the decade, and that is all I used until 2006.
That’s when I switched to Ubuntu. The appeal for most Debian users in those days was Ubuntu’s release cycle. We got what amounted to a fresh, reasonably stable, and up-to-date Debian build every six months. That was SO MUCH BETTER than dealing with Debian’s testing repositories breaking your machine twice a year.
I had a continuously updating Ubuntu install on this computer from 2009 until 2022. It was installed on my old laptop, had been dd
ed to new SSD and NVMe drives a few times, and has been paired with one laptop and two different motherboards.
That is when I almost switched back to Debian. Ubuntu has been drifting farther and farther from Debian as the years go by. There are lots of inconsequential things I am grumpy about, but the straw on the camel’s back for me is forcing snaps on us. Ubuntu installs the Firefox snap via apt
, and in 2022, the snap would refuse to update itself unless I closed Firefox.
It felt like I traveled backwards in time, and it didn’t help that the Firefox snap took so long to open and refused to auto update unless I remembered to close my browser. Who closes their browser?! This felt like a good time to start thinking about where I might move in the future.
I wound up aborting my Debian install. I’m not going to get all of the details right from memory, but I am sure this will be close enough to accurate. Getting a combination of recent enough Mesa and RADV libraries installed for ray tracing to work well, and getting a build of OBS to work with hardware video encoding, while simultaneously having a working ROCm setup compatible with DaVinci Resolve Studio was going to be a massive pain in the butt.
Ubuntu had two out of the three nailed, and working around the third wasn’t a big deal.
Bazzite to the rescue?!
Bazzite prioritizes gaming. Bazzite is built on top of Fedora Silverblue with nearly bleeding edge AMDGPU drivers and Mesa libraries, so my Radeon GPU will always be working great, and I will be running one of the first distros to ship support for whatever the next generation of Radeon GPUs happens to be. That means I won’t have to wait as long after a new hardware release before upgrading!
This is awesome. Gaming is the most demanding thing I use my computer for, and things always improve when you can use the latest and greatest kernels, drivers, and libraries. Shoehorning this stuff into Ubuntu LTS releases can be a pain, and you’re always lagging behind.
Bazzite ships with their ujust
system. It isn’t a package manager. It is more like a consolidated set of scripts and magic to help you get certain things going, much like an officially supported set of Proxmox helper scripts.
On my laptop, I ran ujust enable-tailscale
to get my fresh Bazzite install connected to my Tailnet, and I ran ujust install-resolve-studio
to install DaVinci Resolve.
It was slightly more complicated than that. I had to download the zip
file from Blackmagic’s site myself, but ujust
handled the rest for me. It set up a custom distrobox
environment with everything Resolve needs to run, and I didn’t even have to click through Resolve’s GUI installation tool. It was just ready to go, and everything seems to work. Though I did have to tweak Resolve’s memory settings to stop it from crashing on my low-end laptop!
I don’t know if it is fair to accuse my laptop of being low end. It was squarely in the mid range when I bought it, but time has gone by, and it is starting to show its age.
The best part is that Resolve is in its own container. It is unlikely that a future update to the Bazzite installation will break things.
It took me a few clicks to install OBS Studio using Bazzite’s new Bazaar frontend for Flatpak. Flatpak correctly installed the required VA-API plugin. I just had to turn on the advanced
settings in OBS Studio, and I had my laptop hardware encoding a 1080p screen capture in h.265.
Those were the trio of things that were going an effort to get working on Debian three years ago. They’re all working, and they’re all in better shape than on my current Ubuntu install on my workstation. I think that is an awesome start!
Living with an immutable distro, and embracing Distrobox
I already mentioned that Bazzite uses Distrobox to containerize DaVinci Resolve, but I didn’t explain what Distrobox is. Let’s see if I can do a good enough job in a paragraph.
Distrobox sits on top of either Docker or Podman, and it handles installing, configuring, and running full Linux distros in these containers. They aren’t containerized for security or to provide any significant separation. The opposite is true! All your Distroboxes are plumbed to have access to most of your hardware and to share your home directory.
This means you can set up separate Distroboxes with Arch, Debian, and Ubuntu. You can set up terminal window shortcuts to open shells in these separate boxes. You can create an AI-generated video in your Debian box, then edit that with DaVinci Resolve in the Ubuntu box, and paste that video into Discord using your Arch box. Each Distrobox has access to your Wayland session, so you can run GUI programs on any Distro.
I had Distrobox up and running on my aging Ubuntu install in a few minutes. Not long after, I had an Ubuntu 25.04 box going with Steam installed, and I was playing games that were already downloaded to my Ubuntu host. It bind-mounted all my usual file systems exactly where they needed to be to play my existing Steam games.
My plan is to use Bazzite for the stuff that is a pain to maintain or relies heavily on the host’s hardware. Steam, OBS, and Resolve, and Firefox will live up there on the host. I expect to do nearly everything else inside one or more Distrobox boxes.
It is possible to export a Distrobox image on one machine, then import it on another. My plan is to get myself an environment that I am happy with on my old Ubuntu workstation, and move all my important work into that box. Once I am happy, I will copy that box over to my laptop.
If I do things well, I should almost instantly have my working environment fully operational once I get around to installing Bazzite on my workstation. That is awesome!
The core idea here isn’t new. I used to do something similar with work and personal virtual machines two decades ago, but it wasn’t nearly as easy to work with those separate virtual machines at the same time.
Conclusion
Wiping out my workstation and starting from scratch fills me with dread. I always worry that there will be something that I rely on that is missing, or some weird binary in /usr/local/bin
that just doesn’t exist anymore. Maybe I will lose a game’s save files that are stored in a weird location and aren’t being synced by Steam. What if an important program refuses to work correctly, or I can’t figure out how to configure something correctly?
Thing never ACTUALLY go terribly wrong, but I always miss something important, and migrating to an entirely new Linux distro isn’t something I would do on a whim. I am definitely going to kick the tires on my laptop for a few weeks, and put some work into getting a Distrobox environment well configured on my current workstation before I wipe my NVMe.
What do you think? Are you running Bazzite on a productivity machine? Am I silly for thinking this will be a good idea, or am I a genius and optimizing for exactly the right thing? How long do you think it will take me to get a productive Distrobox image set up so I can start my migration? You should join our friendly Discord community to let me know if I am making a mistake, or to chat with me to see how things are working out so far!