We love to praise linux constantly and tell everyone to change to it (they should) but what are your biggest annoyances ?
Mine would be, installing software (made even more complex by flatpaks being added, among the 5 other ways there already were to install software) and probably wifi power management issues.
-
audio - Most of the time it works, but there have been plenty of times that after an install, I have to go in and make a handfull of changes to get it working.
-
“you are using it wrong” developers - Lookin at you, Gnome, Mozilla and Pottering. Yes, you are donating your time, and I appreciate that, but don’t be dismissive of people if they bring up valid issues. If you just don’t want to fix problems, that’s fine, but just be honest about that, instead of blaming the user.
-
sleep/hibernate - I’ve never depended on sleep or hibernate to work properly. I gave up on that years ago, and whenever I come back and try it again, I remember why I gave it up.
-
documentation - As a seasoned linux person, I love man-pages, but they are soooooo obtuse and hard to parse for newbies. I also hate it when the website has mountains of documentation, but they couldn’t be bothered to put that into the man-pages.
-
video/wifi drivers - Yes, I know that this is mostly a problem because of the manufacturers. That doesn’t mean it isn’t a problem.
-
unsympathetic users - Just because it works for you, doesn’t mean it works for other people. I can’t wait for year-of-the-linux-desktop, but it just isn’t there yet. As soon as you have to tell a non-tech to open a terminal, the vast majority of them are out. You and I know that ‘editing /etc/somedir/somefile and running /usr/sbin/somecommand’ is easy, but sooooo many of them don’t know what that means, nor will they care. I hear that windows is pretty bad nowadays, but people will often stick with the devil they know.
Last point is the most important in my opinion
So much this!
Please, if I don’t know how to build this from source, please tell me what I need to do.
Please say “open a terminal and type git clone [URL]” instead of “clone the repo.” Anything to be more verbose. This might be my first time.
Agreed. Even something like: “Read up more on this here at someurl.com for more info”. The assumption that everyone knows how your repo works, as well as the 3 different build-tools that you use, is quite a lot. I feel like a of the instructions are like how you draw an owl: https://kstarr.com/wp-content/uploads/2021/11/draw-the-owl-300x257.png
The audio stack is just just a nightmare, it’s not even funny. Sometimes, at random, when my PC boots, it will output white noise at full volume through my headphones. The is fine if I turned it on and went to get something, make a coffee, whatever. I can still hear it in the other room though. If I’m sitting at my PC and I was just rebooting, wearing the headphones: that isn’t ok. It damn near blows my eardrums out when it happens.
Great summary! Longtime Linux users and tech people in general tend to forget what it’s like to be a layperson, and take for granted all the skills it takes to daily drive Linux without trouble.
Great summary, too many Linux elitists like to claim Linux to be without flaws and every other OS to be the devil.
I’d love for Linux to become more mainstream. But as long as those elitist are pulling the strings, it will never become user friendly enough for a regular user.
“But I moved my granny to Linux and she can use it” is their argument. When in reality every time this granny had an issue, the Linux user came around to fix it. The majority of people do not have a tech savvy user in their direct circle capable of fixing Linux. So the only option they have is to bring it back to the store they bought it from.
Sleep and Audio are definitely my most annoying, and prominent, issues that I run into. Devices like USB audio interfaces I find tone temperamental. Oftentimes they will not be recognised on startup and I have to unplug them and replug them back in. I also gave up on hibernate, my PCs are now either on or off…
The unsympathetic/pedantic users and obtuse man pages are why I’ve abandoned Linux attempts in the past. The reason I am trying to move to Linux now, isn’t because those were fixed. It’s because windows is becoming the more annoying option. I’ve prevented my computer from updating win 10 until I can leave the platform. But I’m not looking forward to dealing with Linux frustrations. Especially the fucking users. I hate asking Linux people for help. 95% chance I just get a pedantic dickwad.
I think things are getting better. I’m not going to lie and tell you that it’s no longer a problem, but I think you can do a lot more with a little patience. I know there’s a lot of different implementations, so you might need to experiment as well. Good luck!
To be fair, my colleagues have audio issues on Windows more often than I do.
The classic “oh, windows reset all my audio configurations after an update… again…”
-
The community’s general overestimation of the average person’s tech capabilities.
Not necessarily fair to pin this on Linux per se, but there’s hardware that doesn’t work well or at all still and alternative solutions still aren’t there. So this would be mostly on companies making software for Windows but not for Linux, but it’s still part of the Linux experience that I do not enjoy.
I have to troubleshoot things on Linux more than I did on Windows.
I disagree honestly
I think the biggest strength of Linux is that it gives people power over their own computing. That has and probably will be its best selling point.
I personally wish that there was something Linux based and Foss that is closer to Chrome OS/Android. I want to have a desktop experience that is hassle free and dead simple. Dahlia OS was promising for a while but it has now seemingly been abandoned.
You disagree with… the things I personally find annoying about Linux?
Snap. The very existence of it.
-
The lack of a universal application installation method which 98% of developers use. Windows has .exe and it makes it so much easier for developers to release one application which is dead simple for users to install. No instruction manual with different methods per distro. Just double click. This results in less support for Linux in general. Fewer games and applications an drivers with fewer features.
-
Poor backwards compatibility. Yes it results in bloat, but it also makes it much cheaper to develop for and maintain applications, and this results in more developers for Windows. More hardware and driver support. More applications. More games.
It is no mystery to me why developers don’t focus more on Linux support. It’s more expensive. They tell us this. What is so frustrating is that Linux fans are so quick to blame developers instead of focusing inwards and making Linux a more supportive platform for said developers.
The lack of a universal application installation method which 98% of developers use. Windows has .exe and it makes it so much easier for developers to release one application which is dead simple for users to install. No instruction manual with different methods per distro. Just double click. This results in less support for Linux in general. Fewer games and applications an drivers with fewer features.
That’s not true. .exe isn’t an installation method, it’s just a binary, the better equivalent would be .msi. Also you also have to consider (some) dependencies on Windows, e.g. you can’t assume the required vcredist is available on the target.
Poor backwards compatibility. Yes it results in bloat, but it also makes it much cheaper to develop for and maintain applications, and this results in more developers for Windows. More hardware and driver support. More applications. More games.
Not super sure about this. I was able to run an over 10 year old binary only game when I last tried (UT 2k4 in 2016 or so) and it worked after providing a single missing library. Yes, it did require manual intervention, but I think the situation is much better on Windows where compatibility also isn’t granted anymore.
10 year old binaries are only an achievement on Macs.
I have been able to run Lotus Organizer on Windows 11, 20-30 years old and only runs on a FAT formatted partition of maximum 4GB.
That’s not true. .exe isn’t an installation method, it’s just a binary, the better equivalent would be .msi. Also you also have to consider (some) dependencies on Windows, e.g. you can’t assume the required vcredist is available on the target.
I think one could argue this but it’s immaterial. My point remains the same. The lack of a universal installation method makes deployment expensive on Linux, and confusing for users.
Not super sure about this. I was able to run an over 10 year old binary only game when I last tried (UT 2k4 in 2016 or so) and it worked after providing a single missing library. Yes, it did require manual intervention, but I think the situation is much better on Windows where compatibility also isn’t granted anymore.
I can run a 1998 copy of StarCraft designed for Windows 98 on Windows 11. It’s true there are degrees of backwards compatibility here, but Windows is king. They invest a lot of dev time into ensuring applications remain operational for decades. Their API deprecation policies are legendary.
I think one could argue this but it’s immaterial. My point remains the same. The lack of a universal installation method makes deployment expensive on Linux, and confusing for users.
If you’re fine with an executable just writing stuff to your system, then .sh is Linux’ universal installer format.
It’s true there are degrees of backwards compatibility here, but Windows is king
I agree, Microsoft has invested a lot into backwards compatibility and some nifty tricks to deal with DLL hell which was a huge issue in the past and as a result, provide the best backwards compatibility, as long as you stay on x86-64. Nowadays, each .exe basically sees its own sets of dlls in the filesystem. I agree it’s best there. My point was rather that it’s not as bad on Linux as people make it out to be if the application was packaged correctly. Going forward, I think stuff like Valve’s Linux Runtime can provide compatibility.
If you’re fine with an executable just writing stuff to your system, then .sh is Linux’ universal installer format.
I would be, but it’s not enforced. Few developers use it. Any method needs to have almost total universal adoption. Then libraries get built around that standard instead of the other way around.
My point was rather that it’s not as bad on Linux as people make it out to be if the application was packaged correctly. Going forward, I think stuff like Valve’s Linux Runtime can provide compatibility.
That’s fair. It’s getting better. Linus Torvalds agrees with you. Valve might have to save us from this fragmentation.
-
The fact that there is NO agreed single package standard across distros.
This is probably the biggest barrier to mainstream linux adoption - devs have to choose between supporting 5+ package formats or just say “screw it” and make a windows/mac app instead.
This has its pros. If all agree to use, say, deb, then some of the users will complain, “I downloaded package XYZ from Arch and it doesn’t work on Fedora!”
No, not really true, IMO.
If all distros come together and agree on a single package format (e.g. deb), then if arch makes a package available in .deb, it can be downloaded and installed on Ubuntu or Fedora, as it becomes an universal package format like flatpak.
Currently we have to compile the source code in such situations.
If flatpak is universal doesn’t it solve the issue ? Is it the sandboxing people dont like?
My system is a mix of .Deb, manual compiled, and flatpaks. As im sure many are. Im not an organized person.
Yep, it’s sandboxing that I don’t like. They feel “tacked on” and don’t integrate properly.
Same for my system which is also a mix of deb, flatpak and Snap.
The main complain of flatpak being size and performance in comparison to ‘native’ installations.
This is my own opinion, but I think Flatpak and Flathub need to be universally adopted as a standard. It’s already growing that way organically, even if major distro projects haven’t recognized it yet.
With usage of Flatpak growing over time, I think we are heading towards that way.
Terrible documentation that is written assuming far too much prior knowledge.
I’m pretty technologically literate but just don’t have a lot of experience with Linux, in the last year of trying properly to switch over the most frustrating part is trying to fix problems or follow peoples “guides” to various things. There is plenty of information out there for sure but when I have to keep looking up a string of things to try and get to my desired end result then the original documentation I’m trying to follow is not adequate.
I can only imagine what it might be like for users who are less inclined to learn about this stuff and just want to use it / solve a problem.
I think that a lot can be said for well written documentation that describes necessary processes to get a desired result in a way that everyone can follow regardless of their prior experience or knowledge.
When I first got into tech, one of the first things I noticed was how deep the knowledge base was, layers upon layers of knowledge dependencies, and how poorly tech people explained things.
I remember learning about how to write clear, easy to follow manuals in IT classes when I was 13 in the late 90s. What ever happened to that skill, did it die along with physical manuals?
I think just the phrase “IT classes when I was 13” is enough to convey just how far outside the norm your experience was.
I have a CS degree from a top-10 university, and they taught me approximately fuck-all about writing good documentation. There was only one course on technical writing, and I don’t remember it being very rigorous or difficult.
If anything, what few writing requirements we had in the rest of the curriculum were typically more similar to academic research papers than user manuals.
Must have. I sure as hell didn’t get that training in school a couple years ago. My teachers sure as hell didn’t either
It did. The thick manuals of the 90s needed to actually document things.
Flatpaks apps & their runtimes is taking 20 gb, was 80 gb before I realize it and start cleaning up. That’s annoying. But I also like Flatpak. I may just prioritize DNF first (I’m on Fedora) to minimize Flatpak bloats.
60 gb is very significant for me being in 256 gb ssd.
As someone who started getting into Linux on a Raspberry Pi (and now dual-booting Mint and Windows on the bigger machines), I still have no idea what Flatpak is. I always used to hit the terminal with “sudo apt install” and got what I needed. Except for the occasional proprietary software.
It’s a separate package tool that works on every distribution. Usually Debian derivatives use
apt
, Redhat ones usednf
etc. Flatpaks work everywhere.
Middle click to free scroll not working in non-FF browsers
Chromium added it a while back, but you have to launch with
--enable-blink-features=MiddleClickAutoscroll
The norms on where files belong are really dumb.
Similarly, programs being entitled to strew files all over kingdom come.
Ten different ways to install software and maybe one or two of them actually keep track of where all the files are and clean them up properly upon removal.
Ubuntu and GNOME
I’ll be nice in case the developers are reading.
I just think they’re both pretty misguided in their goals.
Ubuntu used to be Debian plus your laptop’s Wi-Fi works out of the box. The hardware support has improved and now Debian in 2025 is better than Ubuntu, plus Debian never shows you terminal ads or prompts you to
snap install
something that obviously isn’t going to run well inside the default Snap sandbox.I wouldn’t recommend Ubuntu to any new users now. I’d sit and install Debian stable with them, and if something is missing, I’d try Debian unstable or the proprietary repos.
No offense to on-the-ground Ubuntu devs, but Ubuntu really feels like Debian plus a billionaire’s desire to make money reselling Debian.
GNOME… Wants the desktop to look like a phone. Got rid of the system tray and then you have to do a little dance t re-install it. I don’t know why. I’ve had useful stuff in the system tray since Windows XP.
I think GNOME might have also spearheaded the trend of ruining SEO and documentation by naming apps what they do instead of with real names? Like “Movie player” or “Web Browser”. I don’t know if they did any studies or if it helps new users but it’s real weird for advanced users. Most people know that “Chrome” is a brand of web browser, so why would you name your web browser “Web Browser” and make things weird? I like KDE’s thinking. Pick a name and wedge a K into it. And then make an anime furry its mascot. Can’t beat that!
There was a conspiracy theory years ago, because someone from Microsoft was making decisions at GNOME, that GNOME was going to be eaten inside-out by MS, like Nokia was. They were rolling .NET Mono stuff and some kind of object model… I don’t think it got far but I don’t care. I switched to xfce on my desktop and KDE looks great on the Steam Deck and laptop. KDE used to be heavy, but hardware got bigger.
I actually love the package managers on Linux. Apt would be better if you could install multiple versions side-by-side, but I get why that’s hard. Whenever I use Windows it’s like, gross, I have to use MSIs again? I can’t just
apt install git curl wget screen lua
? And on macOS I can install brew but a lot of apps use that funny pattern where you drag it into the Applications folder, and then you must remember to unmount the disk image, and also some apps aren’t in the Applications folder.I actually love systemd and everyone can fight me on this. Systemd is really nice.
Suspend/sleep. I bought a specific laptop so it works, but these manufacturers need to let our developers know what the fuck is going on in the hardware
The sleep/hibernate is specifically designed to work only with windows, especially on modern hardware. It’s a known problem and it’s not easy to reliably get around it.
That stuff doesn’t even work right on Windows anymore.
It’s kind of sad, 10-15 years ago I’d say everyone (both Linux and Windows) more or less had the whole sleep/hibernate thing figured out. But it’s all gone to shit in the past few years.
Presumably, it’ll work in a few years. Which is when Microsoft will change it to something else.
vendor support
Not a Linux thing directly but something that bothers me a lot: The complete lack of support from professional applications.
Wanna use this tool that cost hundreds of bucks on Linux? Lmao fuck you.
You’d think companies that actually make money could afford to support Linux and hobbyists doing FOSS stuff for funsies can only focus on the OS they use themselves but somehow we live in a world where the opposite is true.This is what makes switching to Linux for me personally and probably a lot of other people completely unviable because it means having to give up on thousands of dollars of stuff for “freedom”.
And the onus is 100% on the companies developing software. They have to offer Linux versions first, so people can switch to Linux, giving them more Linux users. Doesn’t work the other way around.
Oh also psst don’t ever mention spending money on proprietary software around Linux people, they will have a heart attack.
I mean the way i see it, not everything can be free. People are putting their time and lives into these programs. And not everyone donates even to projects they’ve used for decades.
Linux needs a shared API framework for all desktop apps for them to succeed. It’s ridiculous that gnome apps and other apps look different and have different theming conventions. I’d love to get into theming and application building, but I’m so afraid that I’ll waste my time on something that won’t apply to everything. macOS solved application cohesion perfectly.
There’s now game developers dropping native support for proton, because proton has a more uniform, stable and predictable API.
So while Linux in many ways becomes the better way to play Windows games, it’s also better to play Windows games on Linux than Linux games on Linux.
I can see a future where more and more of Linux just becomes a wrapper around Proton.
Libinput. I want to use wayland. I would use wayland. I will not use wayland because libinput is the antichrist.
Every now and then I update my system and go to move my cursor and say (aloud) “wow, this is ass!” And that’s when I know that I’m in a wayland session or libinput has otherwise been selected as my touchpad’s input driver. And it’s not like other Linux things where I can just change some settings to tune it, noooo, because why would you need to do that?? Let’s just make an input driver that shakes the cursor with my every heartbeat and a hardcoded acceleration profile that is simultaneously too sensitive to click small things and not sensitive enough to move a window across the screen without multiple touchpad strokes because that’s perfect on every system and everyone should just be okay with that because it’s the standard and good and I hate it hate hate hate hate
Hate hate hate hate hate
Hate
(I very much appreciate you, libinput developers, you do great work and I am grateful for it, and I just have some (kind of maybe very strong) suggestions about configurability in your design philosophy)