Fedora

Word Count: 2828
Reading Time: 14 Minutes
Category: Basement

As the “tech support” member of my family, I was tasked with helping those on Windows devices migrate over to Linux, as they their PCs were not compatible with Windows 11, Windows 10 support was ending, and they did not want to buy a new PC as theirs were working perfectly fine.

As a Mac user, this didn’t trouble me necessarily, but I was aware of my own impending end-of-life issue too, as my Intel Mac Mini will not receive any more operating system upgrades, and although software for now continued to be released for both the Intel and Silicone chips, I felt one day the two-tier system would end and I would be unable to install new software. Initially, my plan was to start saving for the new Mac Mini, which were quite affordable by computer standards, but as I began to explore options for my Windows family members, I realised Linux might be an option for me too!

No More Mac?

Aside from the impending hardware issues I would inevitably face, my Mac Mini has been bothering me a lot recently. I had to install a range of software at a baseline level for it to operate and function in a basic way I was happy with, in regards to not just functionality but also privacy and security. From Ice needed to modify the task bar, to the various applications in the Objective-See suite, and all these needed updating regularly and often reminded me via pop-ups - what, in the end, felt like incessant pop-ups. I felt like I was being barraged by them every time I turned on my Mac. Although I did update my software regularly (I promise!) it was just due to the sheer amount of software on the Mac that this turned into a near daily experience. The Mac Mini was becoming stressful and annoying to use.

I initially believed I still needed my Mac though. I despised Windows, only using it for gaming, and did not believe enough of what I used my computer for was available on Linux. For example, I had a good routine set up using Affinity Photo and Hazel, and I knew neither of these were on Linux. However, I reasoned I could de-bloat the Mac and use it just for Affinity Photo and Hazel, perhaps viewed as a “work machine” and use Linux for more everyday and personal activities.

How Times Have Changed

I have dabbled with Linux on-and-off for many years. Initially, I tried to use Ubuntu as my daily driver back in around 2008, but struggled with limited software options. Since then, Linux was very much a secondary option - used on an old laptop or computer for basic use such as a media centre or light web browsing, and I had not paid much attention to the changes and advancements that were happening.

For example, I was quite surprised when talking to someone on Mastodon that they were playing a Steam game on their Linux computer, as the store page of the game listed Windows and Mac only. Although aware of Steam and their Steam Deck being a major driver of games becoming more compatible for Linux, I assumed this was for games officially listed, and did not know many games unofficially worked. In fact, spoiler: it later turned out more games in my Steam library ran on Linux than on Mac!

Gaming was indeed a major priority of my family members, and so I did some simple research on Linux distributions (also known as distros) which were good for gaming, and I quickly came across Bazzite - a distro made for gaming! It comes with all sorts of tweaks, driver support and software ready to game on Steam, GOG, Epic and so on, as well as emulators for older gaming too and applications like Bottles and Lutari to fill in the gaps. It was also an intriguing distro, as it said it was “image based” and the user can rollback at any time to an older snapshot if something breaks, with almost all software running containerised “above” the operating system, so applications are separated and cannot cause too much damage as a result. Well, as someone who was enjoying their time setting up their server in Docker and knowing how important backups and restoring were, as well as how the “data” interacts with the Docker containers, this really interested me.

Immutable?

A quick look showed Bazzite stemmed from Fedora Atomic, a series of immutable distros (depending on your favoured desktop environment), with that key component where the programs and the operating system do not interact and everything is containerised. Applications run primarily in Flatpaks, though you can give certain applications wider system access by installing through the OSTree, which then requires a reboot each time as the entire image of the operating system is build and loaded from at each boot - it is this you are restoring from when things go wrong, and OSTree applications are “built into it”. If there are applications not found in the OSTree or a Flatpak, it could most likely run in a Distrobox, where a Linux operating system runs inside (such as Fedora 42) and in there any application that can run on, say, Fedora, either by the downloaded .rpm or through dnf in terminal, can now run on your immutable operating system.

Alongside Fedora Atomic’s distros, there was also Universal Blue, who, along with Bazzite, also offered Aurora, Project Bluefin and uCore, each serving a different purpose. It was Aurora that caught my eye, the goodness I’d seen advertised in Bazzite but with a deeper focus on developing, with many tools pre-installed, especially when later running a simple command to enable Developer Mode.

Deciding to go for this would be a big leap, as although I’d heard of Fedora before, as arguably one of the largest distributions, I’d never used it myself, instead preferring distros based on Arch or Debian. Furthermore, I love to tinker around with things and customise them how I like - would being restricted to Flatpaks, the OSTree and Distrobox be enough for me? On the other hand, I wondered if a more simpler way of using a computer would be better for me - I highly doubted I’d get as annoyed as I was getting with my Mac. Maybe simple was the way.

Fedora Aurora

However, I would not be installing any distro on my Mac Mini, I’d leave that as the “work machine”. Instead, my eyes turned to my Windows PC, which I had build a few years ago for gaming - because it was looking increasingly likely that pretty much all my games would run on Linux. Installation was simple, I chose the NVIDIA download as that’s the graphics card in I have, and everything went really swimmingly, including the command needed to install more software for development and installing the vast majority of my applications through the provided Bazaar Flatpak app-store - and so many games too!

Issues

But there were some crunchy issues too. Although I did eventually manage to fix it, I took way longer than I ought to have trying to get my mouse’s buttons reconfigured how I like. I also had to run my backup software inside a Distrobox, which took some time, but I got there in the end. The biggest issue was around my password manager, which simply refused to interact with my web browser Floorp - due to how they were both running in Flatpaks and unable to “see” each other. To overcome it, I had to use what was in the OSTree - thankfully my password manager, but not Floorp, and I had to resort to going back to Firefox. Not great, but okay… ish. I regularly had issues with the two “seeing” each other, even though they were both running at the operating system level, and had to re-link them every few days or so. I also weirdly could not get CalDAV working in Merkuro for calendar use or in Planify for tasks, and this was frustrating, as it meant the only way I could see these entries was in Thunderbird, but I do not like the idea of my email, calendar and tasks all being in the same window, I like them all spaced out easy to glace at. I also could not get Web Apps to work, with nothing happening when I tried to enter the URL of the website (well, my services hosted on my server) I wanted to add.

Benefits

Still, there were no annoying pop-ups. No nagging. No mountains of software needed to be downloaded to create a decent baseline for working on. It felt like a breath of fresh air. I absolutely loved how I wasn’t treated like an idiot, something I often felt with Apple restricting what I could and could not do. I didn’t need Ice to rearrange my task bar, I didn’t need shottr for screenshots, I didn’t need DockDoor for previews, and I didn’t need iStats for system monitoring, because these were all included - plus it was easy to add things that weren’t, such as the script for windows to remember their positions. Customisation is phenomenal - combined with the built-in option and Kvantum, I’ve been able to pretty much dunk my entire user interface in Rosé Pine Dawn, so everything is lovely and soft on the eyes, and tweaked the panels exactly how I like: no panels on my side screens, but a nice large dock-like panel at the bottom with my applications like on a Mac, and a nice thin panel at the top where my system tray and some widgets. In fact, I pinned some favourite widgets to the bottom panel as they act more like applications: calculator, weather, colour picker, sticky notes, clipboard contents, trashcan and KDE Connect.

I used KDE Connect on my Mac Mini to connect to my Android phone, but it works so much better with full integration with KDE, the chosen desktop environment for Aurora. Sending files and clipboards between the two is a breeze, and I love being able to remotely control the computer as well. Another bonus for KDE is Dolphin, its file manager. With Mac Mini, to mount remote disks as integrated into Finder, it looked like I’d need to pay up for something like Mountain Duck, but Dolphin has added them in effortlessly, as well as having other great features like giving me the option to copy, move or link when something is dragged into another window, and I’m finally able to use my delete key again! These factors, along with the incredible customisation options, have made me a massive fan of KDE, and it’s unlikely now I’ll look at other desktop environments like GNOME or COSMIC.

But Then…

One day, as I was nearing the end of setting everything up, I go to launch a game on Steam I’ve been enjoying recently, and it loaded like crap - incredibly slow with terrible graphics. After a lot of troubleshooting, it initially seemed Steam could no longer see my graphics card and was instead trying to render the graphics from the CPU instead. I tried everything to fix it, including different drivers, different deployments, different ways of running Steam, all sorts. But none of it worked. I was also quite frustrated: I thought this sort of thing wasn’t supposed to happen, or, if it did, a fix would be pushed shortly. Maybe one did, but I couldn’t see it as, inexplicably, there was a sort of “repository drift” and I could no longer access the OSTree or run ujust to get updates. I was baffled at how the operating system had become so broken so quickly with me doing absolutely nothing to it, aside from accept an update which was what began breaking everything. Sure, I could rollback to a snapshot before the cursed update, but I had spent nearly a month at this point trying to first fix the Steam issue before being hit with the repository one. In hindsight, I should have just rolled back straight away when Steam broke, and awaited a fix before updating again, but hindsight is a wonderful thing.

Instead, I decided to accept defeat that my computer was borked and I couldn’t fix it. A reinstall was the only option moving forwards. But I didn’t have to use Aurora - after all, I compromised so much for its stability and that hadn’t worked out, all those limitations I put up with for nothing. Instead, I initially went with openSUSE Tumbleweed, a rolling Linux distribution with KDE by default, and built-in snapshotting - so I could rollback if I ever made a mistake (and I’d be better at this now!). It seemed like a good solutions, more openness with installation, but still with those safety nets in place. However, I struggled with NVIDIA drivers and then I just could not get the boot manager to work. Frustrated, and getting absolutely nowhere, I decided to just go with something simplier, maybe missing some fancy features, but looks like it will work: Fedora KDE.

Fedora KDE

As I get audio to my DAC from my NVIDIA graphics card’s S/PDIF, and the default drivers needed replacing with proprietary ones, but that was pretty much the only issue I faced. After that, I was able to start installing applications, re-configuring KDE as I like, and use it as a daily driver. Thankfully, the move to Fedora KDE fixed all the issues I was having on Aurora: Steam worked perfectly with my games and could see the NVIDIA graphics card, my password manager worked so much better and I was able to abandon Firefox, this time for Librewolf, and even CalDAV began working in Merkuro and Planify, plus my backing up application worked straight away with the provided .rpm downloaded from their website, and Web Apps started to work!

Software Setup

Speaking of software, and going back a bit to when I was on Aurora making the switch from Mac, although not all my software was available on Linux, I was able to make some great swaps, and arguably, some upgrades, as well as discovering new software along the way.

Software that survived the move include more techie stuff like Syncthing to keep my files in sync across my devices locally, LocalSend to send all sorts across my network, and Tailscale as the internal VPN, as well as other applications like Typora for writing, Trillium Notes for my note taking (which works better on Linux than it did on my Mac), Signal for communication, Feishin for music, and I even managed to get Affinity working through this incredible script here! I need to tackle a Hazel replacement next…! Organize, maybe?

Replacements from Mac include Angry IP Scanner instead of LanScan for scanning my network, Mouse Tiler over Mosaic for window management, Kate as my text editor (and honestly, a massive improvement over what I was using before), fish instead of bash, Swatch for colour palettes, as well as using the in-built colour picker, and Betterbird instead of Thunderbird for my email. I’ve already mentioned Merkuro as my calendar application (replacing Fantastical) and Planify (replacing Reminders), but these seriously as great improvements as well - now they work! New software entirely include InfinitPaint for whiteboards and doodling (my graphics tablet works great!), draw.io for diagrams, and I love how easy the built-in emoji picker is to use! I’ve also used Web Apps to create native-looking applications of some of my self-hosted services that don’t have apps. I tried this in my Mac, but the result was very laggy and I ended up resorting back to the web browser to access them, but Web Apps works so much better, and now Karakeep and Memos sit nicely in my task bar for easy access!

The only downside was that the replacement for Spotlight (or Alfred, as I was using), KRunner, can be a bit slow on opening. I’m too used to pressing alt + space and immediately typing the application I wish to open, but there is a slight delay here, so often when I type in, say, tailscale, it’ll come up as ilscale. However, I was recommended vicinae on Mastodon, more of a Raycast replacement (something I had dabbled with for a day before going back to Alfred), and I am very happy with it! Not only is it faster, but looks beautiful and is able to use the Raycast extension store!

Conclusion

All of this is to say I’m really glad I made the jump over from Mac to Linux. Although it was a bumpy ride to get to my destination, I think it was worth it. Everything is much faster, smoother and a lot less hassle! I am very happy with the improvements to my life moving has made, and I’m really impressed at how Linux has developed over the past couple of decades.