My view on Wayland replacing X in Linux

November 26, 2010

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.)


Comments on this page:

From 203.97.214.3 at 2010-11-26 04:25:37:

Wayland + spice seems like a decent option for remote graphics support, but I'm unsure if spice supports remoting individual apps, rather than full desktop sessions.

From 86.7.122.209 at 2010-11-26 06:17:32:

I'm pretty sure Xorg isn't going to stop building, and I'd doubt that things like Gtk are going to throw away their X11 backend, so you can continue to live in 1983 where you are happy :)

From 98.252.174.29 at 2010-11-26 08:42:29:

spice doesn't today, but that doesn't mean it can't or won't.

but for ltsp, spice is far better than straight X.

By cks at 2010-11-26 11:48:56:

Assuming that this is the Spice you mean, it may be better than LTSPs at some point in the future but right now it's useful for this at all, as I can't see any way to run an X server that uses the Spice protocol as its display so that you can provide an X desktop directly to a Spice client. (Well, a Gnome or a KDE desktop, mostly.)

(We have no interest in providing a separate virtual machine to every LTSP user.)

By cks at 2010-11-26 12:00:58:

On the 'things not stopping building' issue:

On a pragmatic basis I don't expect either Linux distributions or large programs and libraries to really support both Wayland and X for very long, regardless of what they claim. It is just too much work to code for, test, qualify, and maintain a duplicate set of graphical environments, to make sure that Gnome and KDE and Firefox and Thunderbird and Gtk and this and that work well in both Wayland and X. Pretty soon X will become a second class citizen and then fall into a state where it is officially unsupported and in practice increasingly broken.

Well before that point you have no practical alternative but to migrate, because all of the new development is happening for one and all of the environment starts assuming features that only exist on one.

(This is what you should expect. Wayland's ability to things better than X and to do things that X can't do is exactly why people want to migrate to it; why should they ignore all of those Wayland only features and thus effectively ignore Wayland's benefits? If they're going to do that, there's no point to pouring resources into Wayland at all.)

This exact pattern has been seen with all sorts of libraries and code over the years, so I don't expect X/Wayland to be any different. Nor, it seems, do the X developers; in the linked articles, I haven't seen anyone claim that they are going to try to maintain the two in parallel and at feature parity.

From 86.7.122.209 at 2010-11-26 17:40:10:

Sure, eventually you'll probably have to stop using fvwm, but is that really terribly surprising? 17 years is pretty damn good for a codebase and I if you consider the support life of enterprise linux distros, if new releases broke fvwm tomorrow you're still good for most of the next decade.

From 203.97.214.3 at 2010-11-28 02:28:55:

I would expect that GTK+ et al will have X11 backends maintained by non-Linux parts of the community; there will (presumably) be some incentive for Solaris, *BSD, etc types to maintain the X11 functionality.

From 83.228.146.166 at 2013-04-24 20:43:15:

Me too, I am still living in 1985, and why? First because fvwm is the only one wm that provide me with a decent mouse focus policy, and secondly because fvwm can do more than any other wm. Fvwm is not only a wm, it is a toolkit at the same time.

Last but not least, I think they missed a point with wayland. They want more speed and integration, but they didn't integrated the toolkit into the wm. If I look at Aros, a free implementation of the Amiga OS, that can run natively, or hosted on a GNU/Linux distribution, the toolkit is integrated into the wm, which is integrated into the graphic server. And yes, unlike the original Amiga OS, Aros do provide an hardware abstraction layer, even if it is a lack of drivers at that time.

The result with an application like gimp is that the hosted Aros version is starting at least 5 times faster than the native gentoo version. But of course, the QT and GTK folks will not like such a move in the right direction :)

To the question what will be my next box, I have no definitive answer at that time, but I am looking for alternatives because the problem with GNU/linux now is not limited to wayland. A thing like polkit is not only as idiotic than Gnome, it is also a real screwware.tm. In general, a lot of peoples are thinking the never the better, which is the main dogma of the commercial OS like wondows or mac. Take pulse audio, you can do the same and more with jack and the snd-aloop ALSA module, but with something that pa is unable to provide, a constant sound latency, something which is a must for any serious audio work. So what is best, the old jack audio connection kit or the never pulse audio?

To the question what will be my next box? I don't like windows or mac, and I prefer real games over their substitutes, so it will maybe be a card game or a domino.

Dominique Michel, Fvwm-Crystal administrator and developer

By cks at 2013-04-24 21:37:28:

I think that integrating the toolkit into the window manager and the graphical server is something that time has demonstrated to actually be a mistake. The short version of why is that it's much easier for a separate toolkit instance in every client to take advantage of multiple-CPU systems.

(You can make a single display server or WM be multi-threaded, but multi-threaded programming is harder than 'independent process' programming. The latter gives you parallelism basically for free and the OS can do a lot of interesting things with scheduling priority for you.)

Written on 26 November 2010.
« An example of the progress of the modern web
Why I'm not really interested in Solaris's Live Upgrade stuff »

Page tools: View Source, View Normal.
Search:
Login: Password:

Last modified: Fri Nov 26 01:28:16 2010
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.