I didn’t see this coming: Mark Shuttleworth, founder of Ubuntu backer Canonical, has announced that somewhere down the road, Ubuntu will be switching Ubuntu’s base graphics system from the venerable X Windows System to Wayland.
In his blog posting, Shuttleworth wrote: "The next major transition for Unity [Ubuntu's new GNOME-based desktop interface that will be introduced in the next Ubuntu release] will be to deliver it on Wayland, the OpenGL-based display management system. We’d like to embrace Wayland early, as much of the work we’re doing on uTouch and other input systems will be relevant for Wayland and it’s an area we can make a useful contribution to the project."
That’s pretty gutsy. The X Window System, which is the networking windowing system that provides the foundation for almost all Unix and Linux desktops, has been too slow for ages. But no one as big as an Ubuntu has ever said that they were willing to replace X with another windowing system.
Wayland is not an X server nor is it an X Server fork, as has sometimes been said. As the Wayland FAQ states, "It’s a minimal server that lets clients communicate GEM (Graphics Execution Manager) buffers and information about updates to those buffers to a compositor. To do this, it uses OpenGL, a high-performance, cross-language, cross-platform graphics applications programming interface (API). Wayland also doesn’t require new drivers; it builds on the existing Linux graphics APIs and drivers.
Couldn’t Canonical just use X? Shuttleworth admitted they could have, but "We don’t believe X is setup to deliver the user experience we want, with super-smooth graphics and effects. I understand that it’s *possible* to get amazing results with X, but it’s extremely hard, and isn’t going to get easier. Some of the core goals of X make it harder to achieve these user experiences on X than on native GL, we’re choosing to prioritize the quality of experience over those original values, like network transparency."
You won’t need to give up X-based applications though to use Wayland. Shuttleworth also said, "We’re confident we’ll be able to retain the ability to run X applications in a compatibility mode, so this is not a transition that needs to reset the world of desktop free software. Nor is it a transition everyone needs to make at the same time: for the same reason we’ll keep investing in the 2D experience on Ubuntu despite also believing that Unity, with all its GL dependencies, is the best interface for the desktop. We’ll help GNOME and KDE with the transition, there’s no reason for them not to be there on day one either."
Whether KDE or GNOME will want to join is a still unanswered question. Some users have other concerns.
Someone going by the name Simon wrote on Shuttleworth’s blog: "I understand network transparency isn’t used by everyone – however, for some of us it’s critical functionality. In my office, being able to ssh into a server or someone else’s desktop to run development tools (e.g. a gtk-based code-review tool) is vital, and losing that ability *would* be a showstopper as far as Ubuntu desktops are concerned." Another writer on the blog, Diego, replied, "network transparency is beyond the scope of Wayland. You are completely free to implement wayland clients that use network protocols (not just X11: VNC, RDP, Spice…). In fact, it will possible to run X.org as a Wayland client. So, you will be able to run remote X11 apps on Wayland servers."
We’ll have plenty of time to see how this works out in practice. Shuttleworth wrote, "I’m sure we could deliver *something* in six months, but I think a year is more realistic for the first images that will be widely useful in our community. I’d love to be proven conservative on that, but I suspect it’s more likely to err the other way. It might take four or more years to really move the ecosystem. Progress on Wayland itself is sufficient for me to be confident that no other initiative could outrun it, especially if we deliver things like Unity and uTouch with it. And also if we make an early public statement in support of the project. Which this is!"
Shuttleworth concluded, "In general, this will all be fine – actually *great* – for folks who have good open source drivers for their graphics hardware. Wayland depends on things they are all moving to support: kernel modesetting, gem buffers and so on. The requirement of EGL is new but consistent with industry standards from Khronos – both GLES (Graphics Layout Engine) and GL will be supported. We’d like to hear from vendors for whom this would be problematic, but hope it provides yet another (and perhaps definitive) motive to move to open source drivers for all Linux work."