How to choose your first distro - A guide for beginners (flowchart + text post)
So, you're new to Linux? Welcome to our community!
You probably ask yourself
"Where should I start?"
and feel a bit overwhelmed right now.
In this guide, I will show you how to choose your first Linux distro.
This is part of my "New to Linux?"-series, where I will guide you through your first weeks.
TL;DR: If you don't care about this at all, just go for Linux Mint.
As you've probably already heard, "Linux" isn't just an operating system by itself, it's just the engine of it.
You need stuff built around that to get a working desktop. That "stuff" is packaged and distributed, hence the name "distro" (distribution).
Everyone can package this stuff themselfes and make their own operating system.
There are literally hundreds or thousands of different Linux-based OSs out there, and as a newcomer, this choice can be very overwhelming.
This is why you've already came here and asked for advice.
Don't worry, we've all been there!
You can find the "right" one for you if you follow the flow chart.
The flow chart is complementary to the text here. The diagram is for the choice, while the text is more for general information about each distro.
Every distro of the following recommended ones meets all of these criteria:
Easy to understand and intuitive to use
You don't have to use the command line
Works reliable
Supports Nvidia-GPUs
Choosing the DE
Before you choose your distro, you should choose your prefered desktop environment (DE).
The DE is what defines the user interface and some core apps, so, basically, what you interact with.
Don't mainly choose the distro because of its' DE, you can change that later too if you really want.
The two main DEs (Gnome and KDE) are listed in the flow chart.
KDE
is very modular and configurable, you can turn it into whatever you want.
has pretty much everything you can imagine already built in
Gnome
Is more opinionated, but if you don't like its' unique workflow, you can turn it into a "classic" desktop with minimize/ maximize buttons, task bar, and more, too.
You can use the Extension manager/ Gnome Tweaks for doing that or getting other functionalities like smartphone integration for example.
If you like certain aspects of one, but others from the "competitor", you can more or less turn one into the other. You have maximum freedom!
#Differences between distros
**Choose your distro based on the following key points: **
Release schedule: Some get new features very often, some only once a few years. We refer this as stagnation as "stability" (not to conflict with reliability!)
Philosophy: What are key values of the distro? (e.g. just providing a well functioning set of software, no matter if it's proprietary; conservative vs. innovative; etc.)
Base: Many distros are based on other ones. A very common base is Debian or Ubuntu, where many newcomer-guides are based on. It mainly determines what package manager you use in the command line. I personally think that's not as important, since you will use the Software Center anyway most of the time to download apps and updates.
All other things, like big community, good track record, hardware support, etc., were already taken care of by me.
So, here's the list of every distro shown in the flow chart, with a short description on why it is included.
Linux Mint
It's THE recommendation for every newcomer, no matter where you look. Not without reason:
Very sane defaults
Works, just out-of-the-box
Not too many, but just the right amount of pre-installed apps to get in touch with the Linux app ecosystem
Simple, yet highly functional
Hides all "advanced" features in a reasonable way
Huge userbase, especially for beginners. More experienced users still use Mint, and are always there to help newcomers.
Doesn't change much, only gets more polished. New features arrive occasionally, but they usually don't change your workflow radically.
Feels very familiar when you came from Windows, which most people do.
It is the main "competitor" of Mint right now.
The big difference between Mint and it is how the desktop looks. While Mint is more old-fashioned in how it looks, Zorin wants to be an eye pleaser by looking more modern. With it, you can choose between different "styles", that mimic the looks of Windows 7, Windows 11, MacOS, and more, depending on what you feel the most comfortable with.
It has a slow release schedule of ~3 years, with some minor polishes in between, which is great if you don't like change.
Don't worry about the "Pro" and "Light" versions. This is not like a freeware app with ads and stuff.
"Pro" refers to the paid version, that only differs in some extra styles you can choose from. With the payment you get some extra tech assistance and support the developers.
"Light" is a lightweight version, that is made for old devices to give them a second life and make them perform better than before, while still looking good.
This one is also very promising. It has the same philosophy as Mint, but implements it differently.
It works a bit different under the hood and ensures an always working system you can't brick. If you still fucked up something, or got a bad update somehow, you can just roll back in seconds.
It also updates itself in the background and applies the updates without the user noticing on the next reboot, without any waiting time (unlike the forced Windows updates).
If you become more advanced and experienced over time, you can turn to the terminal and have access to literally any app that was ever made for Linux. Especially if you start using Linux as developer, this is very handy.
Even if you aren't a developer, no, even if you aren't techy at all, VanillaOS is a very good choice if you prefer the simplicity and ease of use of Mint, but want something more modern!
[Disclaimer: The new release, VanillaOS 2 Orchid, is currently under very high developement and still in beta. Consider waiting until the new version is officially released for a garanteed smooth experience.]
Fedora
This one is not exactly (but comparably) as beginner oriented as the above are, but still, a very good choice for new users. Fedora is often considered "the new Ubuntu", and is one of the most used distros out there with a gigantic community.
It is community-owned, but supported by the money and development power of the biggest player in the commercial Linux world.
Features:
Comes with any major DE you want + huge software availability
Balanced desktop release schedule of 6 months. This ensures both a modern and reliable desktop system
Everything is pretty vanilla (no theming, etc.) and has very sane defaults
No big collection of pre-installed software (e.g. Office), bit it is installable with one click in the software center.
Future-oriented: as soon as a new promising technology is reliable enough, it will adopt it.
Fedora Atomic is a variant of Fedora that works different under the hood, while behaving the same on the surface as the regular Fedora does. I don't want to get too technical here, but the pros are the same as the ones from VanillaOS (unbrickable, better security, no half applied updates, etc.).
I'm not sure if I would recommend it over the normal Fedora right now, as due to the other inner workings, you might have the chance to encounter issues when trying to get things working, e.g. an install script you found online.
If you are leaning bit more towards a tech-savy-person and have no problem searching a small thing here and there (only when you need non-ordinary stuff), then definitely check it out. Especially if you already came from another distro and feel dissatisfied.
BUT, keep following in mind:
If you are just a casual user, you don't need the terminal for this distro. If you want to really make full use of it tho, you might have to use it from time to time.
On the surface, it looks and behaves exactly like the normal Fedora.
Compatibility is not fully given, due to the double edged nature of the said new technology.
Those potential issues or cons sound more dramatic than they are. If you are a normal user, you won't encounter these. Even I never had any compatibility-issues and always got everything working.
One of the coolest things about it, apart from the pros mentioned above, are:
Most "hidden" parts of the OS are irrelevant now to you if you want to change something -> simpler structure
You can "swap out" the OS with something different any time you want, while also keeping your data (pictures, games, etc.). If you want to switch your DE for example later on, you can do that very easily by just changing the selected spin. This even works in the extend of rebasing to almost another distro!
uBlue
If you are interested now, then check out UniversalBlue instead of the "official" Silverblue or Kinoite. uBlue offers:
Many different variants of this distro, but with some quality-of-life changes included.
Custom builds for special hardware, e.g. Microsoft Surface devices, ASUS ROG, etc., which come working OOTB, are very reliable and don't require tinkering.
And also special variants for different tastes and use cases, e.g. a security-enhanced variant, as well as
Bazzite
which is one of the biggest and "best" example in how awesome uBlue can be.
It's derived from it and is a gaming-focused distro. With it, you get many optimization tweaks and tools for gaming included out of the box, like some performance enhancements for example.
You don't need a gaming distro to play games at all, but if that's what you mostly do with your PC, then maybe consider that.
Those two are in the "pain" category. I would never recommend them to anyone starting with Linux, for example because they're fed up with Windows.
Both Arch and NixOS are known to be "for experts only", meaning, they're
high demanding
hard to set up and use
requiring the user to be skilled and to know what he's doing
don't hold the users' hand
and don't tolerate user error well.
Why did I still decide to include them in my noob-recommended list anyway?
Well, because not everyone wants to start Linux expecting an easy road. There are some people who want to tinker and challenge themselfes, and some birds learn flying the best when kicked out of the nest.
Don't get me wrong! Both Arch and NixOS are fantastic choices and very powerful. They can be fun to use and very rewarding.
What makes them great?
Minimalism: they come with basically nothing out of the box and require the user to set up everything themselfes. If you've done that, you have an OS that's truly yours!
Skilled community and great wiki. Especially the Arch-wiki is the number-one-ressource for any Linux thing, and by the point you installed Arch or NixOS the hard way, you got a good understanding in the inner workings of Linux.
Rolling release: as soon as packages are released, you get them, no big release versions
Biggest package repositories ever, with many inofficial ones too, created by the user base
Great package manager
Alternatives
If those pro-points of Arch and NixOS are appealing to you, but sound too hard to get for your taste, here are some alternatives you may consider instead. They aren't my top pick, but still very popular in the community.
Debian: One of the oldest distros ever out there. It's what a lot of other distros, including Mint, Ubuntu, Zorin, and more, are based on. It's stable (the normal version at least), very flexible (supports many CPU architectures) and minimalist (if you want).
OpenSuse Tumbleweed/ Slowroll: Rolling release like Arch, but with a bigger safety net behind
EndeavourOS: Very sane Arch-distro that's already set up for you
Other honorable mentions
Pop!_OS
Also gets recommended often. A popular distro for everyone who likes the coherence of Gnome, but doesn't like the opinionated workflow and more features like tiling. Good Ubuntu alternative, especially for gaming.
Made by a hardware manufacturer.
Based on Ubuntu/ Debian.
Currently a bit outdated. The devs are focusing on their self-developed new DE that's coming soon. I would go for Fedora (general use) or Bazzite (gaming) and add the tweaks myself via extensions when needed.
Still a viable option.
MX Linux
Great for older devices with non-optimal performance.
Good effort but.. Why is Debian "for grandpa's" now? Do you not know that you can install KDE and other DEs on Pop (and most other distros)? Why is the terminal treated like some dark and arcane device only to be used by "the old ones"? Ubuntu left off just because you don't like snaps regardless of the fact that it has a huge user base and tons of documentation and user support forums?
Leave out the immutables, rolling distros like Arch and other small community distros - there lie dragons. If somebody wants that pain they will seek it out themselves. You're just muddying the water with that. Then stick to ones you get good hits from Google with "my sound isn't working on distro name".
Also - maybe start by explaining what a distro is? Mostly that they're the same basic libraries packaged differently. beginners sometimes don't even know whether they can run the same things on each. Like - yes you can play the same games on mint and fedora.
I would explain desktop environments separately - they are typically the most confusing thing to Linux newbies. e.g. that you can often choose between them on the same distro. And that they can even be installed at the same time and chosen on login so people can experiment. A true "newb" will often not even recognize that the DE isn't the os itself.
I would avoid the phrase "beginner friendly" as 1) it makes it seem like it may be limited compared to others and 2) is too vague. "Easy to install and use" and "have a good community for support" are better metrics to judge by and are what beginners want.
Ubuntu needs to be here for this to be serious. I run pop and will Google "how to X on Ubuntu" because it'll return more hits. Finding support is a huge part of why you pick one distro over another.
While I appreciate the post, and, organized as it may be, it runs afoul of every post like it. It is too much choice and too much information. No amount of formatting will change that. If you want people to switch to Linux make the choice for them. They don't want to choose.
If you gave this to 14yo me choosing my first distro then I would have just given up. There are too many choices, just point noobs to something that works well and let them choose based on the DE.
I'm only referring to Arch now because I have no idea about NixOS.
Arch and NixOS
Those two are in the “pain” category. I would never recommend them to anyone starting with Linux, for example because they’re fed up with Windows
In my opinion, you are making the mistake of equating all Windows users. But not every Windows user is the same.
An acquaintance of mine, who works full-time as a Windows administrator, was able to install and configure Arch manually on his first attempt, for example. But yes, other Windows users would despair.
But that's exactly why you shouldn't make blanket recommendations, but rather recommendations based on the wishes and knowledge of the person who wants to use Linux.
high demanding
Basically, you should be able to read and willing use a search engine. That's all you really need.
hard to set up and use
If you use archinstall, which has long been an official part of the Arch iso file, you can install Arch within a short time. But I don't think manual installation is very difficult either. Because if you follow the official instructions, you can simply execute many of the commands mentioned therein without having to change them beforehand.
And what do you mean by hard to use?
I've been using Arch for over 10 years, almost like any other distribution. Apart from only 3 things, 2 of which can be automated.
requiring the user to be skilled and to know what he’s doing
Not necessarily. The most important thing is that the user is willing to read, that he is willing to use a search engine and that he is willing to learn something new. And that is often the problem these days.
And shall I tell you something? Even after several decades with Linux, I often have no idea what I'm doing. But I'm still trying to acquire new knowledge.
don’t hold the users’ hand
I agree with you here. Arch is, among other things, intended for users who want to solve their problems themselves. But that doesn't mean that you can't get help. However, it is expected that you first try to solve your problems yourself. And if that doesn't work, you should ask smart questions. However, this guide does not only help with Arch. Basically, it is (even if it is now partly outdated) still one of the most important pieces of knowledge you can have.
and don’t tolerate user error well.
I have been using Linux for over 20 years and have therefore already used several distributions. Basically none of them tolerate errors. If I make a mistake when configuring Alacritty under Ubuntu, for example, basically the same thing happens as under Arch.
Edit: Please don't take this post the wrong way. My point is not to claim that Arch is like Ubuntu, for example. But these myths that have formed around Arch (e.g. that you can only learn Linux properly with Arch (which is complete nonsense)) are a bit annoying.
I personally dislike recommending NixOS at all for new Linux users. Even though it's packaging and file system differs from other Linux distros, it's necessary to understand how general Linux works to understand why and how NixOS works.
E.g. systemd services in NixOS are often times more complex as they include the full nix store path or execute a script which simply executes a command. This is because of how they are generated and obvious once you have experience how other distros systemd units look like.
PS: I appreciate you helping people find a good distro. I'm merely nitpicking and complaining which doesn't help anyone :D
Who knew recommending Distros could be so controversial 😛?
Seriously though I think this is a great flowchart and you took on board the more reasonable suggestions from the intial post. This flowchart now quickly eliminates some of the distro choice anxiety. Worst case a newbie might end up on a distro like mint and then end up migrating to a different one.
One comment I had is that I actually didn't know what opinionated DE meant without googling despite being a long time Linux user (maybe thats just my ignorance) and I wonder if a newbie might be confused maybe there's another way of saying it (flexible versus simple?).
Anyway, I really think early me would have appreciated this when I first started even if that would been ultimately "use Ubuntu" back then.
Very nice. I’d suggest adding ChimeraOS next to Bazzite.
Also I’m not sure I’d recommend Vanilla to a beginner yet. It’s a very cool OS, but it’s got a lot of new tech that most instructions online won’t work on, and would frustrate a beginner.
I'd like to suggest an addition: I often get the question: but will distro XY run on my device? Then I suggest to boot from an USB stick and try everything in a live session without installing anything. (And if people are just curious how it will look and feel, I recommend https://distrosea.com/)
Also, I miss the mention of Cinnamon. Mint is very popular as you have already said and the "flagship" version comes with Cinnamon.
Last week I tried Ubuntu on a dual boot and eventually uninstalled it because i had messed some partitions up and also it felt like I had to do a lot more to get every day stuff to work. Now, I am considering doing it again but with better partitions and more patience. But how come I don't see Ubuntu on this list?
-hops on nix soapbox-
As someone currently trying to set up a NixOS server, your bullet point descriptions of it are incorrect except maybe the last 2. You're just describing Arch.
In fact Nix tolerates user error extremely well and arguably makes every effort to be error-proof. A wrong user config means it flat out won't compile and just revert to the past working config.
I agree it's a pain - at first - and requires a strong base knowledge of how Linux in general works.
-hops off-
A good answer to "Where to start", is not likely to be "determine your Linux distro of choice".
Which isn't to say that what you're doing is not a good way help with getting a quick idea of what to expect from the different distros.
But the original question, might be better answered by explaining some concepts instead:
that mobos boot into storage mediums. And what would need to be different for it to then boot into Linux.
bootable USBs, and how to find images for different Linux flavours, how to write them to a USB
what typically to do in bios to change the boot priority order.
that many Linux distros images can be ran, live. Without needing to affect anything.
what to do if you like it, and actually want to install it. Be that as dual boot, or replacing windows. What are common pitfalls, etc.
These concepts, IMHO, are much more important, than what distro. Because it gives them the tools to understand how easy it is to just try stuff out, without having to commit to anything. Picking the wrong distros then isn't a big of a deal.
If I were to make a comment on the chart itself. I think there is some value in describing what some distros are tailored for. But I find it curious how little that would matter to me. Things that matter to me are:
Software management system (pacman, apt, yum, etc)
How many use it, and factoring in confirmation bias, do they like it?
Is it built on top of something else, and if so, what does it add?
Who maintains system packages
What is the particular distro trying to do? Focused on a particular usage (e.g. pentesting, daws, academic, etc), stability, special hardware, ... etc.
Many distros are different by only having a different list of software installed by default. That... Is nice if you want to try it out with a live USB. But, it doesn't matter all that much. For example, Arch is considered one of the least advisable for beginners, but, it also has the AUR that covers a lot more than most other package systems. Some things are easier to get ahold of than say Ubuntu.
First of all, I applaud your efforts. Making an all-encompassing guide/flowchart that is able to answer all kinds of needs that new users might have is hard and not done in just a few sittings. And it seems you're willing to iterate a couple more times until you and the community are satisfied with the end result. That's just awesome and highly commendable.
As for my personal critique, perhaps it's noteworthy that I'm not entirely satisfied with the current setup. I think the following would align better with my personal convictions on how I would assist friends and/or family with these matters:
(long text)
Step 1: Hardware probe. So, somehow establishing what we are working with as this sets severe limitations to our options. Personally I would divide this in three groups:
potatoes; suited to run only distros like antix, puppy linux etc
old(er) devices; suited to run DEs like Lxqt, Lxde and perhaps even Xfce etc
'modern' devices; suited to run DEs like Cinnamon, GNOME, KDE Plasma etc
It's of course important to note that someone with 'modern' hardware is absolutely free to run something like Xfce if they like its design choices (i.e. offering a very stable experience that's unlikely to change for the sake of change). Furthermore, special attention would go out to hardware for which it's known that it requires special attention (like Nvidia GPUs etc). This should result in picking distros that are better suited for running that hardware (like Pop!_OS and uBlue for Nvidia), but also distros that specifically target a piece of hardware; like what uBlue tries to do for Framework etc.
Step 2: Investigate their intended usage and what software they would rely on. Do they absolutely need Adobe's Creative Suite? Well, then they should at least go for a dual boot or simply stay with Windows. The same would apply to any piece of software they might specifically need, but that simply does not work on Linux. Furthermore, their intended usage might be tied to their motivations for making the switch. Some of which would be: learning Linux, for Linux' improved workflow for specific use cases (programming, workflow benefits related to the use of tiling WMs, pentesting etc), privacy, reviving old(er) hardware, free as in beer, freedom to tinker to their heart's content, F(L)OSS ideology, transforming their hardware into a game console/HTPC/media-box, improved performance under some circumstances or just plain curiosity etc. Each use case comes with its accompanied set of viable distros. Of course, it's very hard to be exhaustive here. Therefore, you're absolutely forgiven for only focusing on some of the more common ones.
Step 3: Update cadence. Some people hate updates with their lifes, or only tolerate security ones. Others, simply want the latest and greatest at all times. Simultaneously, some may want said updates to occur automatically in the background, while others want deliberate control in that aspect. Lots of different distros exist with lots of different approaches to how updates are handled. As updates are our primary suspects whenever breakage occurs, it's therefore vital that the update cadence is aligned with the user's preferences. Hence a distro should be chosen accordingly.
Step 4: Priorities. Security vs convenience. Blank slate vs sane defaults. Control and responsibility vs 'managed'. Learning platform vs consumption platform. Means to an end vs end in itself. Performance vs stability; these two aren't mutually exclusive to each other, but helps in determining what the user finds important. Furthermore, ideally these should not be binary choices but allow steps in between the two ends. Finally, each of these choices should also be weighed against one another. Like, if someone highly values security over convenience and believes this choice is a lot more important to them than all of the others, then they should definitely consider Qubes OS for example. Similarly, other conclusions could be made based on a different evaluation etc.
Step 5: Desktop Environment. Based on the earlier questions, only a handful of distros should remain or perhaps it's even somewhat expected that just a specific distro remains. Regardless, most distros allow different desktop environments to be installed and thus a choice should be made between the different available options. In the case of desktop environments, one should just try out the available ones until a decisive choice can be made. Switching later on is fine anyways.
Having said all of that, whatever is mentioned above is a lot more involved than what you have currently. Therefore, I wouldn't be surprised if you would deem most of it out of scope.
Moving on to the actual critique:
While I (somewhat) understand why you've tried to tie one's preferences in earlier used OSes to a potential desktop environment they might like, I do think that this might set new users up for false expectations. Therefore, I would propose to not even go there. If you want them to make a conscious choice on the desktop environment, then perhaps implore them to boot a live USB environment in which they can explore it themselves. The only important thing to note would be that in all cases customization is allowed and thus they shouldn't necessarily abandon a DE for a minor issue as it's most likely easily solvable.
If this gets good (and it certainly has the potential), then only the flowchart itself will be shared while the accompanied text might be disregarded. In hopes of ensuring that others also read the accompanied text, consider to either (somehow) include the text in the image of the flowchart or include a link to the text and ensure it's easily found and one is somehow able to easily access the text through the link. This might even require a shortened custom url that redirects to the text. The exact specifics are obviously up to you though.
I can't agree with the inclusion of both Pop!_OS and Vanilla OS. Don't get me wrong, the potential is absolutely there. But both are currently in a major overhaul and need at least one or two proper releases to mature. Expecting new users to either start with the 'abandoned' old release which they might have to abandon themselves when they move over to the (eventually) matured new release or start with (at best) beta software that may come with a lot more trouble than worthwhile is IMO irresponsible.
I got a ton of smaller (personal) nitpicks, but most of those are related to scope and/or preconceived notions and therefore not worth mentioning here.
I keep coming back to Mint+cinnamon as my daily driver and debian+xfce on older hardware. They just work and both distros and DE are simple and familiar coming from win10. There are enough built-in customization options for me to get the desktop looking how I want it but I don't have to spend a day configuring it if I don't want to. It might be a basic choice for basic people, but I was up and running in about an hour and after a month of not booting into windows I wiped that old drive to make room for data. I may switch over to LMDE at some point, but that is more philosophically motivated than an actual need.
Thanks for the write up @Guenther_Amanita@feddit.de ! That will guide my further distro hopping
I wanted to know what you meant by 'outdated' regarding Pop!_OS? What's wrong with it?