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 one, it's missing a good chunk of A11y stuff, activity watch requires something to monitor the active window, there is a PR for that, still not merged, this has been an issue for years
It's missing protocols that will let applications request to be a privileged application, which is necessary for applications to use other functionality.
Missing protocols to control always-on-top / layers, which is needed for OSKs to function, and a couple other A11y things off the top of my head.
It's not just a11y either, Window positioning still isn't merged, which means if your app opens two "windows", you cannot currently select where to open them, or to even bind two windows together (Android emulator does this for instance).
There is a LOT wayland is missing, it IS getting better, just at a snails pace.