5 ms·
TLDR (non-AI): The author raises very valid points about accessibility under Wayland. The "And Now We Don’t Have a Choice" subtitle seems to address that only G
by mkesper 1y ago
TLDR (non-AI): The author raises very valid points about accessibility under Wayland. The "And Now We Don’t Have a Choice" subtitle seems to address that only Gnome seems to have usable accessibility under Wayland right now but can easily be misunderstood as "we have no alternative to Wayland".
The author also mentions X11 sucked in many ways and that this transition also is a moment to rethink what proper accessibility should fulfill.
- holowoodman 1y agoWayland is a perfect example of the second system effect and the sunk cost fallacy. X11 had problems, but instead of fixing them, developers threw the baby out with the bathwater, designed something completely byzantine and weird. Time was invested, so no stopping now or ever. The design of wayland introduces more problems than it solves, only by plastering over with yet another extra protocol that you have to implement in addition to wayland you might regain some lost functionality. Or paper over a design bug that will never be fixed. Wayland is a dead horse. Made edible by sufficient fermentation and mobile towards the finish line by declaring the rot spreading over the line to be a victory. That Gnome just now gains parts of the functionality it had in X11, years later, while still being actually behind X11, while being an incompatible mess that leaves behind all other desktop environments to the detriment of the Linux ecosystem as a whole isn't actually a victory. Its the victory of the slightly-less-ruined after a devastating war.
- ChocolateGod 1y ago> X11 had problems, but instead of fixing them You can't fix a protocol that simply isn't designed for how modern graphics hardware works. Both macOS and Windows have upgraded their display stacks over the decades, but it was seamless because unlike Linux, nearly all applications dynamically link the system library which they can upgrade. Linux is late to the party here because everyone wants to make their own toolkit. X was designed for multiple remote terminals receiving drawing commands over a network, not locally hardware accelerated graphical interfaces and functions that rely on close coordination between the hardware and display server (e.g. hardware planes, vrr, hdr). Fixing X would require a new protocol to the point that it isn't X anymore, aka Wayland. There are arguments that not having a reference display server has led to problems though.
- holowoodman 1y agoWayland also doesn't even remotely resemble anything that would be fit to talk to modern graphics hardware. DMA buffers and DRM (direct rendering manager, not the digital restrictions management) are an afterthought, a separate protocol that is not even all in stable yet. Vulkan usually doesn't work. Latency with Wayland got worse and won't get better because "frames have to be perfect". Tons of unnecessary blitting and latency be damned. All while actually tearing in Wayland is as bad as in X11 here. Fixing X would require a protocol that is mostly X, but of course incompatible because you have to rip out some protocol bugs. But Wayland isn't X minus the bugs. Wayland started as a little bit of broken bitmap-pushing and a whole lot of hot air. And even with tons of extension and auxilliary protocol development, multiplied by tons of unnecessary reimplementations in tons of compositors, it isn't even where X11 was when Wayland started. Wayland fixed nothing yet, broke a lot, fragmented the community, brought pain and misery.
- ChocolateGod 1y ago> Wayland also doesn't even remotely resemble anything that would be fit to talk to modern graphics hardware. DMA buffers and DRM (direct rendering manager, not the digital restrictions management) are an afterthought You don't use Wayland to talk to graphics hardware, you use Wayland to communicate with the display server. The Wayland protocol lets apps negotiate an area to write it output to and how it gets written there is completely up to the application, whether it involves the GPU or not, OpenGL, Vulkan etc. This is in contrast to X where the app use X APIs to draw textures, which are then pulled by the compositor (copy, rip latency/performance), and then sent back to the X server to display.
- holowoodman 1y agoThat is complete BS. The application doesn't talk to the graphics hardware alone and then just copy a bitmap into a Wayland buffer. You don't just magically talk to the GPU. There is this little problem called 'security', 'multiprocessing' and 'multiuser' in between.
- Spivak 1y agoDo you mean dbus as the other protocol? Because that's an intentional choice to separate out the protocol for drawing windows and responding to events and "desktop stuff" that's not related to being a window on the screen. They're not plastering over anything, that stuff is intentionally out of scope for Wayland. The advantage is that anything can use the desktop stuff (cli tools) just by talking to dbus instead of having to be a wayland client despite having no windows.
- holowoodman 1y agoTons of stuff aren't in wayland that are actually graphics and window related. Wayland just forgot about it, then later on people realized that their design was far too primitive and simplistic. DMA buffers, color management and pixel formats, scaling and DPI, image and video capture, tons of keyboard and mouse related things, all initially forgotten, now incompatible extras that are inconsistently implemented, frequently broken and forever in beta/staging/unsupported hell...
- Spivak 1y agoIf you mean what Wayland literally calls "staging" it means that compositors should adopt it now, it doesn't mean pre-release. Once multiple compositors implement the protocol it can become stable.
- holowoodman 1y agoStaging still means it is untested because not widely implemented. And still unsupported by the majority of compositors. So basically still unusable. Also, "can become stable" is a very rare thing. Only a single-digit percentage of staging ever became stable.
- vidarh 1y agoI'm sorely tempted to take the backend of a Wayland compositor and write a new X server on top of it, with a focus on deprecating everything not actually used by modern X apps that don't have alternatives, which would be a lot. I bet you could benefit from quite a bit of the Wayland compositor work on modernising the lower levels, and end up with something much simpler than current Xorg without ditching much compatibility.
- elsjaako 1y agoI think XWayland is basically an X server that supports Wayland. It is based on Xorg though. But if you really think it has a bunch of features nobody uses, you could try to delete those simplify that way. Or am I misunderstanding what you want to do?
- vidarh 1y agoI don't want an X server that supports Wayland. I want a leaner, simpler X server without Wayland. EDIT: To clarify, the reason I mentioned Wayland compositors is that it'd be an opportunity to pick a low-level rendering backend that has been written from scratch without the baggage of Xorg. The "good parts" of X that modern apps actually use are comparatively simple compared to the low level bits - the protocol is trivial-ish, and you can get 90% there by implementing a small-ish subset of the protocol.
- lotharcable 1y agoXWayland can be run in 'rootless' and 'rootful' modes. Rootless is what it is typically ran as and allows you to integrate X11 apps into your Wayland desktop environment. Rootful would allow you to run X11 desktop with X11 Window manager and the whole ten yards. I don't know how well rootful mode is working because it is rarely used. I imagine it would take some work to make it fully functional. But it something that exists and I would expect that the Xorg/Wayland devs would like to see it fully fleshed out. But that essentially gets you most of the way there.
- 1y ago
- Joker_vD 1y ago> designed something completely byzantine and weird. Time was invested, so no stopping now or ever. [...] is a dead horse. Made edible by sufficient fermentation and mobile towards the finish line by declaring the rot spreading over the line to be a victory. This applies perfectly well as a criticism of X11, you know.
- holowoodman 1y agoYes, but X11 has the excuse of being very old. Wayland was supposed to be a clean redesign, learning from the mistakes of the past. They learned from some mistakes, but they also completely ignored all of the good ideas, functionality and necessary additions that X11 and other systems like MacOS and Windows had. They designed a system that was as simple as they could make it, trying to push the complexity that wasn't just bitmap-blitting onto others. And they isolated Wayland from all possibilities of making proper, compatible, common extensions. They tried to be the opposite of X11, because they recognized "push absolutely everything into the X11 server" as a mistake. Nobody ever used the XPrint extension. But they went too far, cut away all the useful stuff, all the necessary extensions, even cut away the "server" and just went with a library plus protocol. Now everyone has to reimplement their own server (compositor in wayland lingo), producing tons of busywork, splitting the community, ensuring incompatibility and pain. And everyone has to keep up to date on all the tons of necessary extra protocols that all the compositors have to implement all over again. Yes, the same words do apply. But for different reasons.
- tuna74 1y agoIf you want to fix X11, you can. You can do all the work that the Wayland devs did.
- mkesper 1y agoPeople downvoting my TLDR and all that nonsense about XLibre on top is making me sad.