This post is in part a response to an aspect of Nate’s post “Does Wayland really break everything?“, but also my reflection on discussing Wayland protocol additions, a unique pleasure that I have been involved with for the past months.
Before I start I want to make a few things clear: The Linux desktop will be moving to Wayland – this is a fact at this point (and has been for a while), sticking to X11 makes no sense for future projects.
By switching to Wayland compositors, we are already forcing a lot of porting work onto toolkit developers and application developers. This is annoying, but just work that has to be done. It becomes frustrating though if Wayland provides toolkits with absolutely no way to reach their goal in any reasonable way.
Many missing bits or altered behavior are just papercuts, but those add up. And if users will have a worse experience, this will translate to more support work, or people not wanting to use the software on the respective platform.
What’s missing?
- Window positioning
- Window position restoration
- Window icons
- Limited window abilities requiring specialized protocols
- Automated GUI testing / accessibility / automation
I spent probably way too much time looking into how to get applications cross-platform and running on Linux, often talking to vendors (FLOSS and proprietary) as well. Wayland limitations aren’t the biggest issue by far, but they do start to come come up now, especially in the scientific space with Ubuntu having switched to Wayland by default. For application authors there is often no way to address these issues.
Wayland is not supposed to be a drop-in replacement for X11. It will always have feature differences. There are things that X11 does that should not be handled by the display protocol.
And they should pay attention to it because X11 is dead. It’s in life support mode. It’s basically impossible to maintain. The devs have abandoned it for Wayland.
It can’t cope with modern desktop usage like multiple displays with different refresh rates (not without weird hacks and workarounds anyway), different displays with different scaling, touch support is awful, HDR support won’t be a thing, performance is worse, and security is terrible.
Wayland is the future of the Linux desktop. Pretty much all DEs and distros are on board.
Sure devs of random programs can say “I refuse to support Wayland!”, that is their right. But in doing so they are effectively deciding to abandon Linux development, because X11 is going the way of the dinosaurs, and if you think otherwise then I don’t know what to tell you. You’re living in a fantasy world.