I tried an immutable Windows replacement...
and then I realized I needed it to be mutable.
Sorry for the quite long delay.. Blogging is a bit of an experiment for me. I’m using it as a way to practice organizing my thoughts.
Farther down the page I include the exact steps and commands to add a USB-C Jaden printer to Bazzite OS or other similar Fedora based Linux Distros. Feel free to skip ahead.
In the beginning
Over the last year I have been growing tired of Windows as my daily driver OS. What sent me over the edge was a recent Windows 11 update that changed the load order of my Framework 16’s WiFi driver and would Blue Screen Of Death (BSOD) randomly. I went down the path of many fixes, and some seemed like they fixed the issue until they didn’t. I went down the path of driver updates, driver resets, fresh installing Windows updates, etc.
None of those fixes worked. How could I give up the conveniences of Windows though? I dealt with random BSODs for about 3 or 4 months.. hoping. Waiting… More waiting.. I was hoping some fix would come. It didn’t. Then Microsoft announced Windows would become an agentic operating system. I’m not sure I can go a single day without AI or agentic being mentioned at least once now. Enter Linux.
I’m not a psychopath
Listen.. PewDiePie even switched to Linux this year. Our savior of memes. He, however, is clearly a masochist and chose Arch Linux. I’m not ready for that level of struggle. I need something that works reliably and requires little troubleshooting. I had only a two requirements.
Gaming friendly (Foss article on gaming distros)
Framework 16 compatibility (Framework supported distros)
You may say I should just use Arch Linux, especially as a Framework user.. and I would agree. I have a Framework 16. It is, honestly, probably the reason Windows 11 was not working well for me. I am clearly willing to suffer endlessly for no reason just for the sake of tinkering. I will pretend like that is not the case here, though.
If you looked at the links for my two requirements you’ll see two distros cross both articles. Ubuntu and Bazzite. I use Ubuntu as my base distro for every homelab project. It comes with very high compatibility and support. I have enjoyed it. I was willing to try something new. Something fresh. I am an elite gamer. I need games like Megabonk or Escape from Duckov to work.
What is Bazzite
What led me to choose Bazzite is that it seemed like a well supported distro. I liked a few things about it, especially the gaming-oriented focus. It comes with Steam. It is clearly meant for gamers. Its Fedora based… Which, prior to Bazzite, I’ve never used a Fedora distro, but it sounds nice. Reddit says Fedora is “bleeding edge”, but stable. Stable, you say? So the opposite of Arch Linux? Now I’m a bit interested. Here is a list of several reasons to choose Bazzite.
Immutable (system files are read-only)
Gaming oriented
Declarative
Fedora based (bleeding edge)
Stable (Flatpaks and containerized app management)
Strong hardware support
Community support
A road bump with Linux
Looking back.. My first major challenge could have been a deal breaker. I chose an immutable operating system. I’m not supposed to change things. I should not be looking to modify it. I should be using everything out of the box. No modifications. Easy, peasy. Nope.. Wrong.
I sell some 3D prints on Etsy and I periodically need to print shipping labels. I happen to use a bluetooth Jadens BY-C10 label printer that I need to work with my laptop. This printer makes my life so much easier. It saves a LOT of time with shipping labels. Welp, bluetooth doesn’t work. Nothing detected. What about USB-C? It detects it, but nothing.
How do you change an immutable OS? I head off to Jaden’s driver website here. Linux support! Perfect! I download the zip and I find some deb and rpm files.. Well.. That sucks. I don’t have an option to open these file types on Bazzite. ChatGPT… help me.
Adding the Jaden print drivers
The below steps were the steps I used to get the printer working. ChatGPT helped.. but it sure made it more difficult. The amount of extra commands and junk it fed is indescribable.
First you need to use rpm-ostree to add the RPM layer to your local machine. Then reboot the machine.
sudo rpm-ostree install jadens-printer-driver_3.1.5.491_amd64.rpm
sudo systemctl rebootIf you are doing this a lot, an immutable OS is probably not for you.
Confirm you now see the driver.
rpm -qa | grep -i jadensNext, you can plug in your device and confirm you see it as a usb device. In this instance, I am interested in CUPS (*NIX printing system) detecting it.
lpinfo -vI still ran into some issues where it was having issues being detected and did a few more troubleshooting steps. I did not see my device on the output above. The next steps were all done together in series and the printer was then detected and in CUPS.
sudo systemctl enable --now cups cups-browsed
sudo systemctl restart cupsI then wanted the printer to be detectable in my browser, Brave. So then I needed to restart Brave.
pkill -TERM braveAfter I forced Brave to restart I navigated to http://localhost:631/admin. Log into that using your local machine credentials and go through the respective Add Printer steps. I then restarted Brave once again, because why not.
Immutable to mutable
I’m not sure yet if I’ll stick with Bazzite. I like the simplicity, it is refreshing. I’m not quite used to how Fedora based distros work, but I will at least use it for a few months to give it a try. After the printer driver fiasco, I know that if I have to keep doing that then I will look at another distro. What I love about it is the support for Flatpaks and AppImages. All of the apps run in a localized container and that can help keep my local machine secure.
