back
460 comments
> Regressions are introduced all the time because Linux developers spend very little to no time checking that their code changes don't cause regressions or breakages outside of the problems they're trying to fix or features they're implementing.

Wow. Such sweeping generalizations make me not want to pay attention to anything this article has to say.

But let's entertain the possibility that parts of that statement are true. It's practically impossible for "Linux developers"—whatever that means—to ensure that a change they make doesn't break something downstream. Unlike proprietary operating systems, the Linux ecosystem is not maintained by a single company, so it's impossible to know and account for all the environments a piece of software will run in. Distro maintainers work tirelessly to ensure bugs don't make it to users, but it's simply impractical to test every single combination of hardware and software that exists. This is extremely difficult even for proprietary operating systems where development is centralized, let alone for a distributed environment like most software for Linux, and Linux itself, is developed in.

When you think about it, it's a miracle of modern software engineering and a testament of the power of collaboration and the free software movement that the Linux ecosystem works as well as it does, and in many areas matches or exceeds the functionality of other operating systems, all the while preserving important user freedoms. GNU/Linux is a stronghold for user-friendly computing among alternatives from companies that want to control how you use your computers, or profit from your data or attention. It's not perfect, but it's one of the few options we have (besides the BSDs, but I wouldn't consider them to be as user-friendly).

> It's practically impossible for "Linux developers"—whatever that means—to ensure that a change they make doesn't break something downstream. Unlike proprietary operating systems...

That's exactly the point, though. Linux will "never be ready for the desktop" because of the problems that this causes. Developers of software for Linux, not to mention kernel developers themselves, do not have the kind of funding that Microsoft has to test on a truly staggering number of hardware configurations. And on the opposite side of the spectrum, they don't have the luxury of supporting a comparatively small set of hardware combinations like Apple has.

And if the assertion was true, I'd be feeling those regressions at least monthly on my leading edge, unstable (~amd64), Gentoo box, that is my daily driver desktop I use at $DayJob.

This box has been stable enough to make money. But not as stable as my backup (also Gentoo) which runs stable and updates weekly.

Edit: my biggest source of stability issues are Nvidia drivers mis-matched from kernel. Takes a whole reboot to fix.

https://gitlab.freedesktop.org/drm/amd/-/issues

Just check this bug tracker. Just this one. Bug report on top of bug report caused by a fix which was caused by another fix.

Sadly it's not just one bug tracker, I keep an eye on many of them.

Of course in the magical Linux land if "It works for me", then the author is lying.

Never mind that the author of this "click-bait" article is a ... Linux kernel bugzilla maintainer. Yeah. I can vouch for every letter in the article. It's written with my blood.

You spent a whole lot of words to effectively say that you agree with the poster.

Your entire post begins with a weak "no that's not true", and then the entre rest of the post is explaining why it is true and will never change.

Working for a vendor that ships Linux code, we find regressions all the time. Because we actually test things. We do try to be good citizens, and Linux is the right answer, but it isn't a false assertion on the part of the author at all.

In a previous job, 20 years ago, we found that the Linux USB stack was so bad that it was full of deadlocks and unprotected shared memory on 2.6. Just atrocious. And subsequent releases broke it again and again.

About 5 years after that, working for a different company, I had a well-known kernel developer tell me point blank that as long as we release our code to the kernel, they will "keep it working." When I probed what that meant, he genuinely saw no difference between "compiling" and "working."

There are various efforts to add testing/tests. Those are good. But we lost a lot when Solaris, Irix, etc. all died, and Linux has never quite gotten there, and I doubt it ever will.

“it's a miracle of modern software engineering and a testament of the power of collaboration and the free software movement that the Linux ecosystem works as well as it does”

It can be a miracle, and yet still not be good enough. Even as a business user, knowing that if I build an app and it probably won’t work in 5 years, is all I need to know about this hobbyist toy. Linux is fundamentally not ready for anyone who has needs more than a Chromebook (which also runs Steam, by the way).

It’s like pointing to a skyscraper made out of sand. Sure, it collapses every time the tide comes in, but your robots can rebuild it in 5 minutes flat, so it’s clearly ready for tenants.

- "The vast majority of applications exist only for Windows, and speaking of games, Linux hasn't seen any AAA titles for many years now,"

The vast majority of AAA titles run seamlessly on Linux. Per protondb[0], ≥80% of the top 10, top 100, and top 1000 are rated "platinum" or "gold" for Linux functioning (by users).

[0] https://www.protondb.com/

> Also, despite millions of players, it's hard to call CS2 an AAA title because it's based on Direct3D 11 (which is now more than a decade old) and lacks modern lighting techniques like ray tracing.

Some of the quotes from the OP's page border on parody. So, CS2 doesn't count as a AAA title because it's based on DX11 and doesn't have realtime ray tracing. But apparently this same person is oblivious to the fact that both real-time RT and DX12 translation have been completely usable on Linux for years now. Nvidia helped ship native RT to Linux clients in Wolfenstein: Youngblood, and Proton has supported the majority of DX12 games with RT since before the Steam Deck existed.

Kinda makes you glad that this is the final edition, if that's the sort of due diligence being exercised.

Steam Deck wouldn't be a thing if Steam/Windows games didn't run well on Proton/Linux.
Wine/proton work so well at this point it may as well just be considered just another runtime environment (like Java or the .Net vm).
I'm a big linux fan. Use it every day. I even use linux on the desktop to develop Windows software that isn't even distributed on linux.

But am I really that alone in recognizing a lot of truth in this article? It's sad to see so much hostility within some of the other comments, even here on HN, quickly coming to linux's defence rather than having at lest some degree of reflection and acceptance towards what are almost undeniably the very common experiences of many linux users.

It somewhat proves point 7 that while not exactly to the letter of the examples given, support the point that until there is wider acceptance of the problem we are far far from a solution.

It's possible to think very positively of linux yet still recognize so many of the challenges that make linux hard to use on the desktop. This very day I can't suspend/resume my desktop because the kernel crashes on resume, a pretty basic feature of a computer in 2024. I put up with it, because Linux is still a great choice for a technically-minded user. But there are other software orgs out there that simply wouldn't tolerate this level of lived experience of any end user. But linux does, and we are where we are.

The main criticism I see as valid here is first point: software distribution is tricky. For macOS and Windows you basically have a model where you can go to a website, download a binary, install it, and it runs.

Most Linux distros won’t jive with that very well. And because every Linux distro uses a different theme and one of a dozen UI libraries/DEs/etc. the downloaded GUI application will look bad because it won’t fit in. Flatpacks and snaps really are a solution that just allows you to not pollute your OS file system (which was never designed with the concept of apps: there are no reasonable namespaces, no easy ways to uninstall, etc.) and to statically compile the app so the next OS update doesn’t break it.

If the distro contains everything you want in its repositories you can use an “App Store” front end to get what you need and the OS will helpfully keep it up to date which is more than you can say for Windows and almost what you can say for macOS. But if you need a third party app you are out of luck: including it in the distro is a process most people won’t want to undertake.

The solution is likely not going to make the nerds happy: something like snaps are the right abstraction for Applications (I am using the capitalized version here to distinguish it from system programs). What will also happen is that some Linux distros will support this kind of solution out of the box and will be the desktop distros. Not every Linux distro will be blessed with being able to run popular apps. Ubuntu is likely on the right track for this and the Unix purists will hate it more every year as it loses the original shared system philosophy and inches closer to what macOS provides.

So the real question is: do you use your Linux distro desktop for the kernel, the package system, the package repositories, or the 1337 cred?

These are a bunch of reasons why the top 1% of the most technical users in the world might not use Linux on their desktop.

For everyone else, the reason they don't use Linux on their desktop is because it didn't come installed on it.

If somebody does to desktops like what Google did for smartphones, then Linux will finally have its moment.

Again?

I’ve been using Linux on my desktop since 2004 or so.

And lack of games is always brought up as if gaming was one essential feature of a computer. That’s what consoles are for.

I've been patiently trying a distro of Linux every other year for the past 20... Someday. The general trend: Things work well from a native install. When you start installing software and drivers, the OS gets totalled, sooner or later.

> What's worse is that software compiled for the current version of Linux X will not necessarily work for the current version of Linux Y. Linux distros insist that all the software must be compiled for their current releases or provided as source code. The problem with source code is that normal users won't bother to compile anything, and secondly, it's not always possible to compile software because it may depend on a specific compiler or dependencies that your distro doesn't provide

This is at the core of it, I think. Forcing a user to compile C code is a bad user experience; it often fails due to linking or other dependency-related errors.

The main reason why Linux on the desktop has never gone mainstream is that it is extremely difficult to find a good laptop that comes with Linux preinstalled, where the OEM is responsible for ensuring a seamless experience, as any bugs in WiFi, audio, drivers, peripherals, etc. is the OEM's responsibility, not the consumer's.

99% of computer users will never consider replacing the operating system that came installed on their system, they don't want to risk bricking it or losing data.

Recently a friend of mine asked me to help him with his Surface laptop. He was unable to install Windows whatever he tried. I didn't believe him but it was exactly as he said - during the first boot the laptop would turn off and then show a generic error next boot. Ubuntu worked just fine.

What was the issue? Immediately after power management initialization during the first boot the system seen that the battery was in a bad condition and tried to hibernate but for some reason crashed instead. Out of warranty, the battery is extremely hard to replace, so a registry quirk injected through a Linux boot cd immediately after setup helped.

Is Windows actually ready for desktop?

When I see the articles I believe the title should be "Linux is not Windows so I do not like it".

I have used Linux for just shy of 30 years. It is different than Windows and far more powerful. It is just that people do not want to learn different things. Plus Linux has no spyware.

These days, you can do anything on Linux that you do on Windows, except for some 3d Gaming. And that is because hardware vendors refuse to support Linux in the way they support Windows. It is the fault of Video vendors, most notability Nvidia.

So off to my usual rant :) If I was the "ruler" of Linux, I would make sure no Nvidia GPUs would work under Linux until Nvidia opens up their GPU.

The Windows desktop is unusable shite, not the Linux one. OSX also fine.

My Linux desktop machine does not crash. It runs whatever I ask of it boringly reliably. So does a laptop. That's been my experience for twenty years now.

My shiny new Windows 11 work laptop locks up about twice a day. Reboots if I hold power for long enough to start running again. Gives me no indication what is going wrong. Doesn't even give a blue screen with an error message.

Bluetooth usually connects after twenty minute or so of repeat attempts. Accidentally plugging in a dock overrides mic/speaker settings to ones that don't exist in multiple places. Routinely demands reboots to update itself with no observable change in behaviour.

The Windows system isn't even stable enough to host virtualbox - that upsets the network connection.

Useless.

My retired parents would disagree, having happily used Linux Mint for years now. Whenever I need to use Windows while teaching in school, I wonder how people put up with a system that is so user-unfriendly, some would even call it hostile.

The main difference, I feel, is that with Windows you can tell the system is built with a company's interests in mind, while in Linux this feeling is absent, and instead, you can tell the user is at the center of attention. And even if the system may not be perfect, it constantly evolves for the better. Just this difference ensures I will never go back again, nor will I ever recommend anything else.

With Windows, the system is a boss, with linux, you are the boss :)

I have only read section “1” but I already have more than one reply worth of thoughts….

Windows software from yesteryear frequently requires an installer that will not run on modern Windows. 16 bit installers are very common. So, the situation is not quite as rosy as reported.

My main complaint though is calling Flatpaks “light-weigh VMs”. If you are technical, you know what he means. If you are not, this leaves a totally wrong impression. Flatpak emulates no hardware. So there are zero “virtual machines”, light-weight or otherwise. Flatpaks run in a sandbox but mostly that is just a feature of the Linux kernel. Flatpak apps run directly on the host kernel just like any other app. It is totally true that Flatpaks “waste” lots of space because the way they provide portability is to bundle all the libraries that the app may need.

If we are going to complain about Flatpaks though, let’s be honest about how older Windows apps work on modern Windows. They do it by bundling all the libraries that the app will need. If you try to run ReactOS, you will learn that often you need to install old versions of the C and C++ standard libraries ( along with other things ). It is true that Windows includes much of this “out-of-the-box” for compatibility. And guess what, you pay the storage space for that on Windows. There is a reason that Windows is 30 GB freshly installed. Linux does not make you pay that tax. Instead, you have to install that stuff the first time you install a Flatpak. If you install a second Flatpak requiring the same libs, they share the space—just like in Windows.

So let’s not dump on Flatpak for wasting space just because it waits until you need it to install all these support libraries. I do not want my Linux distro to require 30 GB minimum drive space just in case I install Space Cadet Pinball.

Do I like Flatpaks? No actually. I use a distro with a huge repo largely to avoid them. Do I think Linux backwards compatibility could be better? Yes, actually. But please, let’s at least be honest and accurate when we talk about these things.

1: I just don't see who these articles are written for. Linux is on the desktop, it's called Steam Deck, and millions are are using it. So, the author is wrong here in the spirit of the question, and the truth of the question.

2: The statement "Linux developers spend very little to no time checking that their code changes don't cause regressions or breakages" cannot be applied to all or possibly most developers. What packages is TFA talking about here? Maybe TFA means "Denuvo developers spend very little time checking that their code changes don't cause rootkits or kernel exploits - in Windows."

3: "Lack of general software" - TFA seems to be arguing that because software is not specifically compiled for Linux, it is therefore not "available", which is laughably false. My entire Steam library works just fine on the Steam Deck and in Debian. In fact, many of those games run on Steam/Proton when they could not be made to run on modern versions of Windows.

4: "Poor file and folder sharing" - I don't think TFA has ever tried Samba in an all-Linux environment, but I will grant that permissions across machines can be tricky. You know, like sharing folders between Windows XP, 7, 10, and 11.

5: "Lack of funding on the desktop" - Listen, I don't think IBM/RedHat are underfunded. I don't prefer Gnome Desktop, but it's perfectly functional, and funding doesn't seem to be an issue there. Maybe we should ask Canonical if they've ever funded desktop work.

6: "Hardware support and compatibility" - Listen, I'm using an HP 1012 laser printer. Microsoft stopped writing drivers for this perfectly usable printer in Windows 8. I'm using a modern GPU (Radeon 6700XT) that has drivers built right into the kernel. I'm using a scanner that was new when Windows 2000 was new, and I can tell you, it won't work in Windows anymore but it will for sure work in Linux. Once again, TFA does not give examples.

7: Ok, I'll give him this one. You can pay for commercial support for Linux if you want it, though! Canonical and Redhat would love to have your money.

Summing up, it seems like this guy is just complaining that Linux isn't a commercially-supported O/S, except it is, if you pay for it. Maybe he means "Linux isn't Windows." So, his entire premise is wrong, and trolly. And speaking of trolls, you'll see TFA's name in the ars forum if you search, and I'll give you two guesses what his posts there look like.

Very trollish. The second such article I have seen recently on the HN front page.

What does "not ready for the desktop" even mean? Its been ready for MY desktop for over 20 years. Points 1,2,3 and 4 are pretty much wrong. Point 5 is a problem for other OSes too (there are bugs in applications!), point 6 is only relevant if you have particular hardware you want to work with Linux, and point 7 is not my experience.

I find it hard to understand why someone would take the time and effort to write something like this.

I can assure you 'linux' works just fine on the desktop (something I have done for a couple decades), and while there is some truth to the security and funding challenges, I find taking the article seriously difficult given the current alternatives.

Both Microsoft and Apple are openly trying to force you into their vision of computing, which is pedicated on their control and profit.

I have machines that run Windows and MacOS, but those both get worse every year, while Debian (and other distros) get slightly better.

I can run many AAA games on Proton, have access to the best development tools available, and am granted choice everywhere.

I can't even log in with a local only account on the latest version of Windows, and MacOS makes it harder and harder to install my own software (unless I pay them a tax, via a yearly dev account payment.

Linux is closer to the way forward, we just aren't there yet.

I've been working on a cross-platform Windows/MacOS/Linux application for the last 2 years. All three of them have very significant pain points. Linux isn't ready for the desktop, but neither are Windows and MacOS in significantly different ways.
> Linux is not an operating system

It is though. Go ahead and find me any distribution of Linux on which this binary of the Zig compiler does not work:

https://ziglang.org/download/0.13.0/zig-linux-x86_64-0.13.0....

You can't, because it's a static executable whose only runtime dependencies are a file system.

And if kernel devs would bless us with a stable graphics ABI, then we could do this for games, too. Unfortunately, the way drivers work currently relies on dynamic linking in a way that drags in a dependency on differences in distributions, which is completely unnecessary and maddening.

Related: https://www.youtube.com/watch?v=pq1XqP4-qOo

P.S. Just bought my wife a steam deck for christmas and she loves it.

I've been using Linux for 15+ years. Here are my counterpoints.

1. Linux is a software ecosystem. Varying flavors and options to fill almost any need of computing solution.

2. Bugs and Regressions are crowd-source community solved. Bugs don't last long if it's keeping something from working.

3. There are so many open-source games native to Linux/Windows/Mac that don't get enough attention. Most of them are free too.

4. Filesharing on linux is as simple as a command line operation. See rsync. Also there are countless GUI apps that use rsync.

5. Funding is everywhere in Linux and open source software. See IBM, RedHat, Google, Microsoft, Amazon among a few.

6. Hardware drivers are plentiful for Linux. Hardly have any issues.

7. The community will help you. They've helped me for years.

All I can say as a person using Linux exclusively for the last 10 years:

- You're using the wrong Linux distribution

- You're using the wrong Linux kernel version

- You have the wrong hardware

- You're using Linux incorrectly

- You're asking for too much

- Go debug or fix it yourself.

Edit: This is sarcasm by the way. These bullets come from the article.

In all seriousness though. I think another poster had the right idea. Linux requires a mindset shift. You must be willing to be a master of your own destiny. I've used Linux largely problem free for 10 years. I took some time to learn how to do things "the Linux way" but once I did it's been smooth sailing.

I recently have had to use Windows for work and it's annoying as hell. Every day after lunch one of my monitors just turns off and rearranges all my windows. On Linux, I could dig into the problem, and worse case just have a xrandr script to hack a solution together. On Windows I'm just SOL looking and dead Windows message board threads.

Myself I'm in the other camp; I genuinely don't understand how people find things like MacOS or Windows usable as a desktop.
Anecdotally, over the last 15 or so years I've been a professional programmer the number of fellow devs I've seen using Linux as the primary OS of choice on their dev machines has gone down considerably. Most are on macOS now, and I'd say even Windows has greater usage than Linux in recent years. Docker I think is the primary reason for the switch. You can develop anywhere and be reasonably certain that your application will work the same on a Linux server. I'm not sure if there even is a target market for Desktop linux anymore.
I don't agree with the author, but fair enough, he makes some good points. Where he really loses me though is in section 7. Now maybe I've just been miraculously fortunate, and found the best part of the Linux/Steam Deck community, but I've literally never been told to fix it myself, that I'm expecting too much, etc. What I have found is that people are almost overwhelmingly friendly and eager to help, they see a new person entering their beloved realm of Linux gaming and they want you to fall in love like they did.
I've been running Linux on my desktop since 1994. I've never actually run Windows (or DOS) as my main computer. From the first time I saw commercial Unix in 1991 I knew that was what I wanted. I have about 15 computers running Linux.

The author mentions non technical people and I will happily say that I'm a computer engineer designing semiconductors. Linux may not be the right OS for billions of people out there but it works perfectly fine as a desktop for a few million.

The reality is most people are well served by either Windows and/or macOS.

Both platforms have received billions of dollars in developpment by MS and Apple over the years and both have an extremely rich and mature app ecosystems. For most people, there's no real need or desire to use anything else.

That's it.

It's not an issue of drivers, games or app compatibility. If there were serious demand for Linux on the desktop, there would be good money to be made there and these issues would get fixed pronto.

I've been using various forms of linux desktop since 1998, now I have settled on arch/manjaro/lxde, I can get away with a cheap machine with only 4 gigs of ram and still do everything I want to with it. I use it for pro audio, writing and coding. For employers for a long time they would provide me with windows, and then in the 2010s that switched to Mac but both of those are intentionally bloated today. Linux Desktop is good for the environment.
I'm using Linux as my main desktop for so long now (>15yrs) that I probably wouldn't be able to handle a modern Windows system anymore. I have not touched any Windows installation for years, and everytime I have to help my wife with some issue on her Windows laptop I just find it crazy how people can tolerate that. It might not be on the same quality level as MacOS but I like the freedom of choice Linux gives me.
None of these are deal breakers.

In my experience, users are spooked by 2 things:

1) Lackluster hardware support (not entirely Linux’s fault, but the distros could have a qualified vendor list, for example)

2) Incomplete UI for the OS. Not a single time in the past 20 years did I set up a Linux desktop without the need to spawn a terminal. This is completely unacceptable and user-hostile. None of the other platforms (even Android) require this.

Points 4 (file sharing) and 6 (hw compat), and part of point 1 (package distribution), are valid critiques. The rest, not so much.

The main reason Linux hasn't proliferated on the desktop is that businesses don't use it on the desktop and that's because they prefer to pay for a license so they get support if something goes wrong, and because Windows has always dominated business software (much of which isn't even available on other platforms).

The second reason is because Mac blows most everything else away when it comes to laptops; it's almost rare these days to come across someone that doesn't have a Mac as their laptop (unless it's a work-issued laptop in which case it's a Dell or something like that, or they want a budget laptop).

Linux is not likely to be mainstream for the desktop because there's not really a business model that drives it like there is for Windows and Mac. And that's fine. I use Linux as my daily driver for work (by choice), though for my personal laptop I have a Mac.

I actually just installed Ubuntu desktop on a spare mini PC I had to try out some cpp game development, and it is a surprisingly nice experience! I prefer it over my windows PC which seems plagued with weird occasional glitches. I still need windows for some things like CAD tools, but I think I'll stick with Ubuntu for most things!
This article could be titled what’s wrong with Linux desktop - but current title is plain stupid. Plenty of people are using it as main OS mainly because all other alternatives have either privacy issues or some dumb gold cage limitations and privacy issues. I don’t think author is dumb - it’s catchy title due to hubris issues.
Always fun to learn that what I've been doing for a while now isn't working.
I don't deny having my own biases, but I feel like I could write an equally multi-pointed article entitled "Why Windows is not ready for the desktop." Linux certainly has its compromises but not any less than the more popular options, depending on your perspective and priorities.
The constant struggle is the lagging support for the best hardware. Unless you want to buy a machine from a dedicated Linux shop (framework, System76, tuxedo), you are taking a risk buying anything remotely new without a lot of research into the hardware and hunting for posts about people who have had success. Those dedicated Linux shops are usually at least a generation behind too. It doesn't help that architectures are evolving rapidly in response to Apple's chips (not a bad thing long term).

Just bought an HP omnibook flip with an Intel 258v. From what I've read I expect most things to work, or work soon with kernel updates. All applications I care about work well. Would be nice to see OpenAI make a desktop app for Linux, or some other open source equivalent.

If the vast majority of applications and games are built for Windows, and that means I shouldn't use Linux, I suppose the same is true about this Macbook I'm on right now. You know what, I'm tossing it out the window the second after I post this message.
Thank you for keeping people away from Linux with these kind of opinions. It makes my life as a Linux software engineer much more profitable.
This article is low effort flamebait.

1. This section is basically pedantry. "you cant use the same software across multiple Linux distros". OK? And PC software doesn't run on a Mac. They are different OS's "Linux" being confused as it's own OS, is just, whatever.

2. Windows and Macs have plenty of bugs too. So much so that we don't do in-place server upgrades, it's a full rebuild each version. I mean look at the Windows 10-11 upgrade situation, it's not great.

3. Lack of general software and games - What? You can play AAA games on Steam on Linux out of the box for the most part. I will concede that industry specific software is likely going to be Windows only, but you can run Windows in a VM. There are options here.

4. Network file sharing isn't any different than on Windows, this is just nonsense.

5. Lack of funding - hand wavy and again, whatever.

6. Hardware support - I haven't really had hardware issues in years. Every Lenovo laptop I've installed Linux on works flawlessly, even Wifi drivers are present in setup.

7. Nonsense again. The Linux community is super helpful.

What a silly thing to read for someone who has been using linux as the only desktop OS for last 10 (or is it 20 already?) years.
I built a new PC in the fall of 2022 and set it up to dual boot Windows and Fedora. I haven’t booted the Windows partition in over a year. Fedora does everything I need from a desktop, including Steam.