Wayland has been a broad misdirection and misallocation of time and developer resources at the expense of users. With more migration from other operating systems, the pressure to fix fundamental problems has become more prominent. After 17 years of development, now is a good time to reflect on some of the larger promises that have been made around the development of Wayland as a replacement for the X11 display protocol.
If you're not in this space, hopefully it will still be interesting as an engineering post-mortem on taking on new greenfield projects. Namely: What are the issues with what exists, why can they not be fixed, what do we hope to achieve with a new project, and how long do we expect it to take?
# Background and the problems with X11
If you're already familiar with X11 and Wayland feel free to skip to the next part.
For people not familiar with Linux, here's a quick rundown of the terms in this space, roughly in the order of highest-level to lowest-level:
Applications These are the things you want to run Examples: Chrome, Steam, OBS
Desktop Environment (DE) This is what manages things like window theming, notifications, task bars, etc. Examples: KDE, GNOME
Compositor This is what layers windows on top of each other and does animations, graphical effects, etc. Examples: Compiz, KWin (for KDE), Sway, i3
Display Server This is the thing that manages the display, it also abstracts away some of the hardware details so all the above work on NVidia, AMD, Intel, etc. Examples: X11, Wayland
Kernel / Operating System The lower-layer thing that manages hardware resources, for us this is Linux Examples: Linux, FreeBSD
... continue reading