Wayland seems ready to me but the main problem that many programs are not configured / compiled to support it. Why is that? I know it's not easy as "Wayland support? Yes" (but in many cases adding a flag is enough but maybe it's not a perfect support). What am I missing? Even Blender says if it fails to use Wayland it will use X11.
When Wayland is detected, it is the preferred system, otherwise X11 will be used
Because it’s so complicated that given a page (page and a half) to answer the simple question, “Why does Wayland support still give you more problems than solutions?” We had to describe it like the summary of a PHD theses in client server architecture?
Do you want the short answer? The short answer is "Because there's a lot of applications that do a lot of different things and getting a good design for a protocol that supports all of those things is a process that takes time"
With the headline, yeah… kinda :-) Your answer plus a bit of “this is why it’s important.” And I would have grunted and gone back under my bridge…
I’m feeling a bit sheepish about my comment on the other side of the day.
But I was also hoping for a lot more. Better desktop security… and that’s underselling it because my understanding is we’re pretty much coming from zero, so this was always going to be rough.
I have yet to run into an insurmountable issue, but I’ve just hopped distros rather than (successful) troubleshooting. Always makes me grumpy ;-)
If I understand correctly, Wayland does provide better desktop security. At least two of the common issues are tied directly back to that.
Screen sharing apps, which need to access what one or more other apps are showing, and screen readers for the deaf, which need to access what text other apps are displaying.
Wayland intentionally recuses itself of these problems. That's understandable, as these problems aren't specifically in the realm of a display protocol. However, this has led to some significant problems.
Specifically, since there is a power and implementation void, and the Wayland crew haven't stepped in or endorsed any particular way to fill it, each compositor/desktop library is now implementing it's own means to achieve these ends. This leads to other problems.
You want to write software for X for some of these things, and regardless of the DE you're working in, there are more fundamental ways to address the information you need. But if you want to do so with Wayland, there's no "fundamental" layer to reach for, because it's handled by the DE compositor and toolkits.
So you need to do it the KDE way, or the Gnome way, or the wlroots way, etc etc - and what if you want it to work with all of them? Simple: just code it multiple times and deal with multiple different frameworks, each with their own learning curves, restrictions, and quirks.
..by which I mean, "/s, jk jk, not actually simple."
Really, my hope at this point is that maybe kde/plasma and gnome will standardize around wlroots (i.e., there is no hope).
So, failing that - maybe a single library for accessibility that does the work once (multiple times, but once), and is adopted and used by kde/gnome/wlroots, and a single library that does the same for display sharing.
Thank you for taking the time to type this all up, you have expertly summarized the situation and I’m very grateful. Even with focused research it can be very hard to gain an objective understanding of complex subjects these days… doubly so when polaring topics like how to do desktop linux right are involved.
I suppose it would be foolish of the Wayland devs to wade into the middle of those waters if they want their work to remain beneficial to all. And suddenly the abstract technical details in the linked article make more sense to me… they really want to remain abstract from some of the implementation details.
This does seem a bit grim… and it perfectly explains why my problems could be fixed and one distro/wm and not another while still somehow being a “waylaid issue.” I suppose the best solutions/implementations will probably at least end up being shared in principle… I don’t really know enough about the current state of either desktop to be sure, I just wanted to say something positive :-)
Honestly, it's pretty normal for Linux. It'll fracture until it becomes glaringly obvious that there's a problem, and then it'll get standardized, and the standard may be supported in the next version.
Ubuntu could have gone flatpak. They didn't. Kde and gnome could have come to a common agreement about desktop-related stuff they have in common. They didn't. So it goes. The real pain points eventually get fixed.