On Mon, 9 Jun 2025, Lyude Paul wrote:

Most of the people working on Wayland also worked on X11, a lot of lessons from 
X11's development specifically influenced Wayland's design. I think it's very 
much worth noting this because people
talk about X vs. Wayland as if a separate project popped up next to X11 out of 
nowhere, but the reality is a lot of us see Wayland as the natural progression 
to X11 because it allowed us to be free
of some of the constraints that come from how the X server is designed, like 
heavy round trips in its protocol, the fact that most modern compositing on X 
is just extension on extension on top of
the actual X11 server which no longer does half of the things it's supposed to 
handle.You know X server used to draw its own widgets? It also has font 
rendering, a HAL for video drivers and input
drivers, and more. And almost all of this stuff was out of use well before 
Wayland came onto the scene. Client toolkits do their own rendering (easier, 
faster, much more flexible), and font
rendering. Save for nvidia's video drivers, we had pretty much stopped using 
the HAL for new input and video drivers as well (xf86-video-modesetting and 
xf86-input-libinput work for p much all
hardware. There's a huge amount of stuff like this baked into the server, but very 
little of it makes sense on modern operating systems and much of it is really 
constraining.X wasn't "badly
designed" per-say, for what it was I'll absolutely say it was a wonderful piece 
of software and it did its job well. But it's also designed for an era of computing 
that is much different than how
most modern desktops work, so for a lot of the functionality we wanted to see 
in Wayland the only way to have implemented it in X would have required 
breaking people's setups. So, technically
speaking splitting the development off was kind of a given in some sense 
anyway. Even if we didn't move work to Wayland it's more likely work would have 
been on an X server that didn't really
resemble X11 and wasn't 1:1 compatible.

One thing that really liked about old X is that the widgets in Xt library had symbolic names. With an Xt application you could get those names by firing up a tool and clicking on a widget. This allowed you to script any Xt application, which was very cool.

The closest one can get to this nowadays is Tcl/Tk, and you only get the names from within the interpreter.

best

Vladimir Dergachev

Reply via email to