5 Things I Hate About Linux – Let’s Make Linux Great!

Linux is powerful, flexible, and open-source… but let’s be honest — it’s not perfect. In this video, I dive into five of the biggest problems with Linux that drive users crazy in 2025. From messy package management to unreliable hardware support (and more) — I’ll break down some of the issues that stop Linux from being as great as it could be.

YouTube player

Five Things I Hate about Linux

Package management is a mess

Let’s start with package management — because honestly, it’s a mess.

If you’re new to Linux, package management refers to the standard way software is installed. Most distributions use software repositories to deliver applications, and you install those apps with a package manager. From the terminal, this is as simple as running something like apt install. But you don’t have to use the terminal — many popular distros include GUI “app stores” that pull from the same repositories. Fedora and similar distributions have GNOME Software, Ubuntu has the Ubuntu App Center, and Linux Mint includes Software Manager. These tools generally make installing software pretty straightforward for most people.

Unfortunately, package management across Linux is wildly inconsistent, and that inconsistency comes with real downsides.

Take LibreOffice, for example. When a new version comes out, Windows and macOS users can download and install it immediately — they simply download the installer and run it. On Linux, many distributions only provide older versions of applications in their repositories. That means you might not get the latest LibreOffice release for months or even years. Distributions like Debian stick firmly to this approach: they freeze application versions until the next major OS release. As a result, you can end up stuck with outdated software even when newer versions are widely available.

This doesn’t just affect convenience — it affects compatibility. Using LibreOffice again as an example: an older version may struggle with opening or saving certain Microsoft Office documents not because LibreOffice itself is inferior, but because your distribution’s older build lacks the latest compatibility fixes. This leads some Linux users to believe LibreOffice is the problem, when the real issue is stale packaging.

Now, not all distributions work this way. Rolling-release distros keep everything up to date continuously. Arch Linux is a perfect example — you simply update your system and you get the newest versions of everything. But rolling distros are less common than fixed-release ones, and fixed releases often leave users stuck on outdated applications. Supporters of the fixed-release model argue that avoiding the latest software increases stability, but that simply isn’t true. Newer and older versions both contain bugs, and locking users to old versions actually introduces its own problems.

There are ways around this. Tools like Flathub let you install the latest app versions directly, bypassing the distribution’s repository entirely. This works well, but for new Linux users it can be confusing. They’re suddenly forced to ask: “Should I install the version from my distro, or the version from Flathub?” That kind of fragmentation can be overwhelming.

In my opinion, Linux repositories are excellent for system-level components — the OS, drivers, libraries, core utilities. But user applications should not be tied to those same repositories. Flathub already provides version pinning, so users can choose exactly which apps should stay on older builds and which ones should follow the latest upstream releases.

In the end, the state of package management on Linux is chaotic, and it’s the number one thing I believe needs to improve.

Hardware Compatibility is Mixed

Next, let’s talk about hardware compatibility on Linux — because it’s a mixed experience.

The reality is that Linux actually has excellent hardware support, often better out-of-the-box than Windows. Most common hardware “just works” on Linux without needing to manually hunt down drivers. In contrast, Windows frequently requires users to install drivers for networking, GPUs, and other peripherals before everything functions correctly. For example, consider this screenshot of the Device Manager in Windows after a fresh install – there’s a number of question marks here, which represent drivers that will need to be installed manually if Windows Update doesn’t end up finding them.

But even though hardware support is generally better on Linux, there are exceptions, and those exceptions are what give people the impression that Linux has poor hardware support. The most common trouble spots are GPUs and Wi-Fi adapters. NVIDIA cards, for example, require a proprietary driver to reach full performance. Some Wi-Fi chip manufacturers don’t release drivers at all, or only offer poorly maintained ones, forcing users to install them manually. And since GPUs and Wi-Fi are critical components, problems with these create especially frustrating situations. Still, the majority of hardware on the market today works perfectly out of the box under Linux.

So why do I say Linux has great hardware support, but I also call it inconsistent?

The inconsistency comes from the distributions themselves. Each distro handles drivers differently, and some ship with much older driver stacks than others. Debian, for instance, is one of my favorite distributions — but its philosophical and technical choices lead to extremely outdated drivers. That means if you buy a brand-new laptop today and install Debian, there’s a real chance something won’t work because the drivers included are simply too old.

Ubuntu, meanwhile, does an excellent job with newer hardware. It includes more recent drivers, and it ships “hardware enablement” (HWE) updates that add support for newer devices over time. Fedora releases new versions twice a year, so it tends to stay reasonably up-to-date as well. But because each distribution updates drivers at different speeds, your experience with Linux hardware compatibility can change dramatically depending on which distro you choose. Two people with the same laptop can have completely different experiences simply because they installed different distributions.

There’s another complication: some distros restrict access to proprietary drivers. Proprietary drivers don’t provide source code, so distro maintainers can’t fix bugs or patch them. NVIDIA is the clearest example — the open-source driver that ships with Linux performs significantly worse for gaming, so most users need the proprietary driver. Ubuntu makes installing it simple with the “Additional Drivers” tool. Other distros, however, make this process unnecessarily difficult or refuse to include proprietary drivers at all.

And while I understand that proprietary drivers are far from ideal — they’re closed, hard to fix, and often less stable — sometimes they are the only way to get full performance from your hardware. If you paid hundreds or thousands of dollars for a GPU, you deserve to use all of it. Distributions that restrict access to these drivers create a worse experience for their users, not because the Linux community prefers open-source (which I agree with), but because these restrictions punish end users instead of the vendors responsible for the problem. This kind of gatekeeping can single-handedly turn newcomers away from Linux.

The best personal solution is to buy hardware that explicitly supports Linux. That’s what I do — I research everything before I buy it. But many people come to Linux after purchasing their hardware, and they shouldn’t be penalized for that. When a distribution ships outdated drivers or blocks proprietary ones, it’s essentially punishing users for choices made by hardware vendors. That’s not fair, and it’s not helpful. Proprietary drivers may be unpleasant, but if a vendor refuses to open-source them, it makes no sense to punish the people just trying to use their hardware. Every distribution that tries to block proprietary drivers is doing a major disservice to their users.

HiDPI

Next, let’s talk about HiDPI displays — screens with very high resolutions. In Linux, support for these displays is inconsistent across distributions, and sometimes it’s outright bad. When HiDPI isn’t handled properly, text becomes tiny and difficult to read, and entire applications can appear so small that you have to squint to make out anything on the screen.

To be fair, most distributions do offer scaling options to fix this. You can usually increase the interface scale to 150% or higher, which makes everything larger while still keeping the display at its optimal resolution. Since nearly every modern distro includes some form of scaling, the issue is relatively easy to correct.

But what I find strange is that some distributions still default to no scaling at all on HiDPI screens, making the interface nearly unreadable right from the start. Even worse, some installers themselves aren’t scaled properly, so you’re forced to navigate tiny text before you can even reach the settings menu. Some distros get it right and automatically scale appropriately, while others expect the user to adjust everything manually.

Because I record demonstrations for videos, I encounter this constantly. Before I even start recording, I often have to adjust the scaling settings — and sometimes the text is so small that I have to lean in until my face is only inches away from the screen just to read the options. Scaling is such a simple fix that it’s baffling to me why some distributions don’t automatically apply it during installation. If the first thing a user sees is unreadable text, that leaves a terrible first impression. Why not default to 150% scaling on HiDPI displays? If someone prefers smaller text, they can turn scaling down with a single setting. There’s no downside.

Another frustrating part of HiDPI is that some applications don’t respect the system’s scaling settings. Even after you configure scaling in your distro, certain apps may still have tiny text. To be fair, this isn’t Linux’s fault — it’s on the software vendors. And this problem isn’t unique to Linux; Windows and macOS have the same issues with non-compliant apps. So while I can’t blame Linux for third-party applications that don’t scale correctly, I can question why some distributions still choose to default to no scaling at all.

Fortunately, once you find the scaling setting, it’s easy to adjust. But the fact that some distros don’t provide readable, properly scaled text out of the box just makes no sense.

Lack of popular apps

Another issue with Linux is that some popular applications simply aren’t available, which can make Linux users feel like they’re being left out. In other cases, the applications are available, but they’re harder to install or behave differently than they do on other platforms. To be fair, plenty of well-known apps work great on Linux — Slack, Visual Studio Code, Steam, Google Chrome, Microsoft Edge, and many other cross-platform tools are available and work great. App availability on Linux is better now than it has ever been, but it’s still far from ideal.

A major example is Adobe’s suite of applications, which isn’t available on Linux at all. That doesn’t affect me personally because I don’t rely on Adobe products (and never have), but users who do may have to learn entirely new workflows using alternative tools. Gaming is another area with gaps. While the situation has improved dramatically — especially with the popularity of the Steam Deck pushing more developers to consider Linux — many AAA titles still don’t support Linux or worse block it altogether due to thinking Linux users are cheating just because they use an alternative platform which is just plain silly. GOG Galaxy isn’t available either, and several productivity apps are missing as well.

Personally, this doesn’t impact me too much because I follow a “Linux-first” approach. For content creation, I use tools that are designed to run on Linux: DaVinci Resolve for video editing, Audacity for audio, GIMP for graphics, and so on. But even then, I hit obstacles that users on Windows or macOS simply don’t experience. DaVinci Resolve, for example, has inconsistent Linux support. On Windows and macOS it usually installs and runs without much trouble, as long as your hardware is compatible. On Linux, installation can be finicky, and codec support is incomplete. This forces some video editors to rely on uncompressed formats that waste a ton of storage space.

Another example is the lack of native Microsoft Office applications. Yes, you can use the web versions, but in my experience they don’t perform as well as the desktop apps on Windows. This pushes users toward LibreOffice, which is completely capable — but the interface is different enough that new users have to relearn where things are. And to make matters worse, just like I mentioned with my first point some distributions ship outdated versions of LibreOffice, which can cause compatibility problems when opening Microsoft Office files. These issues aren’t LibreOffice’s fault, but users often assume they are. For the record, every book I’ve had professionally published was written in LibreOffice, so I know it’s a solid tool — but outdated builds can give people the wrong impression.

I do think this situation will continue to improve as more vendors recognize the value of supporting Linux. But right now, people switching to Linux may run into missing applications, inconsistent support, or the need to adjust their workflows until the ecosystem matures further.

I do expect this situation to get better over time as vendors start to realize the value of the Linux platform, but people switching to Linux right now might end up with a mixed experience or may need to relearn their worfklow until the situation gets better.

Toxicity within the Linux community

Finally, I want to talk about an issue that causes more frustration for new Linux users than anything else: toxicity within the Linux community itself. Unfortunately, this problem shows up in several ways.

One major example is elitism. I often see new users post on Reddit or community forums about how proud they are to have installed Linux, and they share which distribution they chose. Instead of being welcomed, someone replies to tell them they made the wrong choice — “Ubuntu is terrible, you should’ve installed Fedora,” or something along those lines. This kind of behavior is ridiculous. The entire reason so many distributions exist is to give people options. Criticizing someone for choosing a distro you personally don’t like makes no sense. Yet some people act as if their preferences are the only valid ones.

Another problem is the habit of dismissing questions with “read the manual.” The whole point of forums is to discuss and help each other, so getting annoyed when someone asks a question completely defeats the purpose. In reality, many people do read documentation, but it’s not always well-written or easy to understand. And even when someone hasn’t read the manual yet, discussing things openly is still valuable. Responding with “RTFM” helps absolutely no one. If someone is so bothered by beginner questions that they can’t respond politely or constructively, it would be better for them to simply say nothing. Such a useless reply adds no value and only pushes people away.

Another form of toxicity comes from the hostility toward new technologies. Flatpak, Snap, systemd, Wayland — all of these receive backlash simply because they’re different from older tools. This constant negativity is not only discouraging for new users, it also discourages developers. Imagine spending hours writing a patch for systemd, only to have someone dismiss the project by saying “systemd sucks.” With that kind of environment, it’s a miracle anyone contributes code at all.

To me, this is the Linux community shooting itself in the foot. Constant complaining, gatekeeping, and elitism make things harder for newcomers and can burn out developers. And honestly, why would anyone want to switch to Linux if so many users seem to spend their time arguing about which distribution or technology is “correct”? Choice is one of Linux’s greatest strengths — but that strength becomes pointless when people are shamed for making different choices.

Going forward, I think communities should adopt stricter moderation and better guidelines to reduce toxicity. Encouraging constructive conversations about pros and cons — instead of empty “this sucks” comments — would make a huge difference. Not everyone uses software the same way, and not everyone values the same things. If we communicate more respectfully and focus on helping people rather than criticizing them, the Linux ecosystem will absolutely grow.