For over 10 years, a display server protocol called Wayland has been in development. Its goal is to offer Linux-based systems a streamlined alternative to the widely adopted X Window System.
Windowing systems like Wayland and X provide an interface for programs to draw graphics on your screen.
This includes desktop environment software that offers similar functionality to the macOS and Windows desktops, as well as applications like games.
The X Window System, also referred to as X11 or X, was developed at MIT as part of a project to create a graphics system that was hardware and vendor independent.
X version 11 (X11) was released on 15 September 1987, and Xfree86, a version of X11 for IBM PC Compatibles based on Intel’s 386 architecture, was released in 1992.
MIT passed stewardship of X to The Open Group in January 1997. The Open Group then established X.Org in May 1999 to supervise the release of new versions of X11, but the bulk of active development on X still happened within the Xfree86 project.
Unhappiness started brewing within the Xfree86 project in the early 2000s, however.
Although many factors contributed to this, the last straw was a change in Xfree86’s licence that made it incompatible with version 2 of the GNU General Public Licence.
Developers “forked” the last version of Xfree86 before the licence change was implemented and continued development under the X.Org name.
The Open Group then passed stewardship of the X Window System to the newly X.Org Foundation in 2004.
X11 continues to be updated and the latest full release was X11R7.7 on 6 June 2012. While it may appear as though X11 hasn’t been updated in many years, the X.Org Foundation has actually released many individual modules for the X11 windowing system. It just hasn’t rolled them up into a release version.
A display server for the 21st century
Several years after the Xfree86 split, on 30 September 2008, Danish software developer Kristian Høgsberg published the initial code of Wayland.
Until November 2009, Høgsberg worked at Red Hat where he helped develop and maintain the X Server and other graphics components of the company’s Linux distributions.
He then joined Intel, where he worked until July 2016. After Intel he joined Google, where he works as a software engineer.
There was a lot of excitement around Wayland potentially replacing X, and Wayland notes on its website that there are many legacy elements to the X Window System that are not necessary anymore.
“For many things we’ve been able to keep the X.org server modern by adding extensions such as XRandR, XRender, and COMPOSITE – and to some extent phase out less-useful extensions,” it states.
“But we can’t ever get rid of the core rendering API and much other complexity that is rarely used in a modern desktop. With Wayland we can move the X server and all its legacy technology to an optional code path.”
Lack of adoption
Despite the noble goal and initial wave of excitement, only one Linux distribution has switched to a Wayland compositor as its default: Fedora.
The Fedora Linux distribution is supported by Red Hat, and it started using a Wayland compositor as its default option since Fedora 25, released in November 2016.
Fedora falls back to X if you use a graphics driver that Wayland does not support, such as the binary (non-open source) Nvidia drivers.
Ubuntu briefly used Wayland as its default windowing system for its 17.10 “Artful Aardvark” release as a test, but switched back to X for its 18.04 “Bionic Beaver” Long Term Support release.
Prior to its release of Ubuntu 18.04, Canonical explained that there are three reasons to revert to X as its default:
- Screen sharing in software like WebRTC services, Google Hangouts, and Skype works well under Xorg.
- Remote Desktop control, for example RDP and VNC, works well under Xorg.
- Recoverability from shell crashes is less dramatic under Xorg.
The first and second points are related, and Wayland and the GNOME desktop environment are working toward providing a screen sharing service, Canonical stated.
To resolve the third issue, you either need to make sure the graphical shell doesn’t crash, or change the architecture.
“Both of these are works in progress and we continue to contribute to this work upstream,” Canonical said.
In the release notes for Ubuntu 18.04, Canonical said it expects Wayland to be the default display server when it releases its Long Term Support edition of Ubuntu in 2020.
Compatibility and performance
Other issues plague Wayland is its compatibility with certain applications, however, and performance under certain conditions.
Phoronix noted that using multi-monitor configurations under the GNOME shell with Wayland still feels sluggish compared to using X.
The publication also recently conducted gaming performance tests using a Radeon RX Vega 64 graphics card and a daily development snapshot of Ubuntu 19.04 “Disco Dingo”.
While there were performance differences between X and Wayland, the tests did not conclusively show one windowing system to be better for gaming than the other in terms of the frame rates achieved.
However, many games would hang when Wayland was being used.
Although people don’t choose a Linux desktop for its ability to play the latest games, the problem Wayland exhibited in Phoronix’s tests are indicative of a larger issue that needs to be solved before it can replace X.
Wayland doesn’t need to be faster than X across the board for it to be adopted, but it needs to be at least as stable and fault-tolerant before it can be seriously considered a replacement.