RebeccaBlackOS with Wayland instead of X11

The Wayland network protocol can already look back on a number of years of development. Its multi-year mission: to boldly replace the now 30-year-old X11 display server. Wayland is said not only to be more efficient to maintain than the legacy X Window system because of its simplified structure, but also to rigorously throw obsolete technologies overboard, thus doing justice to the capabilities of modern a graphics stack.

If everything works out well for its main developer Kristian Høgsberg, Wayland will deliver a much improved picture quality compared to the X11 system for the user. Innovative rendering mechanisms and modified graphics memory allocation will help avoid screen flicker or screen tearing when moving image content.

Wayland is currently in active development and is not genuinely suitable for production use. Nonetheless, there are various tweaks that let you use Wayland with various desktop environments. That said, RebeccaBlackOS, a Debian-derivative [1] based on the testing branch, gives users detailed insights into the development of Wayland.

This distribution is also interesting for developers, because it launches several desktop environments from a selection dialog and thus allows a comparison between the stages of development of the various desktop projects.

Getting Started

The approximately 1.4GB ISO image for 32- and 64-bit machines is available from the project website [2]. Switch to a terminal to install the live system on a USB memory stick after downloading. When you get there, enter the following command at the prompt

dd if=/<path>/<to>/<ISO> of=/dev/sd<x> bs=4M

taking care to specify the correct source and destination paths after the if and of parameters. Of course, you can just as easily burn the ISO image to an optical disk. Alternatively, you will find the bootable OS on the DVD with this issue.

The Debian derivative welcomes you when first launched with a somewhat confusing home screen because of the many options it lists (Figure 1). The wide range of boot options is due to the still incomplete hardware support for Wayland: For example, just in case Wayland does not boot with the default settings, the system offers you various options for software rendering and fixed framebuffer settings. Because of the lack of driver support, RebeccaBlackOS also cannot be used on a VirtualBox virtual machine.

Figure 1: The boot manager of RebeccaBlackOS lists numerous options for different hardware.

Versatile

Once the operating system has booted and started Wayland, the routine offers a selection list with different desktop environments, which already work with the Wayland Protocol. Compared to the X11 system, the developers had to implement a number of modifications to window managers such as KWin, Mutter, or Enlightenment, because the Wayland display server also acts as a compositor.

In addition to the typical Linux desktops KDE, Gnome, and Enlightenment E20, the selection window also lists more exotic environments, such as Hawaii or Weston. The Hawaii desktop is the standard desktop for Maui Linux [3] and uses Wayland as its protocol. The second new candidate, named Weston, was explicitly written for the Wayland compositor and does not run with other display servers.

Depending on the boot option, the desktop environment selection list in the boot manager will change: For example, fixed framebuffer modes usually offer a choice of far fewer desktop environments than the standard settings – again, due to the lack of hardware support. Because the operating system is still at the experimental stage, it is advisable to choose one of the major desktop environments or Weston as a work environment; the more exotic environments might not display on your screen.

For example, the Hawaii desktop and the Orbment and Sway environments failed to launch on RebeccaBlackOS on our lab machines systems with Intel graphics. Additionally, the Papyros environment was buggy. These environments are still at a very early stage of development and are not yet usable on many hardware components.

Weston

Wayland's standard compositor Weston provides very good insights into Wayland's current state of development. This environment is tuned for best possible Wayland support and already has some features that belong to the standard repertoires of the "major league" desktops. For example, Weston can already display overlapping windows; the program comes with a simple application menu, and windows can be moved freely on the desktop. Thanks to the integration of many widgets, especially from the KDE and Enlightenment collection, several programs are already available on Weston, and you can actually work quite productively (Figure 2).

Figure 2: The standard Weston compositor from Wayland currently only offers a simple main menu.

You can access the main menu in Weston in the home screen by clicking on the Start button top left in the panel. However, in contrast to more established desktops, you still cannot flexibly adjust the panel in Weston: Although there are several application launchers – and a small date and time display – they are fixed and cannot be edited. Additionally, you will also miss the ability to open a context menu, as on other desktops, by right-clicking on icons. The panel also does not display the active applications. You can, however, open multiple instances of the same program on your desktop.

Weston does not support drag-and-drop actions at this time. If you want to move, for example, a file between two instances of Dolphin, you need to do so by diverting to the shortcut menu to copy and paste. Other useful features such as virtual desktops are also still missing Weston.

The compositor can be managed using keyboard commands in many cases; the Super key plays a central role here. In the Help menu, which can be accessed by clicking on the Info button in the panel bar, you can access detailed information on controlling the compositor (Figure 3).

Figure 3: On Weston, many keyboard shortcuts for moving windows are predefined.

In testing, we did not like the fact that some of the predefined commands had no effect at all: For example, the brightness of the screen on our lab machine never dimmed despite trying out various settings, according to the Weston Help, the keyboard shortcuts Super+F9 or Super+F10 should work. Other options that can be controlled purely by keyboard – such as opening a new virtual desktop – also failed to work on various test devices.

Inconsistent

Weston can display all the programs available on RebeccaBlackOS on the desktop – as can the KDE Plasma desktop and the Gnome Shell. However, you will notice that there is still no uniform presentation of each window: For example, the system displays KDE applications differently from GTK+-based applications. And, software taken from Enlightenment uses yet another disguise. Sometimes, even the title bars are missing from the program windows so that the Weston desktop can easily become confusing if you have many programs open (Figure 4).

Figure 4: The appearance of applications is anything but uniform in Weston.

Standard Fare

When it comes to the traditional desktop environments, Enlightenment E20 in particular on the Debian derivative, this very resource-saving and fast GUI has already reached an advanced stage of development with Wayland similar to KDE and Gnome. It shows many optical effects that will also run on less powerful hardware without noticeable system load.

Enlightenment even offers several setting dialogs that let you tweak the look of the desktop when launching the system: For example, you can not only set the font sizes but also certain focusing methods for single windows, or you can enable the taskbar at the bottom of the screen. Additionally, the interface comes up with a dialog for customizing the keyboard layout, and there are four virtual desktops that you can easily page between.

In testing, however, we also noticed poor integration of KDE applications: Although we were able to launch these applications from the menus, they then froze in most cases. This forced us to quit by manually killing the relevant process in a terminal. The lack of uniformity in the individual program windows and partly missing window elements tarnished an otherwise positive impression of our Enlightenment session (Figure 5).

Figure 5: Enlightenment E20 also suffers from a lack of uniformity in the way it displays active windows.

Compatible

Because the Wayland Protocol requires modifications to the individual client applications due to its divergence from the X11 design, developers must modify their applications for use with Wayland. These modifications have been added for many core components. If this customization is missing, however, an intermediate layer called Xwayland is used – a modified X server that runs transparently. RebeccaBlackOS lets you call such applications via xwaylandapp launcher Weston panel.

After you click on the application, a terminal pops up, in which you need to enter a command with a syntax of xwaylandapp <program> --<parameter> . The application requires root privileges; you need to add wlsudo in front of the actual start command. If several programs are running, and you want to see which of the active applications requires the Xwayland intermediate layer, then the output from the xlsclients command will show you a list of corresponding applications.

Stationary?

RebeccaBlackOS can also be permanently installed on a mass storage device – at least in theory. To do this, you will find matching program launchers in the graphical interfaces that call the Calamares framework. Calamares comes from Manjaro Linux and KaOS and provides a distribution-independent, configurable installation routine.

However, we encountered reproducibly unsolvable problems with the duo of Wayland/Calamares in all desktop environments on various lab machines on RebeccaBlackOS: Calling Calamares opened the corresponding application window with unreadable content (Figure 6). On Enlightenment E20, the Calamares window did not even appear; instead the application immediately crashed without any logging. On KDE, there were clearly visible display issues with other windows and dialogs after closing the unreadable Calamares window, which meant restarting the system.

Figure 6: The duo of Wayland and Calamares resulted in unreadable content.

These difficulties were reproducible on several machines with different hardware. To install RebeccaBlackOS despite this massive bug, you need to launch Calamares administrative privileges as an Xwayland application. To do so, type wlsudo xwaylandapp calamares in a terminal. The installation routine then launches without any errors, and you can install RebeccaBlackOS.

Conclusions

RebeccaBlackOS provides a quite comprehensive snapshot of Wayland development. We particularly liked the ability to quickly switch between the different desktops and thus check out the current state of development in the various environments within seconds.

However, the distribution also very clearly shows that the replacement for the 30-year-old X window system will not be here within a few months – if it is a core component of the operating system. The to-do list is still painfully long. Besides missing features like copy and paste, developers mainly need to address the partly defective window dressing and, in places, improve the inadequate options for manually changing windows.

For wider acceptance, Wayland also needs a substantial number of natively controlled programs that no longer rely on an intermediate layer and can thereby harvest Wayland's actual benefits. Because Fedora, as the first established distribution, has already scheduled Wayland Version 24 (for June 7, 2016) as its standard protocol, monitoring development in the coming months will certainly be exciting.