Every so often i start believing all the posts about how Linux really made a lot of progress, and the desktop experience is so much better now, and everything is supported, and i give it another try.
I've got a small intel 13th gen NUC i use as a small server, and for playing movies from. It runs windows 11, but as i want to run some docker containers on it, i thought, why not give Linux a try again, how bad can it be. (after all, i've got multiple raspberry pi's running, and a synology diskstation, and i'm no stranger to ssh'ing into them to manage some stuff)
Downloaded the latest Ubuntu Desktop (23.10), since it's still a highly recommended distro, and started my journey.
First obvious task: connect to my SMB shares on my synology to get access to any media. Tough luck, whatever tool Ubuntu uses for that always tries SMBv1 protocol first, which is disabled on my synology due to security reasons. If i enable it on my synology i get a nice warning that SMBv1 is vulnurable and has been used to perform ransomware attacks, so maybe i'd rather leave it disabled (although i assume that's mostly the case if the port were accessible from the internet, but still). Then i thought "it's probably some setting somewhere to change this", but after further googling, i found an issue that whatever ubuntu is using for SMB needs a patch to not default to SMBv1 to get a list of shares.... Yeah, great start for the oh so secure linux, i'd need to enable a protocol that got used in ransomware attacks over 6 years ago to get everything to work properly... (yeah, i ended up finding how to mount things manually, and then added it to my fstab as a workaround, but wtf)
Then, i installed Kodi, tried to play some content. Noticed that even though i enabled that setting on Kodi, it's not switching to the refreshrate of the video i'm playing. Googling further on that just felt like walking through a tarpit. From the dedicated librelec distro that runs just kodi that has special patches to resolve this, to discussions about X not supporting switching refreshrates, and Kodi having a standalone mode that doesn't use a window manager that should solve it but doesn't, and also finding people with similar woes about HDR. I guess the future of the desktop user is watching stuttering videos with bad color rendition? I'd give more details about what i found if there were any. Try googling it yourself, you'll find so little yet contradictory things...
Not being entirely defeated yet, i thought "i've got this nice GUI on my synology for managing docker containers & images, let's see if i can find something nice on ubuntu", and found dockstation as something i could try. Downloaded the .deb file (since ubuntu is a debian variant it seems), double clicked the file and ... "no app installed for this file"... google around a bit, after some misleading results regarding older ubuntu versions, i found the issue: https://www.omgubuntu.co.uk/2023/10/install-deb-ubuntu-23-10-no-app-error
Of course Ubuntu just threw out the old installer for debian files, and didn't replace it yet. Wouldn't want a user to just be able to easily install files! what is this, windows?
For real, i see all the Linux love here, and for the headless servers i have here (the raspberries & the synology), i get it. But goddamn this desktop experience is so ridiculous, there has to be better than this right? I'm missing something, or doing something completely wrong, or... right?
If your screen is at 60hz and your source is at 24hz, some frames will last 2 frames, some will last 3 frames, it's a subtle stutter you see when for example the image is panning (and linux defaulted to 30hz on my monitor, so 24fps on 30hz refreshrate the effect is even more noticable), so i prefer the system to just switch to the proper refresh rate. The monitor/projector support switching to exactly 24fps, in the infinite power of linux, how hard could this be, for real. I get this is "advanced" and "a nice windows feature". But ffs, it's switching your display output. I can right click on my linux desktop, go to the display settings, and select 24fps refresh rate, and it switches. How hard could it be to provide an api to let an application do the same...
If the community is like this on every nice to have feature that shouldn't be that hard to support, linux probably also isn't for me.
(reminds me of another subtle issue i noticed in Kodi. on the windows version i can use the back button on my mouse to go back to the previous screen, on the linux version that didn't work. found an issue about it, where the replies were "we can't map every specific input system you have by default" (but the windows version can). And even better "wtf is a back button on a mouse" (that guy apparently missed the last decade of computer mouse development). And even after multiple users mentioning "we just want the linux version to behave like the windows version", but that question was just ignored in favor of "configure it yourself in the settings (even though the config didn't allow to map that button", and the ignorance of what even a back button on a mouse would be.
I understand that 24/60 doesn't divide evenly. My point is just that televisions don't have this feature either. When I watch movies, even if the source is 24hz, my TV stays at 60hz.
Either way, there certainly is "an API" to do it. With
xrandr
you can justxrandr --refresh 24
and it would work. It's something that is absolutely doable. Whatever xrandr is doing clearly the X server is exposing ways to change it. So anyone saying "X can't do that" is probably wrong.I don't know much about Ubuntu other than everyone recommends it because it's overly simple and then inevitably things go wrong with it and it's impossible to fix because its overly simple. If I had to guess, this is something specific about Ubuntu and it using wayland by default. Wayland is the X replacement, so any fixes for Xorg refresh rate changing definitely don't apply.
Potential solution : if you log out, on the log in screen it should give you an option of which desktop environment to log into (a gear in the bottom right corner with an option for "Ubuntu on Xorg")...
It's possible that Ubuntu has removed this option recently. Wayland is the future, but it is different from X and not all software is ready for that change. My guess is that the checkbox in Kodi uses the Xorg APIs to change refresh rate, and Wayland doesn't use those APIs, so it just doesn't work. Wayland is in awkward teenage years where it's trying to pretend like it's ready to take on the world, but it's got a lot of rough edges still.
I would say that refresh rate changing doesn't really reflect on "linux on desktop" (a normal desktop use case doesn't have refresh rates changing regularly), but rather "linux as a HTPC/media center". And furthermore, most of your complaints are specific about Ubuntu. The biggest "Linux has issues" problem is that people are still using Ubuntu and picking a distro is way too much work, and the wayland transition is breaking some functionality of some software that hasn't updated yet.
I would like to point out that you have come into a Linux community and lead off with "this is a terrible experience" and then described quite a few issues that either "Ubuntu" (not "Linux") issues or otherwise somewhat non-standard uses. So if you're getting a weird mix of "defensive," "agreement that Ubuntu sucks, use something else," and "utter confusion about the use case" ... its probably the way the conversation started.
Also, this wouldn't be the first thread where someone shows up and complains purely on the basis of "linux isn't windows" so the community is already primed to be agitated about threads like this. Kneejerk reactions aren't the best, but I'm sure you weren't trying to come in here and coming across as aggressive either.
I knew i wouldn't come across too well XD. I might as well have posted this on the "off my chest" community. This was written in frustration so will be negative & harsh, but i'm technical enough to also know that at least 2 of the issues i mention are pretty unforgivable. But just browsing to an SMB share that is discover relying on a protocol that is deprecated and was exploited over 6 years ago by ransomware... Gotta love linux security focus. And that installer suddenly disappearing from ubuntu... nice way to ruin your user experience and make anything they google obsolete and unhelpful and make it hard to figure out how to install stuff when it's not in the default app manager.
And i love how the refreshrate issue is like a magnet for people here to be like "yeah, but do you really need that" (and while they're at it ignore the other 2 issues, since they're inconvient to address). But our eyes are really god at detecting disturbances in smooth motion. I can at least easily spot it, try it next time you watch something on your tv, whenever the camera pans, if the refreshrate & framerate don't perfectly divide, it's visible. It can not bother you, good for you, it does bother me. It's like if i say "you're now on manual breathing mode", and for the next 5 minutes you'll be very aware you're breathing. If the camera makes a nice large panning movement, and i point out how you can see the framerate not matching the refreshrate, you'll probably keep seeing it whenever the camera pans...
Refreshrate is the magnet probably because it feels like the only one that isn't covered by "yeah, ubuntu is shit. I agree." And I understand fully how much refresh matters. I use 144 and 240hz monitors because low refresh bothers me. It was intended as less of a "this shouldn't bother you" and more of a "this is an edge case feature that not even my blu ray player handles, and that's built for the specific purpose of watching videos." It's purely a use case I had never heard of before, so declaring Linux not ready for desktop over a completely niche feature feels unfair. (But again, I would check for Xorg vs Wayland)
Ubuntu has been moving more and more of their software away from deb packaging and towards "snaps" which are their own thing. And snaps are terrible. imo, Canonical is basically trying to figure out how to turn Ubuntu into a walled garden like Microsoft and Apple have.
So Ubuntu handling it's packaging poorly and having out of date software with poor configurations doesn't surprise me at all. I can't counter your argument there because I agree with you that Ubuntu isn't good for desktop. I'm not ignoring those issues, I'm agreeing (just about Ubuntu, and not necessarily Linux as a whole, which has a separate set of issues, like driving you towards Ubuntu in the first place)
I'm currently typing this on a Mac. I literally went into the settings and couldn't immediately figure out how to change my refresh rate at all, let alone how to make my video player change the refresh rate automatically to match the fps of each video file it was playing. Does that mean MacOS isn't ready for the desktop?
I'm actually trying to substantively address what I think is the actual root of your complaints, which I actually think is pretty valid. But this specific detail is a bonkers thing to seize on as something holding back Linux from desktop adoption.
Great question. Are you interested in a substantive answer?
I'm a developer, go for it :).
Haha sure. So one of the biggest weaknesses of Linux is that it's a big patchwork of stuff that was all put together by some particular person to solve some particular problem at some particular time. On Windows, it really is as simple as what you're saying: Make an API, these are the functions, done. It might not be simple under the hood but it's all at least under one entity's control, and it's clearly a nice thing to have, so they have the organizational will to make it happen.
On Linux, you might have three or four pieces of software all which have to interact, some of which were designed decades ago. The video player is maybe using Qt or SDL or something like that. It needs to call library functions in whatever it's using. Those functions need to exist (and the video player's developers have to know which one to call, and make the changes). In order for those to actually work, the library API needs to make calls to Wayland. Oh wait, are you using Wayland? Or Xorg? Depends on your distro. Once it makes it to Wayland/Xorg, it's probably good. But there are already three different APIs that need to have the calls added to them, and the people involved have to all agree on getting it done, and if at any point something changes, it all falls down.
(That's also the explanation for your back-mouse-button sadness. It honestly gets worse than that; I had some toolkit the other day which couldn't understand mouse scrolling which really should be a solved problem at this point. Actually, that was a python / matplotlib problem now that I think about it -- this type of problem impacts pretty much anything that comes from the free software side of the fence.)
If your software is centrally organized, and the people putting it together are profit-motivated, you don't have issues like that, because no sane person would centrally organize it that way, and as you pointed out, end users tend to hate it. On the other hand, if your software is put together by people who want to be able to use it every day, you can say "install me a web server" "now put Wordpress on it" "now install GIMP so I can edit photos" and each of those is a single
apt
command which takes a few seconds, which is way better than the installation process on Windows. You don't have to hunt around on different web sites, and it all keeps up with security updates automatically. But the down side is that sometimes simple things turn into a big pain in the ass if they happen to cross over multiple boundaries of where different entities' softwares intersect. And as you've discovered, they genuinely don't care at all if you want your back button to work right; they're happy with how their machine works and consider it your problem if yours doesn't. Some people in the corporate-Linux space have been trying for a very long time now to make it "beginner friendly" but in my mind that's always going to be a pretty extreme half-measure just because it's not designed to be so.Does that help?
I guess it kind of helps, but that means that the linux desktop will always be a shit experience, and i should just stick to my headless linux servers and find something else if i want a GUI... which is kind of sad...
And the strength you see in linux... ok, WSL in windows is probably a bit less efficient, but for most usages all those windows downsides are now moot with WSL & docker. if i want to install a web server and wordpress, it's just as easy as any linux server. And installing programs like image editors, can't say i've ever encountered issues doing that on windows.
Of course i know the main advantage of linux is no spyware crap, but it's kind of sad if after all these years that's pretty much still the only advantage. And i do use many open source apps in spite of free(mium) or cheap commercial/cloud alternatives existing that are more user friendly, if it gets the stuff i want done done, it's good enough. But it seems i'm still not ready for the linux desktop experience, no matter how often it's repeated on the fediverse here how good it is now...
I mean, I don't think it's a shit experience at all. It's different. If you're not aware of the strengths, then weaknesses like this are going to turn you off a lot. For me, I would never try to run Windows as my main desktop unless some weird situation came up that really required it, but some of the stuff you're picking out as issues are real issues, yes.
I'm such a dickhead that I literally just spun up a totally fresh Debian server just so I could type
time apt install apache2 wordpress
and can report that it took 46.314 seconds including me starting blankly at package lists for a little bit before hitting enter. Go install a web server and Wordpress on a fresh-installed Windows machine and come back and tell me how long it took and how many steps. The point is not that one literal example -- it's that once you learn how to use it, you'll be able to work faster and more happily on it than you will on a Windows machine. If you need something in the domain where Linux shines, networking or development, it'll be as far ahead of Windows as Windows is on things like consumer-hardware support and end-user experience. If you don't need that, then it's not relevant to you and its weaknesses will piss you off and of course you won't like it.This is a very strange statement.
I mean... maybe those are the same people telling you to download Google Chrome .debs so I'm not sure I would put much stock in their statements. I've been hearing for over 20 years that Linux is obviously ready for the desktop, and I'm honestly not really convinced (with experiences like yours as pretty good examples of why).