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
Also XWayland has many limitations as X11 does.
for better and worse, XWayland works perhaps too well
good is the enemy of excellent. X11 works for most users (almost all the users?) well. You can see that with the adoptions of other standards like the C++ standards and IPV6 which can feel like forever.
Another thing I think one of the X11 maintainers mentioned iirc is that they have been fairly gentle with deprecation. some commercial company could have deprecated X11 and left you with a wayland session that is inferior in some ways.
Wayland does not work with screen readers like Odilia or Orca. Because Wayland leaves blind users behind, it’s a total non-starter.
Not an expert, not an insider. Just commenting to inform about what i know.
When wayland was designed, security was a concern and it was handled differently than in X decades ago. That is good.
Under X any application can be a screenreader and see your data. This was okay when you trusted everything on your machine, but is a problem today.
Under wayland’s original design, no application could be a screenreader. That’s bad. It took way too long to agree on how to make exceptions to the rule, e.g. for screen readers, screen sharing in video calls, etc.
In my opinion, that’s because X11 lacks proper abstract for many things like screenshot, screencast, color managerment and etc, so the applications have to use many X11 implementation details to implement these features. It leads to high-coupling code with X11 so move their code to wayland and ensuring it works correctly and is consistent with the old behavior is difficult.