609
No rest for the virtuous
(lemmy.dbzer0.com)
Post funny things about programming here! (Or just rant about your favourite programming language.)
Frankly, the only reason I care is the end-user drawbacks that Wayland seems to have. There are tons of bugs and issues. On top of that, I use Nvidia proprietary drivers which also causes more drawbacks and issues. It feels like at this point a third option needs to be made available. It's been 15 years since Wayland was released and it still has a large amount of bugs and isn't ready for most distros to adopt it.
I've not touched the Wayland or Xorg code, and I've not looked into why Wayland is so broken, but the major issue I see is that it's taken them 15 years to still have a buggy display server. Display servers need to be the most stable you could possibly make them. They need to be made with desktop and fullscreen exclusive apps in mind. They need to be made modern and extendable while also ensuring those extensions aren't able to crash the entire display server. They need to be robust and that's just not what you are going to find with Wayland, or Xorg, or perhaps even Linux in general.
Wayland isn't broken it's new. Let's take, say, global shortcuts: Doing it the X way means that if you can display a window, you can keylog the whole desktop. That's not acceptable in a modern design, so wayland clients are isolated from each other, and the wayland devs simply left it out, saying "if people need this, they can come up with a protocol extension to do it properly". Then, years later, desktop environment devs came around and said "hey, global shortcuts, what about that" and spent two years hashing out a protocol to do it, one that will stand the test of time. It in fact didn't become part of wayland but xdg-desktop-portal, a collection of protocols started off by the flatpack folks to enable interaction across sandbox boundaries: The application doesn't say "hey x server, give me all keyboard input everywhere" but "hey wayland compositor, if it wouldn't be too much bother and it's fine with you I'd like to react globally to this key combination".
And then random software comes along and refuses to implement things and users complain that everything is broken. Yes, code will have to change application-side for Wayland, unless your app doesn't do a single call into Xlib but does everything via toolkit there's going to have to be changes. But what did you expect you're using a library that's fucking 40 years old. A library that was written with the devs fedexing source back and forth because the internet was too unstable to reliably send two or three megabytes over night because it was still a research project.
...and along also come random desktop environments and their devs unwilling to implement standards for absolutely no reason. Not just mostly but pretty much exclusively Gnome. This mpv commit captures the opinion of the wider community quite well. (mpv's main gripe is gnome's lack of support for server-side window decorations, with the gnome devs going "tell your tk to draw them" -- mpv doesn't use a tk and is not about to start to link to one just to draw decorations which the server can do better because mpv couldn't care less how they look or what buttons they have).
Wayland wasn't the first attempt at replacing X. It has made more traction than any other attempt, though. There's no real hurry - it's not like X eats your babies and runs over your dog.
As far as robustness goes, that's mostly the driver. I've yet to see a bulletproof display system, commercial or non-commercial. If you cut out driver issues, X is on par with or more stable than other systems. It had better be, given that it's had decades of bug fixes with few new features to cause new bugs.
Feels like this is entirely just blaming the driver which isn't the cause of 99% of Wayland issues. I know obs, another open sourced project, has caused a lot of issues with Wayland. It's not driver related.
As for xorg not being a problem, in the same regard why even bother with a display server at all. The point isn't that's it's bad it's that there are better ways of doing things.
I wasn't clear. I meant that the issues with X crashing were usually driver issues. I have no idea about Wayland - I don't use it since it doesn't do what I want by design.
X does the job well enough to be invisible to most people. Yes, we need a clean start in order to move forward efficiently (lots of assumptions about computer displays from the 80s no longer apply), but it's good enough for most people's needs.
Why bother with a display server? Some people - like myself - actually use that functionality. It's not part of the design for Wayland. Personally, I think that's a mistake - especially as things become more cloud-based - but I'm obviously in the minority.