Some Misconceptions about X and Wayland
I) “X is The UNIX Way.” The Unix Way says to do
one thing and do it well-- X handled printing, it handled buffer management, it
was its own toolkit, it handled fonts, it was a binary interpreter, along with
loads of other things. What ONE THING was X doing and what ONE THING was X doing
II) “X is Network Transparent.” Wrong. Its not.
Core X and DRI-1 were network transparent. No one uses either one. Shared-Memory,
DRI-2 and DRI-3000 are NOT network transparent, they do NOT work over the network.
Modern day X comes down to synchronous, poorly done VNC. If it was poorly done,
async, VNC then maybe we could make it work. But its not. Xlib is synchronous
(and the movement to XCB is a slow one) which makes networking a NIGHTMARE.
III) “The Wayland developers are only re-implementing
X11 because they don't understand it.” Wrong. Most of the Wayland developers
ARE former X11 developers. They know how terrible it is. They know where its failings
are. They want to do better than X11.
IV) “Wayland requires 3D.” Wrong. It requires
compositing, but that's not necessarily 3D. Nothing in Wayland requires 3D, there
is even a Pixmen backend for software rendering.
V) “Wayland can't do remoting.” Wrong. Wayland
should be BETTER than X at remoting, partially do its asynchronous-by-design nature.
Wayland remoting will probably look a like a higher-performance version of VNC,
a prototype already exists. And this is without us even giving it serious thought
about how to make it better. We could probably do better if we tried.
VI) “Wayland breaks everyone's desktop.” Also
wrong. Once XWayland is finalized and merged we should have more-or-less perfect
backwards compatibility because every X app just gets its own mini X-server to
deal with. There is one known snag and thats with window transformations because
app thinks its in the top right corner of the screen (yay global coordinates)
because that client's X server is locked to the size of that client's window.