Ghost In The Flame

Bu4$t Py40's blog!

Picking a Linux Distro

Table Of Contents:

Picking a Linux Distro

So you've decided that microslop's mismanagement of Windows since about Windows 7 is too much. You want to take back control of your computer. Good for you. Welcome. I promise we don't bite... unless you're into that ;-).

No but really you're making a good choice.

In this post I'll be going into why people are looking to switch right now, the advantages of Linux over Windows, the drawbacks of Linux vs Windows, and finally how to pick a distro to try out. This will be a long blog post so feel free to jump around or to just skip to the section you specifically want to read more about.

TLDR

But... but I put all this effort in to make sure you can make an informed decision... No, no it's fine. I get it. I wrote a lot...

Distros really don't matter that much. For the most part Linux is Linux is Linux. If you have decision paralysis then just pick one and see if you like it, if you don't try another. Distro hopping until you find your home is not only normal, but often the best way to figure out what Linux distro you want to use.

If you want to make a more informed decision then you'll want to read up on update strategies to see which one sounds best for your usecase, and which desktop environment comes standard on which distro as these two factors mark the biggest differences between the distros you might choose.

Here's my recommendation table:

DistroBaseUpdate StrategyDesktop
BazziteFedoraAtomicPlasma
AuroraeOSFedoraAtomicPlasma
CachyOSArchRollingany (plasma is their recommendtion)
EndeavourOSArchRollingany (plasma is their recommendation)
ArchArchRollingAny
FedoraFedoraPoint with semi rollingGnome3 and Plasma (but also have spins for any others)
Linux MintDebian/UbuntuPointCinnamon
UbuntuDebianPointGnome3

Why switch

Maybe you're just curious. Maybe you don't actually know why you might want to switch, but heard of this Linux thing and are curious about it. Well here we welcome curiosity.

There are a few main reasons people are looking to switch these days.

  1. People are tired of the constant data collection done by massive corporations.
  2. People are tired of vibe coded slop bugging up their OS and causing massive vulnerabilities.
  3. People are frustrated at paying for an operating system, and then still having ads because no you haven't given Micro$lop enough money already.
  4. People want to feel in control of their computer.

Advantages of Linux

background info

So here's where things will get a bit technical, but stick with me, it's important.

Linux itself isn't an Operating System like Windows or MacOS is. Linux is jut the Kernel of the Operating system.

But what does that mean?

I'm glad you asked dear reader in my head. Operating systems are what Operate the equipment you're using. In this case the equipment is your computer, and everything that makes up your computer. From the CPU, to the RAM, GPU, Network ports, Storage, everything. The operating system is how these components work together to do what you want them to, like play a video game or watch silly cat videos that are probably not AI generated.

To accomplish this Operating systems have two basic parts (well a ton more, but to simplify it we only care about these two parts). The Kernel and the Shell.

The Kernel is what talks to your hardware. It turns your clicks and clacks into instructions that tell your computer's hardware how to beep and boop the way you want it to.

The Shell is what's "wrapped" around the Kernel, it's what you're actually interacting with. Think of it this way, the shell talks to you and tells the kernel to talk to the hardware.

In Windows the Kernel is the NT kernel which was introduced in windows 2000 (before that it was the DOS kernel). The shell is the Windows Explorer.

So if Linux is just a kernel, then how do we get an operating system?

Another great question! Most of the time when people talk about Linux as an operating systems they're referring to a whole ton of Linux based operating systems that all behave similarly to each other. These different operating systems are called Distributions or Distros for short. There are hundreds if not thousands of distros to pick from. This choice can seem overwhelming, but that's what I'm here to help you with! The great thing about the Linux kernel and the Linux operating system space in general is for the most part its all opensource.

I've heard that word before, opensource, what's it mean?

Opensource is a philosophy and licensing model for writing software. Basically opensource means that the source code of the software is freely available for people to read, copy, clone, edit, re-release, basically do what ever they want. This model is what allows this massive ecosystem of Distros to exist. Anyone can clone the Linux kernel and package it with other components to make their own operating system without paying a dime. Even you, if you wanted to.

This contrasts Mac and Windows proprietary development model. The end software (Windows and MacOS) is provided, but the full source code is only available to Apple and Microsoft engineers, Often times you're also not allowed to redistribute their code without some kind of agreement. So even if you did get the NT source code, you couldn't legally package it into a new OS without signing an agreement with Microsoft... good luck with that.

Advantages

Since Linux distros are opensource, anyone can review what the code is actually doing. This makes sure that the devs of your OS can't sneak anything in that you wouldn't like. This builds a healthy Trust but Verify culture. Where we trust our distro maintainers to write good software, but we can also verify it ourselves if we wanted to.

Linux is also much lighter weight than Windows. At boot my fully built arch system (if I turn off all my auto launching applications) takes up under a gig of RAM. Which in today's RAMPolalypse is nothing to sneeze at. This means more of your system resources are available for doing what you want to do instead of being tied up by the system itself.

Linux being opensource means its HIGHLY customizable and configurable. Like I said, Linux is just the kernel. Don't like the desktop shell your distro uses? you can install a different one! Not sure what desktop shell you want? install multiple and pick between them at login! Don't like the way your distro manages networks? Swap the network manager out for a different one! Anything can be swapped and switched.

The goals of Linux distros vs Windows also plays a massive role in how the Operating Systems work. Linux distro devs are trying to make the best operating system they can. Microsoft is trying to use Windows to extract as much money out of you as possible. This is pretty evident.

Another advantage of Linux is the creativity and persistence of Linux software devs. For example there is a software on Linux called WINE which is an acronym that stands for WINE Is Not an Emulator. WINE is a mostly complete reverse engineered implementation of Window user space, and some kernel APIs. Essentially what it does is runs a Windows programs and in real time sees what the Windows programs are asking for then translates that ask into the Linux equivalent so the Linux system can give the data it needs, then translates that data into a format that Windows applications can understand. For example, if a Windows game asks DirectX (the Windows graphic API) to draw a frame with the graphics card, WINE translates that to ask Vulkan (the Linux graphic API) to draw the frame instead. This sounds like it would make programs run slower than if you ran them directly on Windows, and sometimes that's true, but most of the time these translations are so efficient that there's no noticeable performance loss, or in some cases is actually faster than Windows. Let that sink in. Some things are so unoptomized and heavy on Windows that running it through a translation step is FASTER than running it normally.

You may have heard of Proton, Valve's special sauce that made the Steamdeck as great as it is. Proton is just a fork of WINE that's been optimized for gaming specifically. Valve, unlike most big companies that utilize open source software in this manor, are actually good stewards of the projects they utilize. Valve sends the modifications they make to WINE in order to make Proton back to the WINE devs so they can decide if they want to implement Valve's fixes too. This makes the entire software stack much better and develop much faster. Valve also funds the Opensource software that they utilize. For example SteamOS (the Linux distro that runs on the Steamdeck) is based on Arch Linux and uses the KDE Plasma Desktop Environment in desktop mode. Valve donates money to both of these projects to help with their development.

Drawbacks

Software Compatibility

The biggest drawback of Linux is software support. A lot of corporate paid software doesn't work on Linux. A good example of this is the Adobe Suite. Photoshop, illustrator, aftereffects, animate, acrobat, etc do not have Linux versions. There have been some successful efforts in getting these to run via WINE or a Virtual Machine type solution, but its far from perfect or usable at this time.

That said, there are Opensource alternatives to most things you'd want to run available on Linux. Some of them are just as good if not better, some of them are worse. For example if you need to make vector graphics InkScape is available, it's just as usable as Illustrator. GIMP (Gnu Image Manipulate Program) is also available as a Photoshop alternative, but most would agree that GIMP is harder to use and doesn't have as many features as Photoshop. GIMP is perfectly usable software, but has a very different workflow compared with Photoshop, so whether it's "good enough" really depends on your use case and work flow.

Another area people struggle with is Peripheral software, like corsair icue, razer synapse, or what ever logitech calls their heaping pile of garbage. The good news here is there are alternatives for most of what you'd want to do on Linux. Solaar is a good project for Logitech devices, giving you DPI, lighting, and button control over Logitech Mice, keyboards, microphones, and headsets. OpenRazer is a project to do what razer synapse does but on Linux. OpenRGB is a fantastic RGB lighting control software that supports a MASSIVE list of devices like motherboards, RAM sticks, LED strips, Keyboards, Mice, basically anything that has RGB lighting, OpenRGB aims to support it.

Kernel Level Anticheat

This will be the biggest problem gamers run into when trying to switch to Linux. I want to dispel some misinformation here. Anticheat is not impossible on Linux. VAC works without issue on Linux both in native games and in Proton translated games. EAC and battle eye both offer developers the option to enable Proton compatibility mode. If a game uses EAC or battle eye, then the only reason it wouldn't run on Linux is the game devs specifically decided they didn't want Linux users playing their games. Even Microsoft's custom anticheat for Halo infinite works well on Proton.

Why do some developers say that Anticheat is not effective on Linux? Well there's a bit of truth to that, but its more nuanced than most people are talking about. Linux is actually FAR ahead of Windows for providing the APIs required for Anticheat (and for that matter security protection software) to query the exact information they need to do their job without needing to be granted full kernel level access. We actually have Google working on Android to thank for that since proprietary apps wanted a way to make sure they weren't being reverse engineered. This is a much more safe, secure, and sane way to do the kinds of things that Anticheat wants to do. The problem then lies with the reality of Desktop game Anticheat companies not wanting to implement this since it would be a re-write of their anticheat solution for a market share of gamers that's less than 5% of their sales. So when EAC or battle eye runs in linux its running in "User Mode" meaning it watches things from the User Mode perspective. This allows cheat developers to run modified Kernel modules that would be able to trick the User mode Anticheat detection into thinking no cheating is taking place, when in fact cheating is taking place. So yes, EAC and Battle Eye are easier to bypass on Linux, but that's not Linux's fault, that's the Anticheat Developers fault. So if this annoys, bothers, or otherwise gets in your way be sure to point that frustration in the correct direction.

Linux is not Windows

I know this seems obvious, but its worth noting because it is a trap many people fall into.

Linux is not Windows. Linux will never be Windows. This is a good thing, but it does mean that somethings that were hard on Windows will be easy on Linux, and some things that were easy on Windows will be hard on Linux. You will get frustrated by the latter. When you do repeat after me "Linux is not Windows."

Do not expect your Linux install to act exactly like your Windows install did. It simply will not.

My controversial opinion: Lots of people say that if you ever have to touch the terminal then Linux is not ready for normal users. I counter that by saying if "normal users" can't figure out that typing the name of the program you want to use in a terminal is how you use it, then maybe "normal users" should stick to smartphones and chromebooks. There are distros and projects that seek to minimize your time in the terminal by offering GUIs to do most things. That's fine. If the terminal isn't your preferred way to use a computer that's ok. But the terminal is the single most powerful interface on your system. Learning how to use it is, in my opinion, an important part of learning Linux. You don't need to know how to write bash scripts or programs or whatever, but knowing how to navigate the file system, read and edit text files, and query system information are all important things to learn. The terminal isn't hard. It isn't scary. Just learn how to use it, or Google how to get the info you want.

Which is easier, remembering which registry hive holds the setting your want to change, opening the registry editor to find it, then modify in the form of a DWORD, what ever that means. Or opening the terminal, finding the setting in /etc/application/config.conf file and editing the normal Text file to update the setting?

Picking a distro

Ok so you've read (or skipped) all the the above info. So WHAT TF DISTRO SHOULD I PICK!?!?!?!?! WHY ARE THERE SO MANY OPTIONS!!!!!

Calm down. Its not as hard as you think it is. For the most part the only difference between distros is what they use as a base, and what software they come with out of the box. This choice doesn't matter nearly as much as you think it does. My best advice would be just pick one that tickles your fancy and see how it goes. If you want to make a more informed decision then read on.

Update Strategy

First, there is something to understand about the Linux world. The word "stable" means something different than normal. Stable in Linux refers to how often core system software is changed. It does not refer to how reliable the distro is, or how often you should expect it to crash.

The update strategy your distro uses determines how quickly software updates are pushed out, how those updates are applied, and the overall life cycle of an OS version. At the time of writing there are 3 popular update strategies that most distros use.

  • Point Release
  • Rolling Release
  • Atomic

Point release is what you're already familiar with since Windows uses this. It means there are specific "versions" of the OS. For example Ubuntu 20.04. It's called point release because as the "point number" increases, the OS version updates. This is important because each version has it's Kernel version, system libraries, and system software versions locked. Ubuntu 20.04 will use the same Kernel throughout its life cycle. Point releases are "Stable" distros because the core system software doesn't change, the only time they change is when you update to a new "Point Release" hence the name. Some claim this is good for reliability, but in my experience it really doesn't help much, and actually can make it harder to keep things fully updated. Security updates and bug fixes are normally "Back ported" to point release distros, so even if you're running an older kernel you should have all the latest security and bug fixes.

Rolling Release is the exact opposite of a Point Release. Updates are shipped as soon as their ready, even for core system software. You could describe it by saying every update is a major update. Rolling Release distros tend to have much more up to date software including drivers and kernels. Because the software is shipped much quicker than in a point release, bugs tend to be shipped more often. That being said in my experience a well designed rolling release system is just as, if not more reliable than a point release system especially since bug fixes tend to ship faster as well. An example of a good rolling release system is Arch Linux.

Atomic is the new kid on the block... kinda. Atomic updates are the most complicated to describe, but the least complicated to use as a user. Android, iOS, Mac, Xbox, and the Playstation have been using an atomic update strategy for years. Atomic update strategies are often paired with whats called an immutable A/B root system. When you install the system it actually creates two root file systems. The root file system is where your system libraries and software are stored. When you boot one of these systems one of the roots is selected as Active and mounted as Read Only. This means that while you're booted you can not modify the root file system, so its much harder to accidentally break something by messing around. When an update is applied the entire new root file system is shipped to the user. It then overwrites the inactive root with the new root and sets it to be the active root for the next boot. Then when the user reboots the new updated root file system is mounted as read only, applying the update. This way if the update breaks anything the user can always boot the older root file system to troubleshoot or to wait for a bug fix to be shipped. You always have a backup environment to boot in case of problems. There are a few drawbacks though, for example if you want to tinker with your install, the immutable root system is much harder to tinker on. It's not impossible, but it is harder.

Base Distros

Most distros out today are just modifications to default software and themes built on top of a base distro. The popular base distros at the time of writing are:

  • Debian
  • Redhat
  • Arch
  • Suse
  • Nix

Debian

Debian focuses on stability and is a point release distro. Debian holds the title of the "universal operating system", and can run on almost any hardware. From Desktop computers to satellites in orbit, from automated cow milkers to super computers. Debian is everywhere. Lots of people swear by debian and use it for everything, but for "normal" desktop use I would say the older packages make it frustrating for most people.

Some Distros based on Debian:

  • Ubuntu
  • Pop!OS
  • any Ubuntu derivitative.

Ubuntu is debian based, but it does ship newer packages by default compared to base debian.

Redhat

Redhat is owned by IBM and is a point release distro. Redhat is a corporate Linux distro that is meant to be used in a business setting. It prioritizes stability as well, and is commonly used for developer workstations and servers. The more consumer focused distro based on Redhat is Fedora. Fedora is also a point release, kinda. Fedora tends to be the "testing bed" for Redhat, meaning that Fedora gets updated quickly and often. Even core system components get updated pretty frequently without a point release. I would consider Fedora a "semi rolling release". Fedora itself has spawned many distros as well.

  • Ultramarine
  • universal blue
  • nobara

I don't know much about Ultramarine, but I know some people swear by it.

Universal Blue is an Atomic version of Fedora and has spawned many Universal Blue based distros like Bazzite and AuroraeOS.

Nobara is Fedora specifically built for gaming and comes with gaming focused software.

Arch

Arch is by far the most popular rolling release distro for desktops. Arch focuses on a concept they call the "Arch Way". Essentially they aim to provide a blank slate distro that only installs the bare minimum to boot and lets the user set up everything else according to their preference. This has given it the reputation of being "hard to get setup", especially because it does not provide a GUI installer. Unlike most distros, when you boot the Arch install disk you are not greeted with any kind of GUI, you are given a raw command line. They do provide an install script to help you get started, but also provide a fantastic wiki to help you install it all manually. Generally I would say Arch isn't great for new Linux users, since you have to already know what you want to set up before starting it. There are several distros based on arch.

  • EndeavourOS
  • CachyOS
  • SteamOS
  • Manjaro

EndeavourOS is basically just Arch with a gui installer. If you're a new user who wants to try vanilla arch but doesn't want to use the Command line to install it, this is the distro for you.

CachyOS is also pretty close to just Arch with a gui installer, but it has some specific changes. CachyOS uses a different CPU scheduler compared to vanilla arch. This scheduler is more tuned for snappy desktop usage so animations and window management tends to feel a bit snappier compared to vanilla arch.

SteamOS ships on the SteamDeck, and soon to be released Steam Frame, and Steam Machine. SteamOS is an atomic version of arch.

Manjaro is also trying to be arch but easier for new users. Manjaro differs because it uses its own software sources, and Manjaro keeps themselves about 2 weeks behind the mainline Arch sources. They claim this is for stability and reliability, but in practice if you use software from the AUR then this update strategy tends to break more than it saves in my experience. I would not recommend Manjaro.

Other distros

Suse and Nix I have not played with myself, so I can't talk about them very much. Suse is similar to Redhat, and even has a rolling release version called tumbleweed. Nix is its own thing. It focuses on repeatability. You could consider it an atomic distro that you build the image for your self. Its "declarative" which means you define what software you want installed via a configuration file.

Desktop Environment

Like I said in the advantages of Linux, nothing is "just part" of Linux. Including your desktop. The Desktop Environment is what determines what the GUI you use looks like and acts like. There are two very popular Desktop environments.

  • KDE Plasma
  • GNOME3

Plasma is heavily focused on user customization. It gives users easy to use tools for configuring how your desktop looks and functions including a robust theming system. In the past this customization has lead to Plasma being more buggy, especially if you add a large amount of customization, however this has gotten MUCH better in recent years. By default Plasma looks and acts like Windows does, with a taskbar at the bottom, and a "start" like menu on the left side. You can change that, however, to be what you want. Want the task bar on the top or side of your monitor? you can do that! Want to split the task bar up so that the system tray is on one side and the app list and menu are on the other? You can do that! Want no task bar at all and just use the overview to switch and launch apps? You can do that too! Plasma can be what ever you want it to be.

GNOME3 on the other hand takes the opposite approach. GNOME3 devs have their workflow that they like and expect their users to also like that workflow. GNOME3 is not very customizable out of the box, on par with Windows or MacOS in my opinion. If you want to theme your GNOME3 install you'll have to work for it, as the GNOME devs do not want you to theme their environment. If you want to tweak the workflow of GNOME3 you need to install a third party tweak settings menu, and those tweaks tend to break every major GNOME update. This may sound like I'm saying GNOME3 is a bad desktop. It's not. It's just very opinionated. If the default GNOME3 themes and workflows work for you then go for it! It's just not as adaptable as Plasma.

While those are the two popular options there are others as well. XFCE is popular for its traditional (some would call dated) look and feel, as well as it's minimum resource usage. LXDE is also know for how lightweight it is on system resources. Cinnamon is a fork of GNOME3 that uses the same underlying technologies, but gives the user more customization options and has a more Windows like workflow by default.

It is important to note that even if a distro ships with a Desktop Environment by default, you can change it after install. You can even have multiple Desktop environments installed at the same time and select between them at login. So while the desktop a distro ships with is an important consideration, don't assume that its your only option on that distro.

Conclusion

If you want to switch to Linux but are having trouble picking a distro, then just pick one. If you want to make an informed decision look into the update strategy that distro uses, what distro its based on, and what desktop environment it ships with, then pick one. If that distro doesn't work for you then try another one. Distro hopping is a great way to learn what you want.

Here's a table for some of my recommendations

DistroBaseUpdate StrategyDesktop
BazziteFedoraAtomicPlasma
AuroraeOSFedoraAtomicPlasma
CachyOSArchRollingany (plasma is their recommendtion)
EndeavourOSArchRollingany (plasma is their recommendation)
ArchArchRollingAny
FedoraFedoraPoint with semi rollingGnome3 and Plasma (but also have spins for any others)
Linux MintDebian/UbuntuPointCinnamon
UbuntuDebianPointGnome3
Previous Post NextPost