| > X11 had problems, but instead of fixing them You can't fix a protocol that simply isn't designed for how modern graphics hardware works.
Both macOS and Windows have upgraded their display stacks over the decades, but it was seamless because unlike Linux, nearly all applications dynamically link the system library which they can upgrade. Linux is late to the party here because everyone wants to make their own toolkit. X was designed for multiple remote terminals receiving drawing commands over a network, not locally hardware accelerated graphical interfaces and functions that rely on close coordination between the hardware and display server (e.g. hardware planes, vrr, hdr). Fixing X would require a new protocol to the point that it isn't X anymore, aka Wayland. There are arguments that not having a reference display server has led to problems though. |
Fixing X would require a protocol that is mostly X, but of course incompatible because you have to rip out some protocol bugs. But Wayland isn't X minus the bugs. Wayland started as a little bit of broken bitmap-pushing and a whole lot of hot air. And even with tons of extension and auxilliary protocol development, multiplied by tons of unnecessary reimplementations in tons of compositors, it isn't even where X11 was when Wayland started. Wayland fixed nothing yet, broke a lot, fragmented the community, brought pain and misery.