Technology, The Ire and the Fury, The Life of...

The Never Ending Linux Journey

Linux vs Windows once more!
Reading Time: 11 minutes

Alternative title: The inexorable march towards freedom: the promise of being Windows-free.


Continuing the Windows vs Ubuntu themes, focussing on migrating away from big tech.

Way back in July 2024, I did a series of posts where I got to thinking about replacing a lifetime of using Microsoft Windows products and migrating over to something smaller, less monopoly-orientated tech. Like Ubuntu, for example.

I wrote five blog posts in between July 2024 and May 2025, where over the course of that ten months I played around with various flavours of Ubuntu (mainly) desktop. The culmination of those five posts saw me parking the Ubuntu migration for a bit and returning to Windows 11.

At the end of the last post I do mention that I would be carrying on looking at Ubuntu as a replacement for Windows 11.


A lot has happened since!

Over the course of the last eight months – mostly in between mucking about with broken PC’s, I’ve been having a deeper dive into not just Ubuntu desktop, but other flavours of Linux as well.

It’s an understatement to be sure, but there’s lots of different flavours of Linux to choose from! There’s Debian based ones, Arch based ones, Ubuntu based ones, Gentoo based ones… etc. The list is long and it is varied.

Some are quite ethical, some aren’t. Some are well supported by a huge knowledge base of users and forums. And some aren’t.

Which to choose?! And more to the point: how to choose it?!


Considering the original goals:

When I started looking at Linux desktops, I kind of wanted to replicate the cosy Windows environment that I’d been used to for years. I wanted OneDrive, Office suites and nice email clients. Most of those were Windows only (and mainly Microsoft) programs, so that wasn’t going to work… something had to change!

I decided I needed to look at what I was doing and find some alternatives that would work within a Linux environment. For example Office 365: I needed to find a suite of programs that I would be able to use and edit spreadsheets and Word documents.

I wanted to listen to music and I wanted to watch videos. I wanted to read and send email and do some web browsing. I wanted to watch my favourite American car channels on YouTube.

I also wanted a reasonably fast file transfer rate between my PC’s and my NAS box. Both of my PC’s now have 5GB/s network interfaces, running through the requisite switch and the NAS has 10GB/s fibre. I want to maximise use of those speeds, transferring large backup files and the like.


Distro, distro Duck

Yes, I’ve used that heading before. Back in July 2024 in the first post of my Linux Odyssey. It’s a pun on a 1973 novelty song called Disco Duck that charted in the UK and absolutely not relevant in any shape or form here. Anyway…

As previously mentioned, there are lots of flavours of Linux to choose from. It basically boils down to two things:

  • Which desktop to run
  • Which operating system to run it on

Desktops

There are lots of desktops to choose from. Lots! Over the weeks that I’d been testing on and off, I tried out quite a few. The “common” ones like Gnome, Cinnamon, Mate, DDE, Xfce and KDE (Plasma). I also tried out a few of the bespoke ones that came with Zorin, Elementary and Endeavour O/S’s.

A desktop, or a desktop look is a very personal thing though and of course subjective. It’s either pleasing to you or it isn’t, and that’s very much based on the individual that’s using it. It’s probably very simplistic to say, but I found that most desktop environments were either like Gnome, or like KDE. For the purposes that I wanted to use them, it boiled down to the look of the menu. No, honestly.

There was much deliberation. Each style of desktop (Gnome vs KDE, basically) had their distinct advantages – and I was up for re-aligning my thought processes – but KDE Plasma appealed to me in many ways (probably because it looks very similar to Windows 11), so I decided that it would be my desktop of choice for the time being. At the very least, it’ll provide a bit of familiarity (alluding to the location of things) whilst I plough through the Windows-Linux transition processes. Both mentally and physical software wise.

One aspect of Linux that did impress me was if you get bored of your desktop style, you can just change it without having to do nasty things to your underlying operating system. Ostensibly. I’m sure it would never be that easy.

Operating systems

Speaking of which, choosing an operating system was a lot more straightforward (i.e. fewer choices). For me, there were three main choices:

  • Debian based (Ubuntu etc.)
  • RHEL based (Fedora, CentOS etc.)
  • Arch based (Manjaro etc.)

There are others (Slackware, Oracle, OpenSUSE etc.) that I didn’t dive into. The reason being that when I was testing the operating systems in the order listed above. When I reached Arch Linux, it fulfilled my exacting requirements to the very letter (or checkbox) and so I stopped there.

I chose Arch Linux mainly because of its simplicity, its community support and its wide knowledgebase and documentation. Its not a corporate entity like Canonical or Red hat, it’s a smaller operating system, based on minimalism. It also uses a rolling release system, meaning that there are no versions to upgrade to every now and again, it’s just kept up to date by patching.

Now, this may come back to bite me some time in the future. In the meantime, I’m happy to continue.


Two PC’s. Two Operating Systems

Well, in fact there’s three PC’s. There’s a NUCbox G3 mini PC that I use for initial “destructive” testing. That’s the one that gets the first install of anything, just to see what it looks like; e.g. will “it” do what I want it to (“it” being the O/S of choice for that moment).

Sometimes, that period of time is very short, sometimes not so much.

If an O/S meets the criteria, then it’ll get the luxury of being installed on my Microsoft Surface Pro 8 as a dual boot scenario between Windows 11 and whatever it is.

Only two distros have made it to dual boot on the Surface so far:

  • Fedora 43 with KDE Plasma
  • Arch with KDE Plasma

Test Criteria

The test criteria was “fluid” to say the least and shifted like sand along the way. Also along the way, I’d been looking at various Linux-based programmes that would make good substitutes for the Windows ones that I was used to using over the years. LibreOffice (despite initially hating it) grew on me over a while. It’s ended up being what I use on Windows and Linux at the moment. Programs like Joplin, Brave (my current browser of choice), Aimp (although in alpha format) and some Proton apps (Mail, Pass) all have versions that run on Debian, Fedora and Arch based systems. I’d changed my email client of choice from Outlook to emClient, then to the native Proton Mail app (despite its purply visage).

I’d ditched Zoom Player and VLC, as they were problematic on the main (broken) PC. Although in retrospect, it was probably the PC at fault and not VLC or Zoom. However, the replacement program that I’d discovered (mpv) works extremely well on both Windows and Linux and is pleasantly minimal. So that’s now my current video player of choice.

There has been one main sticking point throughout the whole testing process, however. I didn’t want to use OneDrive or Dropbox but I did want to use Proton Drive. Which is excellent on Windows, but doesn’t yet have a desktop client for Linux (this is a hugely requested feature from Proton and they are apparently working on it).

During the testing, a second issue arose. This was network speeds, or specifically network transfer speeds. As mentioned previously, I wanted full use of the 10 GB/s, 2.4GB/s and 5GB/s network interfaces that I have on my systems. It wasn’t until I plugged the NUCbox into a network port that supported those speeds that I discovered I was getting less than the desired transfer speed out of some distros. A good deal of time was consumed with driver installation, network tuning and distro changing, before discovering that it was only Fedora and Arch that gave me the desired network speeds. So it looked like Fedora or Arch was to be my underlying O/S of choice.

As mentioned earlier, KDE Plasma presented itself of the desktop of choice for the time being. It’s the one that is more intuitive to use for the time being, so I’m sticking with it, paired with Fedora or Arch.


Fedora or Arch

Which is better? There’s only one way to find out… (and it isn’t a fiiiiiiiiight! 😁)

Fedora (with KDE Plasma) looked quite promising, so that got the honour of being the first dual-booter on the Surface. It got installed with disk encryption and Grub2 as the bootloader, which in itself was quite the process.

In retrospect, it would have been easier not to use the Surface Pro for the first dual boot experiments, however the main “normal” PC was essentially out of order, the NUCbox didn’t really support dual booting* so there wasn’t a great deal of choice.

*The NUCbox G3 wants to boot only the Windows bootloader and nothing else. It doesn't give you any choices in the BIOS to choose any other bootloader apart from USB and is very insistent that it not be changed. I ended up (for testing purposes) by replacing the Windows bootloader bootx64.efi file with a copied Linux one. A process which worked, but would not be sustainable for any updates. 

I did however, discover (much later on) that I could change the boot settings, they were just craftily squirrelled away elsewhere in the BIOS. Hindsight, eh?

Other than the Surface Pro quirks (well documented quirks, thankfully) Fedora managed to be installed, along with a surface-Linux kernel, on the Surface Pro, dual-booting with Windows 11. I quite liked it (mostly due to the look of KDE Plasma). What I didn’t like was the pen or touchscreen support. Although the Surface worked well when plugged into a Thunderbolt dock with an external monitor, keyboard and mouse, it didn’t work so well as a tablet device with touchscreen or pen use.

I decided to try something else. Maybe change the underlying operating system. That’s when I looked… and stumbled upon Arch Linux.

Despite all of these operating systems being Linux, they are various flavours based-on Linux. For each set of O/S families, there are their own sets of commands that differ between them. Debian families use commands like "apt", Fedora families use "dnf" and Arch families use "pacman" etc. Each time I change O/S families, I have to either learn a new set (as in the case of Arch) or switch mindsets to a different set of commands. Oh the problems living in a first-world… poor me 😉

Between Fedora and Arch, I didn’t see many noticible differences, other than the mechanisms for updating and speaking to them. The support for both O/S’s is both extensive and well maintained and there is a good community based around them; yeilding lots of good, useful information. It boiled down to the installers.

Did I want to do a “minimal” Fedora installation, that would put a few extra bits in for me (but mostly plain) or did I want to build an Arch system from scratch, literally taking the word minimal at it’s face value?

I’d built Fedora previously, but I hadn’t tried Arch. So Arch it was.


Arch

I was obliged to de a bit of reading on this prior to firing straight into an install. There’s no nice GUI installation for it, but there is plenty of imformation and guidance on the internet for it.

"Guidance" can also be obtained from the AI chatbot thingies. Very dubious guidance, that was subsequently dismissed as crap very early on!

Flavours

Research time passed. Using the NUCBox as my “destructive” test box, I decided to try a few (two) Arch-based installers before committing to anything else. So Manjaro and CachyOS were loaded up and tried. The differences between the two seemed to lie with the installer: one of them (CachyOS) let you choose a different bootloader (other than grub) and the other didn’t. I played with both installers – using grub only – whilst continuing the research into Arch, KDE Plasma and the like.

To cut a very long story (and period of time) short, I discovered some articles that described building Manjaro (and CachyOS and Arch) utilising an encrypted filesystem (LUKS2), secureboot and unlocking the encrypted filesystem with a tpm2 unlock key, rather than having to manually enter a passphrase every time the system booted. Just like Windows and BitLocker! Oh yes!

Of course, it’s not all that simple to do. There are various caveats regarding bootloaders and ESP partitions and whatnot. In fact, I’ll write another post soon describing what I did in (mainly) full, in case anyone is interested.

I ended up building Arch from cmd-line, with KDE Plasma, systemd-boot as the bootloader and configuring the system manually. It was a lot of work. A lot.

Was it satisfactory? Weeeeeeel, maybe. I was mostly successful getting Arch to work with secureboot and tpm unlock, but not so much with Manjaro. Manjaro had to be installed (with the installer, that is) with grub and LUKS1, and then converted to systemd-boot and LUKS2. Something that is entirely feasible, but it was a lot of work. Too much that I was willing to contribute. This time round, anyway.

Installing Arch from the cmd line with systemd-boot, configuring secureboot and tpm unlock first was my way forward, followed by installing the desktop: KDE Plasma.

That passed the NUCBox “destructive” phase well enough. So much so, that I rebuilt the NUCBox to dual boot Windows 11 and Arch with KDE. Which worked reasonably well, given the restraints of the NUCBox, in terms of graphical and sound (very poor bluetooth performance with bt headphones). But both operating systems were encrypted, booting with secureboot and automatically unlocked with a tpm2 key. Lovely.

By that time, my replacement motherboard had arrived from OverClockers UK and had been installed (and stable) for a couple of weeks.


New PC! New Boot!

It was time to attempt an install on the “big” PC. I’d already installed Windows 11 and it had been running perfectly for two weeks.

My very first foray into the Arch installation on that particular PC was “interesting”. The text console was flickering wildly to the point where it was mostly unreadable. I spent a good deal of time trying to troubleshoot this, including swapping HDMI cables, using one of the built-in USB4 ThunderBolt ports for the display and a few installation re-tries. Eventually, when no improvement was forthcoming, I decided to continue to the bitter end and do the KDE desktop install; thinking that if the flickering was only apparent on the console TTY bit, I could probably live with that.

I installed KDE Plasma. It installed properly and it worked… other than the snow on the screen 😭 I spent a good deal of time attempting to reduce the snow – and I did… to an extent. I ended up with “pixel-popping”: a number of pixels on the screen would go a random colour, before returning to what it should have been displaying. Oh dear.

I was using the on-board graphics chip on the motherboard (an Intel). I’d been using that since I discovered months ago that anything I installed into a PCIe slot would make the PC turn off… but now that was fixed! Some research later, I determined that maybe I should purchase a PCIe graphics card. So I did: an ASUS RTX GE-Force 3050 (an NVIDIA chipset).

New graphics!

A week later and yet another install. This time, I’m installing the new graphics card and using a DisplayPort output instead of HDMI. It worked perfectly well with Windows 11, once the NVIDIA driver had been installed. Lovely. Not so much with Arch.

The initial (TTY) install proved problematic. It wouldn’t refresh the screen on boot (cue more bloody research). NVIDIA drivers (for Linux) were at fault (mainly because I hadn’t installed them). I duly installed them and all became lovely once more! So much so, I successfully installed and configured Arch and KDE Plasma and got to the point at which I had installed the greater majority of the software I wanted and was using the Linux boot: configuring various bits and pieces along the way.

It also worked with secureboot and tpm2 unlock. However, there were “bits missing”. Subtle bits. I couldn’t get some graphics to work properly, I could get the sound to play properly over my BlueTooth headphones. Tiny little irritating things that worked on Windows, but refused to work in Linux.

I needed to either try and determine what was missing. Or… I could change my approach.


A change of direction

That was the point at which I changed my mind about trying to keep things minimalistic, in terms of installed software (or bloatware, as it is in Windows). I remembered that with CachyOS, I could choose the bootloader: one choice was systemd-boot, which meant that I could (from the outset) configure my encrypted root partition to be LUKS2, thereby supporting tpm2 automatic unlock. I could also choose not to install bits of software that I didn’t want (Firefox), so that was a bonus.

The theory was that an “automatic” install would pick up the NVIDIA bits and pieces that I needed to run graphics and audio and also fill in the missing bits and bobs that were still missing in my manual install.

And that is where I’m going to leave things with this post. Suffice to say that I did proceed with the CachyOS install – and I am still (with some success) running it.

There is of course, more to come. 🤡


TL;DR

I mucked around for quite a long time with more Linux distros and desktops to see if there were actually any that I could use instead of Windows. I threw in a bit of security along the way, whilst I was at it. I ended up installing CachyOS.

There is more to come describing the nightmare of ESP, efi. boot and root partitions.