My view on Wayland replacing X in Linux
There has been a little bit of commotion lately about Wayland perhaps replacing X (see also). I'm not really happy, and why goes like this:
- odds of a full Wayland environment having an X compatibility layer: decent but nowhere near sure.
- odds of Wayland having remote window support on initial deployment: low.
- odds of Wayland supporting remote X the way it's done today: basically certain if it has X support at all.
- odds of there being a Wayland to X translator, so you can run native
Wayland programs on an X server: you jest. Zero.
- odds of the Wayland X compatibility layer letting you run an X window manager as your (Wayland and X) window manager: you jest. Zero.
- odds of fvwm being ported to Wayland: probably basically zero.
So, Wayland means that I can look forward to throwing away a highly customized, highly tuned environment that I've been building up for a very long time; this environment is not the only reason I use Unix and Linux, but it's a good part of it. I don't like either the Gnome or the KDE environments, either their interfaces, the design choices that they've been making, or by and large their programs. And with Wayland, one of those two is likely to be my choice.
(My grumpy side says 'if I'm going to have to throw away my entire environment and start over from scratch in some 'modern' environment, why don't I just get a Mac and be done with the hassle?')
The other reason that Wayland makes me unhappy is that today we have a bunch of LTSPs and we're mandated to provide some sort of 'graphical computing on people's desks' solution. LTSPs are already chancy today and Wayland is likely to shoot them in the head as a practical solution even if it theoretically supports remote windows on the initial release, because I can confidently predict that all of the Wayland desktop environments will of course assume fast local graphics.
(Gnome and KDE almost do today; they are increasingly barely useful on LTSPs. Something built from the ground up to assume good support for various modern graphics-intensive operations is almost certainly going to be worse.)
PS: the Wayland FAQ makes Wayland out as a rather different and currently much modest project than the 'replacing X with Wayland' writeups that have been going around. In fact, the more I actually look at what Wayland is today, the less I understand people talking about replacing X with Wayland any time soon.
(Possibly this means I should remember something I once wrote.)
Sidebar: why I give these odds
- X compatibility
- On the plus side there's a lot of people jumping up
and down for it; on the negative side it doesn't exist yet and
once you do enough to run Gnome and KDE programs natively, the
motivation drops off a lot. On the balance I'm cautiously optimistic
but I don't think it's anywhere near assured.
(On good days I can construct arguments for why all popular distributions will require X support before they ship Wayland as their major environment.)
- Native remote window support
- It doesn't exist now. Is Ubuntu going to
delay migration to Wayland because it's not implemented yet? No;
almost no desktop user uses remote windows.
- Remote X
- Today basically everyone does X forwarding over ssh, and
it would take real work to break this while having X support.
Indeed I'm not sure that it would even be possible.
- X window managers managing Wayland windows
- X window managers need a lot of special (X) features not needed by most or any other X clients, on top of all of the problems of trying to support management of Wayland windows by an X program.
In general, I won't be surprised if we wind up with some Wayland window managers that look like current X window managers; however, I expect Wayland window management to be up sufficiently different from current X window management that you'd be implementing a new window manager based on ideas from current X ones instead of porting an X window manager.
(Given just how complex X window management has gotten to be over the years, I certainly hope that Wayland window management is drastically different and significantly better.)