Wayland, the Next Gen Graphics System

Wayland

Wayland, NG Graphics

by Craig Miller

In the beginning Unix was strictly text based. Then in 1983 a graphical system called X-Windows was created by MIT. It was provided as an open source method to create the desktop environment, with windows and menus we are all familiar with today. The X-Windowing system has gone through several major releases, with X11 being the one we are familiar with today.

One of the key features of the X11 system is the ability to separate the application from its DISPLAY. This enables one to run a graphical application on a remote computer, and have the display for that app appear on my local machine. Neither Windows or Mac natively supported this two-part windowing system.

X11 Showing its age

In the early teens, people wanted the graphical desktop to have more pizzazz, sporting things like shadowing, and transparency. The original X11 did not have support for these new fancy features, so extensions such as XComposite were created. But the extensions were usually closely tied to the graphics video card, and could be challenging at times to setup.

Wayland, an alternate way

In 2012, work had already begun on a newer method of handling Graphical Desktops on Linux. Wayland would have a compositor built in from the beginning, giving it a more modern feel without the difficulties of XCompositor bolted on to X11.

The creators of Wayland knew that all the existing GUI software would not be rewritten overnight, so they provided a compatibility layer called XWayland which allows old-style X11 apps to display directly to a Wayland compositor (or desktop).

Wayland in Action

Wayland Display Server Protocol1

ChromeOS adopts Wayland

The first Chromebooks with X11 based. In 2015, around Chrome version 45, Google introduced Freon graphics, which at its heart was Wayland. For those of us using Crouton, it was a major disruption, since Crouton was X11-based. Fortunately the authors of Crouton figured out how to run their own X11 server.

Modern Linux Distro support Wayland out of the box

It has taken another five years, but finally Wayland is ready for prime time, and many Linux Distros support it out of the box. Distros such as:

Why move from the venerable X11?

Everyone will have their own reasons. For me it was the continued changes to ChromeOS which continue to break the unsupported Crouton. Crouton support makes a Chromebook into a lightweight, long battery, linux system.

The old Crouton X11 desktop, looks like any other XFCE desktop.

X11 Desktop

It takes over the entire screen2

There is a github project called Sommelier which creates a translation layer between an X11 app and XWayland allowing X11 apps to run in the native ChromeOS Freon/Wayland desktop. It makes the X11 apps appear to be more integrated into ChromeOS.

X11 Desktop

Sommelier still going through growing pains

Unfortunately Sommelier still has some significant bugs, the most obvious one is that all the X11 windows disappear upon waking up the laptop from sleep. But it looks promising.

Additionally, the Crouon folks are working on a new target which will support XWayland (and ChromeOS Freon) directly.

Summary

The early adopters of Wayland, such as ChromeOS have shown it to be an excellent next generation graphic system to replace the aging X11. Modern distros are now supporting Wayland, making it easy for you to experience it yourself. And with the XWayland compatibility layer, all of your favourite X11 apps will continue to run on the new Graphics System.


  1. Wayland Display Protocol
  2. it is possible to run Crouton apps in a Chrome Window using Xiwi but it isn't used much


2 March 2021
Updated 6 March 2021