4 ms·
The shift from X11 to Wayland was a natural disaster that the fragile Linux ecosystem couldn't afford, and failed to deal with. It's set desktop Linux back more
by veidr 3y ago
The shift from X11 to Wayland was a natural disaster that the fragile Linux ecosystem couldn't afford, and failed to deal with. It's set desktop Linux back more years than anything else I know of, although hard science-y numbers on that are pretty hard to come by.
I don't want to come across like I am complaining about the developers and their work, because sooooo much great work went into Wayland, and some subset of it is great, and it's great if you just need a simple desktop with one or two displays and don't need any of the (long) list of things that don't work.
But the underlying problem is so, so complicated — far beyond like "which distro do you use, Fedora or Ubuntu or Arch or...?" or "which desktop environment do you use GNOME or KDE or Mint or...?"
For "desktop" computing, X11 and Wayland (and all the shit that relates to them) are a huge part of the foundation of all of those. Like... possibly as complicated as the kernel itself, when you factor in the need to thread so many needles in terms of getting widely disparate teams and contributors on the same page and the absolutely enormous number of things that X11 does, in horrifyingly insecure and now-mostly-unmaintained ways, which are still relied upon by so many many pieces of critical software on Linux.
All of that needed to be not only rewritten, but completely redesigned and re-architected, by volunteers, and volunteers who don't necessarily agree on anything.
The process has been just as agonizing and glacially slow as you'd expect.
I've written before on this website about my own multi-monitor setup, which effectively required me to adopt Wayland a few years ago. X11 just can't handle the number of monitors (usually about 5). Those also have different resolutions and scaling factors.
It would get too long to go into why I need those and what I do with them here; let it suffice that I had to do it, and thus I had to adopt Wayland earlier than I otherwise would have, because it broke so many things:
- Remote Desktop (we used both xrdp and AnyDesk — neither those, nor anything close to them, work on Wayland — there is a fairly new, extremely limited RDP server in Fedora 39's version of GNOME, but it's still an incredibly kludgey implementation that requires you to login to the GUI first (presumably, many times that is the part you wanted to do remotely)
- sharing screen, remote presentation in online meetings ... is just a clusterfuck of brokenness (although I haven't tried everything out there, I've tried a lot over the past 5 years and it's by and large completely broken)
- Synergy, a really useful piece of niche software to control Linux alongside Mac and Windows with a single mouse and keyboard — seemed to try really hard to support Wayland, for years, and failed (as did all others in that niche, I believe)
- tons of useful end-user text macro and scripting software (Autokey, etc) doesn't work; basically most of it, although the one I use, Espanso, luckily does have a mostly-working Wayland edition
- NVIDIA (but also: fuck NVIDIA; like many others in this thread, I switched my hardware to AMD, and that was long overdue even without (but especially with) Wayland
- screen recording, essential for many jobs, doesn't work
- even the many things that do kinda work, or partly work, on Wayland have tons of bugs or missing edge cases and feel just very alpha/beta ... but have for many years
I'm just an end user, not a developer that works on any part of Wayland, but I feel like the switch to Wayland failed. We're now in some post-failure loss-cutting phase where we (the community I mean, but that definitely includes users) are trying to figure out what losses we can cut, what workflows we can move to e.g. the web, or do in some other way other than a desktop computer GUI.
I think X11 is like the Windows XP of Linux, and Wayland is the Mac OS X 10.2 of Linux. One is crappy and janky but covers all the use cases, except maybe the new cutting-edge ones, just like it has for decades. The other one is new and shiny, does a few things well, but fails at many basic things, and won't be "finally good" for several more years.