My Problems With the Linux Desktop

Let’s be real, Windows fucking sucks. I’ve had a few nagging issues with it and I do feel like I don’t focus as well on it. The virtual desktops are so awful and it results in messy piles of windows everywhere, and I’ve had a few lockups relating to Windows Explorer that weren’t related to things like I/O. But at the same time, it’s also where I was the most productive. When people like me complain about Windows, particularly on “town square” platforms like Bluesky, or even places like Mastodon where this type of user is the majority and someone catches you on the federated timeline, a bunch of Linux users will come out of the woodworks to talk about how they’re free from Micro$lop and in the loving embrace of Linux or whatever. Even everybody’s favourite Swede, PewDiePie, couldn’t help himself, instilling a lot of hope that this will be The Moment for desktop Linux.

However, as someone who’s used Linux since the 2010s, and as someone who has used and donated to KDE, I’ve got plenty of experience and to be honest, Linux is not the panacea at all. It has its own unique issues that need airing out and I want to cut through all the noise. I know people are going to jump at me for this, or try to deflect the blame onto me, so I’ll say this: if room for criticism and pointing out what’s missing is not allowed in the Linux community, the people who are capable of and want to fix these problems simply won’t show up, and desktop Linux won’t get better. I also want to write a post detailing the positive sides of the coin, because there are things that desktop Linux genuinely does better.

Hardware problems don’t count here, as they are going to be difficult to fix at its root without solving the chicken-and-egg problem in comparison to software which can be theoretically fixed with new contributions, whether that be in WINE or in the form of a new app. I will update this as time goes by and new things develop.

Software problems

Linux has some good software to it, but if you use a specific app that isn’t available on Linux, you’re either fucked from it never being ported, or fucked from having to work around bugs that simply don’t exist on Windows. For me, music is important, and I use MusicBee and Apple Music. I touched on Apple Music in this context already, but for MusicBee, I have tried it in WINE and ran into the following problems:

  • Tabs cannot be dragged.
  • Each element of MusicBee is treated by WINE as its own window, meaning windows get popped up like regular windows in KDE. Annoying when the tooltip is classed as a window and ends up stealing focus from the main window!
  • Imports are considerably slower than on Windows at times.
  • Some cover art that’s high resolution just doesn’t show up whatsoever. A notable issue for any of you obsessive MusicBrainz lot who use the Cover Art Archive.
  • Weird issues with UI repainting.

At least with Apple Music, I can use it on my phone, bypassing any need for any Linux involvement at all and allowing it to interface with other Apple devices which I do have. MusicBee however has no viable alternative on Linux. A lot of music players on Linux are too simplistic, while MusicBee aims to be a power-user oriented digital jukebox. It’s like if Vivaldi or Zen Browser didn’t exist on Linux, and all you had were simple browsers with a similar simplistic UI to Chrome or Firefox. Some people are power users, and their workflow works best with power user apps like MusicBee, or Vivaldi, or Zen.

All that said, I did try to use alternatives, but frankly I kept running back to MusicBee:

  • Quod Libet felt overwhelming for me, and had no playlist folder or tag hierarchy template support. The overwhelm came from the fact that stars are not condensed, meaning if you use the 5-star system with decimals (e.g. Rate Your Music, Google Reviews), you will have to stretch it to ten stars, which feels wrong. I had tried to convert RYM tag hierarchy template groups into queries for Quod Libet using an automated script, but this is a convoluted workaround and it even crashes the player if the group is too big.
  • Strawberry does not support multi-value tags which I make very extensive use of. This means features like the Genre Browser would combine tags into one, essentially crippling my music library. For example, Electro House; Festival Progressive House in MusicBee would be separated with a semicolon, but would become Electro House Festival Progressive House in Strawberry as if it was one genre.
  • Tauon Music Box treats ratings like a second-class feature as the developer has an aversion to them, and ratings in Vorbis comment tags are not implemented as a result. I also had major issues trying to use its “generators” feature to make auto-playlists that corresponded to common tag hierarchy template groups I used. (it was the best looking though, I’ll admit.)
  • gmusicbrowser did support star ratings the way I had wanted them, however it’s very old, and hasn’t caught up quickly enough, making its future uncertain.
  • Cantata is unmaintained, nowadays, however when I used it, I believe it only did ratings. I was used to this before MusicBee decided to implement tag hierarchies, which is a feature I make good use out of.

The friction was noticeable enough that I actually noticed myself using Spotify more. Spotify has a native Linux client that works really well, and in some cases received updates faster than Windows did despite its less frequent cycle (I noticed that my Linux install got prompted playlists before my Windows install did lmao). Given the ideology surrounding Linux – and boy I’ll get onto that in a bit – it’s a bit ironic and funny that the best music library manager on Linux, the so-called “anti Big Tech” desktop operating system, is a Big Tech streaming service.

This isn’t just me either, a friend of mine got so sick of desktop Linux for multiple reasons that he is planning a move to macOS, but he dipped his toe in first by messing with a virtual machine and using a player called Doppler. He said that MusicBee felt a bit too overwhelming for him, but Doppler was essentially the Goldilocks player, suiting him just right. And during this conversation he even said that he noticed himself using music streaming more while he used Linux.

The inevitable complaints about Wayland

My software woes also do not end there – I use a media organiser called Hydrus Network. It’s intended to be a local organiser styled like boorus (archival imageboards where files are organised with tags), and I use it to save things on the internet that I like. Hydrus technically works on Linux but if you use Wayland (which you probably are) it has issues if you use the mpv-based video player.

But, this needs a bit of context before I move on.

Desktop Linux is in a transitional state between two display servers, which are the computer programs (weird to call them apps) that handle how windows work, as well as other things like keyboard/mouse input and the clipboard. X11, which was the de-facto display server on Linux, is so old that it even pre-dates Microsoft Windows by a year yet it was still used for many decades as things progressed in Windows and Mac. Because of this, it has a lot of legacy cruft and is hard to maintain and add new features like fractional scaling (e.g. scaling a UI at 150% rather than 1x or 2x) and HDR, so the developers decided to start fresh. Wayland was created as a way to replace a legacy system and future-proof it using a protocol-based system. And to say that the transitional period has gone entirely smoothly would be a lie, and I’m saying this as someone who knows that Wayland needs to replace X11.

Wayland decided to forego embedded windows inside other windows, which was how things were done in X11, and as a result mpv doesn’t know what to do when Hydrus loads it, it shits itself, and it makes Hydrus severely unstable. It’s bad enough that the developer had to warn its users on Linux about it. And it’s not like he can simply fix it alone either – to put things into perspective, UI toolkit developers have struggled with supporting Wayland until recently, so I do not expect a single developer who seems to main Windows to deal with this.

Which leads me onto this: because of how Wayland is structured, and because disagreements happen over things like system tray icons or window positioning, developers have lamented about how complicated it actually is to support Wayland. One good example is from the developers of Avalonia UI, a UI toolkit for .NET that works across Windows, Mac, Linux, iOS and Android, who talk about how complicated it is and how they’re not just supporting a Linux, but different desktop environments that can’t agree on each other and end up making their own protocols to fill the gaps left by said disagreements. And sometimes, what Wayland wants isn’t what app developers want – this developer wrote an entire angry rant focusing on how problematic the disagreements got and they summed it up better than I ever could (they’ll be on the links at the bottom too).

When Wayland is criticised, it’s common to place systemd, an ecosystem for Linux that started as a service manager/init replacement, in the same group. To weed off the weirdos, I’m going to say this: systemd is fantastic for what I need and want, and we should have more standards like it where everything is centralised into one ecosystem. Wayland reeks of the same issue as distros when it comes to developers – like how there’s not one distro to target, there’s not one desktop environment to target, and Wayland exacerbates this with desktop-specific protocols.

The atrocious state of desktop virtualisation hurts Linux harder

Desktop virtual machines are no longer the forefront in the virtualisation industry. They used to be back in the day, as a way to get an old version of Windows or a Linux distro running without having to shell a lot of money on a new PC, or to run Windows apps on a Mac, but a lot of the focus surrounding virtualisation is the cloud, and the datacentres. Unfortunately, only the Mac use case, where both Parallels and VMware have offerings to run Windows 11 on Apple Silicon MacBooks (anything with an M-series processor rather than Intel). This hits desktop Linux hard, especially when you need to virtualise Windows.

VirtualBox is generally unstable no matter what I use – for me, it crashed when running a Windows guest on Linux (particularly with graphics), and it crashed running a Linux guest on Windows. Hooray. VMware is actually really close and given that it’s free, it’s actually the best for virtualising Windows on Linux, but only in theory. In practice, Wayland rears its ugly head again. A focus on privacy means that applications need your permission to access features like input and clipboard (mimicking some behaviours from iOS and Android), and given that VMware has not moved their app to Wayland and are instead relying on XWayland (a small X11 server intended for some backwards compatibility) this has never worked well for me at all. Passing on a clipboard from the host to the guest never works, while giving VMware the permission it needed locked up the entire system.

And then there’s the native solution – KVM/QEMU, libvirt, it goes by different names, I guess. There are no drivers for the GPU on Windows like there is on VMware and VirtualBox, meaning it will be extremely slow in comparison to VMware. The solution to this is to basically attach a physical GPU to your machine, then use that on Windows while using experimental software to view the Windows screen instead of the native solution offered. These are layers upon layers of workaround that I don’t want to ever have to do.

The Bluetooth stack needs fixing for my VR headset

I have a PlayStation VR 2 for VR, and it works perfect on Windows, and there is a WINE fork being worked on specifically for SteamVR drivers, including that of the PSVR2. The developers of PSVR2Toolkit, a mod to the PSVR2 SteamVR driver, had to come out and say that Linux is not the saving grace of VR that people are making it out to be, singling out a bug in the Linux Bluetooth stack that they’re having to work around using code from their mod.

An annoucement from the Discord of the developers for PSVR2Toolkit, the relevant clause is "Also also, I can promise you this as well, Linux is not the saving grace for VR like many people think it is, many things still do not work correctly in VR on Linux, and in general, if you are not willing to put up with insane amounts of issues, please just continue using Windows. There is some other issues that will affect the PSVR2, such as being unable to readjust the PSVR2 Sense controller rate (seemingly due to a Linux BT stack bug?), meaning BT adapters will actually be bogged down more on Linux, which will require using our custom experimental IR LED sync.

A lot of Linux VR users tend to use a Quest (at least until the Steam Frame is out) but even so, this is a software issue that’s worth noting.

Mental health problems (ADHD/OCD)

Some ADHD people get along with Linux just fine, and all the power to them. However, as I’ve gotten diagnosed and treated, and I learned more about myself, I’ve found out that Linux was constantly triggering symptoms of my ADHD and OCD.

The first symptom I want to highlight is perfectionism, and the constant tinkering to get it right. Both operating systems require a bit of annoying tinkering to get going. The difference, however, is that in my experience using both, a lot of that annoying tinkering takes place upon install for Windows, and then you forget that it was ever done in the first place. While Windows does try to get you using an online account to sign in, once you’ve worked around their strong-handing you can stick to that local account for as long as you like. On Linux, meanwhile, I had this constant barrage of things not working, trying to tinker to make it right, and my ADHD brain getting immediately irritated when it never gets to that point. Needless to say, I kept wasting my time. There are also a good few tools out there to automatically tweak Windows to get it to behave – even without having to manually use the command line. On Linux, between the Wayland glitches, dependency on WINE and lack of a good one-stop virtual machine application, I was constantly trying to tinker it to get it to behave when it was basically impossible. It made me less productive.

The second symptom is decision paralysis, also known as analysis paralysis or ADHD paralysis. Per the ADDA:

Also known as analysis paralysis or ADHD shutdown, ADHD paralysis happens when a person with ADHD is overwhelmed by information, emotions, or their environment. As a result, they freeze and can’t think or function effectively.

I was constantly overthinking about the issues on Linux, and how to work around them, and what the best workaround was. It had put me in such an unhealthy, constantly stressful mindset to the point I was locking up and then offloading all my decision making about this to an AI chatbot. Ever since my diagnosis and treatment, I’ve noticed this a lot more as an ADHD symptom, which factored into why I felt I needed to stop.

If you find yourself in this situation, take a step back and figure out what you really want. For me, I liked MusicBee more than I liked Linux, so that factored in to why I went for Windows.

The issues and the obsessive-compulsive perfectionism also fuelled the distro-hopping I had during COVID lockdown. I was swapping between Arch and Gentoo constantly, and there weren’t a lot of people telling me to stop. Not that I would’ve, I wasn’t diagnosed or treated for ADHD at the time, which fuelled my OCD symptoms, so it’d be like talking to a brick wall. If you’re running into this, I’d read this for advice.

Community/ideology problems

You’re going to have problems with Linux, and you’re going to want to fix them. If you want to stay away from large language models and the current AI industry in general, then my advice is to stick to Windows or Mac, because you will find yourself reaching for ChatGPT due to how toxic and ideologically extreme the Linux community is. Even if there are great people in the community – and I’ve met them and become friends! – the toxic loudmouths will ruin the experience for everybody.

These people jump at any moment of Microsoft slamming their penis in the car door to talk about how Linux is an upgrade and generate FOMO towards non-Linux users. When Linux is criticised, they go straight to gaslighting and insults. If you don’t shine their OS in a positive light, they’ll become dismissive and deflect the blame of the problems to you specifically, saying shit like:

  • You chose the wrong distro
  • You chose the wrong hardware
  • You don’t need [app you really want to use here], [app that is nothing like the app you want] does what you need and then some! (this happens a lot with GIMP and it’s caused multiple discourses on Bluesky.)
  • It’s free and open-source so fix it yourself (never mind the fact that not everyone can code)
  • Why do you need this? You use Linux to escape [feature that you actually want]/Linux not having [feature] is actually a feature!

You get the idea. They not only want you on Linux, they also want to control your use of it. This has been something that has been highlighted on Linus Tech Tips’ 2026 Linux challengetwice! – as well as other people like DankPods, who were trying to get support for their issues and ended up reaching towards friends (in the case of DankPods) or LLMs (in the case of Luke on the LTT video). I even have my own example too – when I used Arch, I wanted to use a blue light filter that activated from the sunset times of my local area. I was trying to figure out why the hell it wasn’t working and ran into this thread which had a guy saying he won’t use this feature, and he doesn’t help the original poster whatsoever. Privacy is inherently a good thing, but I don’t see an issue with KDE wanting to use my location to check the weather or find sunset times for a colour filter. That response irritated me enough to write my own post about how I was able to solve the issue, for the odd person on Arch or Cachy or whatever flavour of the month distro having an issue with this.

I also saw a lot of user blaming from Linux users in the context of the Arch Linux malware campaign. For context, Arch’s User Repository, which is a community maintained repository, was hit with a malware attack affecting 2,000+ orphaned packages. A lot of users were quick to blame the user for not checking the package’s scripts, and in fairness if you do use the AUR you should be reading them, however even careful people could potentially not notice anything suspicious particularly in the first wave, which used a malicious Node.js package titled “atomic-lockfile”. It’s ambiguous enough that if you installed an app on the AUR that required Node.js, you’d probably not bat an eye. apple-music-desktop was amongst the infected packages, and I probably would’ve fell for it even though I’m careful to read the scripts. In my opinion, the user is not to be blamed here; the blame lies on:

  • Arch Linux themselves for not implementing safeguards to prevent this attack and making it separate enough from the Arch repositories.
    • If a package was no longer properly needed, Arch’s package maintainers would boot it to the AUR, and at times this also resulted in the package being orphaned and thus hit by this recent malware campaign.
  • NPM (Node.js’ package repository) for being insecure enough for this to keep happening.
  • The programs that allow easy download to the AUR, making the AUR seem like it was a part of Arch.
  • The distros for treating it on equal footing as regular packages.

The community being so quick to blame the user for this is simply not on. There is an undeniable cult mentality, where people shape their identities around Linux and create fragile, conditional connections reliant on herd mentality masquerading as proper relationships, and I think that is part of what’s causing a lot of the toxic behaviours we’re seeing now. When Linux or [insert favourite big FOSS project here] is criticised they will see it as a personal attack against them and their tribe, and they’ll attack you for it.

You can also say all you want about how you can avoid the community by using an LLM, but the truth is, it’s basically impossible to avoid the community because they’re also the ones developing on and influencing the direction of desktop Linux. Alec from Technology Connections sums it up perfectly here:

Then let me leave you with this:The problem I see with Linux (and FOSS more generally) is that the userbase steers it around based on ideology.You want me to separate my criticism of the software from the community but truly I don't think that's very possible, at least at present.

Technology Connections (@techconnectify.bsky.social) 2024-11-25T21:09:41.348Z

And it leads me to this: ideological extremism is actively hurting desktop Linux. There’s no ifs or buts about it. A lot of progress with desktop Linux would’ve been made had the ideologues that form the community got their heads out of their asses and worked more pragmatically. There’s a reason that the drive for desktop Linux was from Valve working to fill their wallets by making their own dedicated gaming platform, but also making that code open-source so it ends up trickling down. It’s a bit like the yin-yang concept, where there is balance between two wildly opposing forces by inheriting a part of the other. It’s not just with political ideologies like with privacy either, GNOME has a strong ideology on their vision of the Linux desktop to the detriment of its users or developers that it’s garnered a reputation of being toxic.

This will lead to development of OCD, and must be stopped.

This is a point I really want to hammer home, as someone who has been dealing with symptoms of OCD. I was talking to a friend who was worried about malware on Arch Linux (which aged well…) and also wanted to run a Nextcloud instance to pry their files away from Big Tech, however he didn’t want to pay for a domain name which Nextcloud requires. I told them my honest thoughts, and that if you’re not doing it for the fun of it, it’s not worth it. It was the responsible action on my part because I noticed that this drive wasn’t coming out of anything other than anxiety, which could develop into obsessive-compulsive behaviour. I know this because again, I have symptoms of OCD and been trying to treat it myself, and I can notice mental behaviours consistent with OCD.

Ideology is generally a great breeding ground for anxiety disorders like OCD, and the Linux/FOSS ideology as well as the ones that surround it are no exception. The idea of self-hosting your own cloud storage like Nextcloud is rooted in data sovereignty and privacy, the respective ideas that no-one except you will be able to control your data, and that your private data stays private. I don’t want to dismiss these principles, as there is validity to them, but that’s also why these principles create a great breeding ground for things like OCD. OCD can sometimes be seen as a “fear of the unknown”, uncertainty scares those who suffer from it. The way to deal with this is not to go all-in on Nextcloud (you wouldn’t be thinking straight setting it up, anyways) – the way to deal with this is to accept the uncertainty, and make a proper, calm decision later. It may not end up going towards the scenario you want, but long-term it’s the way to go. And that’s why I went the honesty route. If these principles were strongly driven by anxiety, this can lead to paranoia and constant “what ifs”, the latter being a core driver of OCD.

My problem with desktop Linux’s community is that they fuel these anxieties, both actively and indirectly. The constant prostelysing of their ideology, notably with privacy and being against Big Tech, fuels paranoia that can lead to unhealthy anxiety disorders like OCD, and given how actively political and ideological this community is, and the cult mentality I mentioned earlier, this only adds more fuel to the anxious fire. I am not saying the status quo is good, and we should strive for better, but going to the other extreme instead of working pragmatically will also make you go crazy.

Conclusion

On discussions online I see people saying “I’m too dumb to use Linux” and I just want to reach through to them from my screen, shake them and say, “no you’re not”. Yes, Windows has its problems, but between the awkward transition period, dependency on Windows apps, and the constant analysis paralysis, desktop Linux always felt like it was in a state of 90% there and there was always something keeping it permanently stuck. They should not blame themselves for being hesitant to try it, especially if their access to spare machines is limited. For now, I’m on Windows, but I do have some curiosity on checking back on KDE just because it’s so good, as I said earlier. I wanted to write this post just so I can air out all of my problems.

Could this be fixed? Well, some of it. .NET has a chance to be the next big cross-platform SDK, with Avalonia supporting Linux and even testing Wayland support in its latest version, and Qt working on programming language “bridges” that include .NET under their support. There are drivers being worked on to bring virtual GPU functionality for Windows onto KVM virtual machines, and while slow at least there’s something going on. Bazzite seems the closest to a one-stop Linux OS that works, along the lines of SteamOS. However for as long as ideology overweighs pragmatism instead of any form of balance, the Linux desktop will be perpetually stuck at “90%” there for a lot of people.

If you liked this, you may also like: