Wayland is growing up. and now we don't have a choice
98 comments
·June 20, 2025tarboreus
yjftsjthsd-h
> Making sure Orca works to some extent (low expectations here, but I need some of it to work)
It sounds like this actually is supposed to work? At least on GNOME?
cardanome
I am still perfectly happy running X11. I am not going to switch any time soon.
Never change a running system.
The fact that only Gnome kind-off supports basic accessibility on wayland already shows what a giant failure wayland is.
justoreply
I like how Wayland provides some isolation between applications, so I switched
tetraodonpuffer
it only takes popular distributions making it default, then all sorts of things will start depending on it, and it will be difficult to not switch eventually. As somebody that has written a lot of xlib/xt/motif code years back, and that still has the full O'Reilly X series set on my bookshelves, I would prefer X11 to continue; but just like sysv->systemd it seems things are moving against that being the case.
vidarh
To me, the only thing that'd be troublesome to replace would be a browser, but worst case I'll run a Wayland compositor on my X11 server for that.
(And yes, I'd rather do that than go all in on Wayland)
yjftsjthsd-h
> but worst case I'll run a Wayland compositor on my X11 server for that
This is actually surprisingly easy, too. My first experiments ran a wayland app in cage ( https://github.com/cage-kiosk/cage ), but in order to better handle multiple windows I switched to sway with a lightly tweaked config, and other than some input weirdness (I think it struggles with modifiers held while switching focus) it works pretty well.
DonaldFisk
I understand that Wayland doesn't support Xlib function calls. What are the options for those of us who rely on C code which which uses Xlib for 2d graphics and event handling? If I have to switch to e.g. GTK, I'd not only have to rewrite all the Xlib calls, but all the code which depends on this, as Xlib and GTK do graphics ad events quite differently.
wizzwizz4
XWayland is still supported, and afaik will be for some time. It's only standalone Xorg which isn't.
DonaldFisk
Thanks, this might be what I'm looking for. It's covered here: https://wayland.freedesktop.org/docs/html/ch05.html and https://www.mankier.com/1/Xwayland
null
bpfrh
Isn't libwayland-client the replacement?
E.g. you now use the wayland calls instead of x11 calls
DonaldFisk
Specifically, I mean functions such as XCreateSimpleWindow, XDrawRectangle, XDrawArc, XmbDrawString, XNextEvent, etc.
null
wizzwizz4
> GNOME’s Wayland session is now stable and usable with Orca.
They did that via an out-of-band D-Bus protocol, rather than going full Wayland. I'm all for keeping D-Bus around for backwards-compatibility (lots of things use AT-SPI2, and I certainly don't want a repeat of the CORBA -> D-Bus migration), but Wayland's AT support should be first-class, not relegated to proprietary GNOME extensions.
Per Matt Campbell's article https://blogs.gnome.org/a11y/2024/06/18/update-on-newton-the..., this decision has something to with security:
> Assistive technologies or other accessibility clients currently connect to the compositor through a D-Bus protocol, defined in the Mutter repository linked above. By exposing this interface via D-Bus rather than Wayland, we make it easy to withhold this communication channel from sandboxed applications, which shouldn’t have this level of access.
tuna74
Maybe it is actually better to do these accessibility operations over D-bus than over a Wayland protocol. Just because something existed in Xorg does not make it the best solution.
jauntywundrkind
Excellent excellent call out. This feels very wrong direction, this using a side-band for accessibility!!! I had no idea.
It's surprising to me that security would prompt the push to D-Bus. Wayland's design with the compsitor as the message bus center was built to center security in the architecture, to make the compositor the arbiter of data flows. I'm struggling to picture what the issue was here with sandboxed applications.
holowoodman
Compositors are incompatible with one another and have totally different levels of functionality. Most compositors don't do any proper kind of security and permissions and just limit data flows in the most primitive and restrictive way possible. Using something with existing security but the possibility of cross-communication like DBUS is just easier here. Although I expect a lot of confused deputy type of exploits there...
jauntywundrkind
> Compositors are incompatible with one another and have totally different levels of functionality.
I see far more similar about compositors than different. They have freedom of implementation & do different things, but they offer to apps a very common set of protocols, and some of the newer edgier protocols have more varied adoption. But I see standards & growth & development forward as 'what Wayland is', not "incompatibility" (that's why Wayland proper is purely 100% protocols & not a bespoke impl) and "totally different" (???).
Finding formal concensus to make special stable has been hard. But there is a pleasantly large amount of overlap and interop, even if compositors end up implementing more than one flavor of say gamma control.
> Most compositors don't do any proper kind of security and permissions and just limit data flows in the most primitive and restrictive way possible.
When starting a composite yeah, you figure out who has input and send it there. You render the surface the apps give you. Dataflow is inherently quite unidirectional for a long time when beginning a desktop compositor.
But that doesn't feel true at all today. Most compositors support advanced screen sharing, virtual pointers, and other fairly advanced data-flow protocols, almost all built security in mind, requiring more advanced routing & permissioning, as is very visible with the screen share flows of most apps.
> Using something with existing security but the possibility of cross-communication like DBUS is just easier here.
Agreed, but you yourself in your very negative comment on Wayland in this topic seem quite opposed to second systems in broad basis (and pretty radically down on Wayland in general). I'd like to see the display system protocols able to better tackle talking about and managing what's on the screen, rather than building a second parallel system for saying and working with what's on the screen.
I also think there's a decently strong basis already there in the current protocols. There's a security context to start. https://wayland.app/protocols/security-context-v1 We see more advanced flows like XDG Foreign for apps to expose surfaces and mix them onto our own apps.
At-spi d-bus was already right there & done, and it felt easy to keep using it. It was mostly convenience I feel like, and the justification of security feels like a blunt hammer to deny exploration. https://gitlab.gnome.org/GNOME/at-spi2-core/
mkesper
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
Wayland 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
> 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.
vidarh
The protocol is trivially extensible, and have had plenty of extensions that has significant altered how it behaves. Fixing X in a step wise manner wod have been perfectly doable. The problem is that the Wayland proponents didn't just want to fix the things there was agreement was broken, but also wanted to actively break things that would cause an uproar.
holowoodman
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, 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.
tuna74
If you want to fix X11, you can. You can do all the work that the Wayland devs did.
vidarh
I'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
I 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?
Joker_vD
> 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
Yes, 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.
Spivak
Do 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
Tons 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...
mkesper
People downvoting my TLDR and all that nonsense about XLibre on top is making me sad.
Kim_Bruning
More and more people are using GPT for editing. I admit to sometimes using AI to help me too. To be fair, I'm not sure what to think of this particular slick style quite yet.
null
Fr3ck
What in particular drove you to leave this comment? I am just curious. This doesn't strike me as Gen AI slop like other posts I see sometimes.
Kim_Bruning
Ah, a lot of people do use LLMs for editing. And when I read this I can just hear GPT-4.x's style and tone of voice in my head.
None of the following are smoking guns, but together... well, either it's GPT or it's https://xkcd.com/810/ .
* Bullet point lists
* emdash
* extensive use of bold
* sentence fragments
* "Here's the good news:"
* juxtaposition over emdash: "This transition is happening — but we’re not being ignored anymore."
* Bullet points that simply MUST have a conclusion " The entire workflow? Gone." , " not just for me, but for every user who deserves to choose how they compute.", "And they shouldn’t have to." , "But we have to start over."
* "I hope it’s done right — not half-baked, not bolted on."
* "We lost an ecosystem."
* "That has to change. / And it starts with every compositor agreeing on what “accessible” actually means. "
etc....
Maybe it's
A) A human who is a very skilled writer with a particular style
B) GPT4.x
but my best guess is
C) Both: Human did the rough draft, then had GPT4 edit it into shape.
abhinavk
People see an em dash and dismiss it as slop.
Maybe they don't know but some of us love them and have keyboards which have an em-dash/en-dash key or use an OS where they are easy to type.
wizzwizz4
It's got an —, and apparently these are called "ChatGPT hyphens" now – even though they're on my keyboard.
beej71
Bad news for all my programming guides that use em dashes properly... ;D Luckily I have a Git history on them that predates LLMs, for whatever that's worth.
In Vim, the digraph is ^K-M.
null
null
curtisszmania
[dead]
ThrowOregonAway
[flagged]
Ezhik
What's XLibre? Are they taking Linux desktop accessibility more seriously?
resoluteteeth
It's a fork of x.org that's trying to keep actively developing it more than the x.org developers are interested in doing (because they are working on wayland and see x.org as basically obsolete). That in itself is a reasonable goal but given the person responsible for it I would not be too optimistic about it.
kstrauser
From their readme:
> Together we'll make X great again!
This explains the project in a nutshell.
lotharcable
XLibre is a fork of Xorg X11's codebase started by a developer who got kicked out of the Xorg project because he was making lots of changes that broke everything and had a hard time getting along with the other devs.
Another dev blindly applied his MRs assuming he had tested stuff before submitting the request and they had to go back and revert a bunch of stuff.
Broke nvidia compatibility, broke xrandr extension, and a bunch of other stuff.
wizzwizz4
[flagged]
LightHugger
This is false, he we the sole person submitting large amounts of code for about a year and was widely praised, until he forked and red hat went nuclear on his account for opposing their corporate goals, he was not kicked out for bad changes or anything of the sort. Trying to revise history on this is malicious.
The people like OA are spreading misinformation because the developer stated everyone was welcome to contribute and would oppose excessive politics. Keep in mind red hat is currently getting sued 3x over for blatantly racist policies which they used to ban other contributors and forced on their managers, they are evil people.
ThrowOregonAway
Googler, NSA'er, or Red Hatter?
bananapub
> What's XLibre?
a fork of X allegedly maintained by an arsehole
> Are they taking Linux desktop accessibility more seriously?
no
anonym29
Can you elaborate more on discussions about XLibre being banned on here? Are accounts that mention it getting banned? Is there just mass downvoting by partisans with some kind of agenda?
I get that X11 has security issues, but NVIDIA drivers and Wayland still seem to have no support now and no support planned for the future, so Wayland is a non-negotiable non-option for many (most?) Linux desktop users, including myself.
That said, with the custodian of X11 refusing to merge 1000+ patches including various bug fixes and security fixes, I'm excited for the prospect of XLibre - this is exactly what Open Source, as an idea, was invented to facilitate - user choice.
ThrowOregonAway
Lots of Red Hat and Google and NSA types all here, all of which have their own clever sneaky reasons for hating x.org.
Wayland won't even RUN on old computers that lack the mandatory hardware backdoors.
wizzwizz4
Wayland is a ridiculously simple protocol: I could run it on pencil and paper. It doesn't require anything I'd describe as a "hardware backdoor". What are you on about?
vbezhenar
HN cancel culture strikes at Xlibre.
mkesper
Wayland supports nvidia cards, that they are not supported is FUD at this point in time.
anonym29
I have an RTX 4060 Ti with latest drivers installed, KDE on Debian. On the login screen, I can select X11 or Wayland. Selecting X11 lets me log in fine, selecting Wayland and logging in results in a black screen and the only thing I can do to get any video out at all is switching to another TTY.
colanderman
Really? As of a couple months ago I nearly totally hosed my Debian installation trying to get Wayland GDM working under Nvidia.
Spivak
I have an Nvidia card with the default Fedora install and it works on Wayland without having to do anything.
bmacho
[flagged]
zamadatix
A highly controversial guy making controversial patches to a somewhat heated topic around these parts is going to get flagged by users too, how are you so certain it's the admins doing the hiding? Even when not flagged the score to comment ratios will drag those off the front page quickly.
demosthanos
The [flagged] indicator on a submission usually indicates user flagging. Moderators and algorithms just quietly downweight submissions without any visible indicator. So this isn't an HN moderator position, the question to resolve is why users would flag it.
In this case, I'd have flagged them too if I saw them. The "long live" post is an aggressive tirade that reflects poorly on the author and led to a poor-quality discussion. The second is a link to a git commit history, which is weird in its own right and provides no explanation, and the context provided in the comments shows that a generally dislikable figure with extreme political views is now leading a fork of X11 that has yet to prove itself viable. So I'd probably have flagged that one too as pointless drama until proven otherwise.
vidarh
Both threads devolved into politics, and that's likely the reasons why they got flagged. There's no evidence these were hidden by moderators, as opposed to because regular users flagged threads.
Having seen some of your comments on one of those threads, there's a decent chance your comments contributed to getting those posts flagged.
bmacho
[flagged]
tom_
I figured enough people just flag the submission, because they don't want to put up with the Xlibre guy's specific category of shit, or that of his inevitable hangers-on. Are they right? Are they wrong? Well, it's their decision. I've seen enough stuff I've flagged myself disappear quickly, and then reappear later (with more surprisingly reasonable discussion than I at least had predicted), to suggest that the admins will retrieve any popular discussion that was unreasonably assigned to the naughty step.
(Of course, admin intervention in the other direction is always a possibility, and that's fair enough too. If you want unmoderated discussion, you'll need to go somewhere else.)
bmacho
> I've seen enough stuff I've flagged disappear quickly, and then reappear later (with surprisingly reasonable discussion), to suggest that the admins will retrieve any popular discussion that was unreasonably assigned to the naughty step.
That's the whole point.
The default for everything that has at least a small hater base is to disappear, until for manual reenabling by moderators. This is not community moderation, it is de-facto pre-moderation. Which, in this case has a strong bias against xlibre despite it having literally nothing wrong with it (like the other stuff reappearing). It's gross censure (for the sake of a gross, user hostile corporate), and the moderators should be called out for it.
jauntywundrkind
[flagged]
I like that this article isn't just a bunch of GNOME hate. But I freely admit to being frustrated that this switch is being forced when they're still developing basic accessibility functionality for GNOME. Once I switch to Wayland, I have to find new ways of:
- Adding hotkeys
- Replacing all my utilities that involve screenshot + OCR
- Making sure Orca works to some extent (low expectations here, but I need some of it to work)
- Reversing the gamma ramp
- Screen magnification
I have mapped out some approaches to most of these, but I full anticipate one or more to be show-stoppers or items I have to attempt to implement from scratch. I'm looking at 100 hours of work, minimum, to make this switch, and am basically just left out in the cold to figure all these workflows out under more hostile circumstances. It's also a chicken and egg, since I need to bootstrap into the new environment without any of my old tools working.
It's great that GNOME is taking some of this seriously, but they're forcing a very difficult transition, and it's frustrating that they think accessibility is in a usable state, or that we're low prioritiy enough to not matter. I'vbe heard the word "edge case" used a lot, it really stinks to be in a category where your entire computer use and professional career are considered an edge case.