Wayland is still not ready and behind Xorg in actual usability

Wayland is a protocol that defines the communication between a display server and its clients, as well as a library implementing the protocol. It is intended to replace the legacy X Window System (X11 or Xorg), which has been the standard for graphical user interfaces (GUIs) on Unix-like operating systems for decades.

However, despite being in development since 2008, Wayland is still not fully widely adopted by the Linux community, and many users and developers prefer to stick with Xorg for various reasons. In this article, we will explore some of the current issues that prevent Wayland from becoming the default display server for Linux.

Compatibility

One of the major challenges that Wayland faces is compatibility with existing applications and toolkits that rely on X11. While Wayland provides a way to run X11 applications through a compatibility layer called XWayland, this is not a perfect solution, as it may introduce performance overhead (especially in games), bugs, or missing features. For example, some applications that use screen capture, global hotkeys, or clipboard managers may not work well with XWayland.

Moreover, not all GUI toolkits support Wayland natively, which means that some applications may not be able to take advantage of the benefits of Wayland, such as smoother animations, lower latency, or better security. For instance, Qt and GTK have native Wayland backends, but other toolkits, such as Tk, FLTK, or wxWidgets, do not. This means that applications that use these toolkits, such as GIMP, Audacity, or Inkscape, may not run well on Wayland, or may require XWayland to function.

In fact, most Electron applications to this day suffer from text flickering and other inconsistencies. Another big one is screen sharing - a big no for enterprise environments that use such external apps. Thankfully, most browsers nowadays do work with screen sharing.

Configuration

Another issue that Wayland faces is the lack of a standard way to configure its behavior and appearance. Unlike Xorg, which has a centralized configuration file (/etc/X11/xorg.conf) and a set of utilities (such as xrandr, xinput, or xmodmap) to adjust various settings, such as screen resolution, input devices, or keyboard layout, Wayland delegates these tasks to the display server or the compositor. This means that different Wayland implementations, such as Weston, Sway, KDE, or GNOME Shell, may have different ways to configure these settings, or may not support them at all.

For example, some users may want to adjust the DPI (dots per inch) of their display, which affects the size and sharpness of the fonts and icons on the screen. On Xorg, this can be done by editing the xorg.conf file or using the xrandr utility. On Wayland, however, there is no standard way to do this, and different compositors may have different methods or options to achieve this. For instance, Weston has a --dpi option, Sway has a output scale command, and GNOME Shell has a scaling-factor setting in dconf.

Stability

A final issue that Wayland faces is the stability and reliability of its implementations. While Wayland itself is a mature and stable protocol, the same cannot be said for all of its display servers and compositors, which are responsible for rendering the graphics and handling the input events on the screen. Some of these implementations are still in development, or have bugs or missing features that may affect the user experience.

For example, some users have reported issues with screen tearing, flickering, or freezing on Wayland, especially when using multiple monitors or playing games. Some users have also encountered problems with hardware acceleration, video playback, or power management on Wayland, which may affect the performance or battery life of their devices. These issues may deter users from switching to Wayland, or may cause them to revert back to Xorg if they encounter them.

Many also blame Nvidia drivers, and that's for good reason. Yet users on other platforms suffer from many inconsistencies as well.

Some progress - the good and the bad

Because Wayland is designed with security in mind, it heavily restricts interaction with other applications. A decade later there's still to this day no viable alternative to xkill.

The best screen recorder (and game replay software) on Linux was for a long time incompatible with Wayland. That's thankfully not the case anymore!

Conclusion

Wayland is a promising technology that aims to improve the desktop experience on Linux, by offering a more modern, secure, and efficient display server protocol. However, Wayland is still not ready to replace Xorg as the default display server for Linux, as it faces several issues that prevent it from being widely adopted by the Linux community. Until various issues are resolved, Wayland will remain behind Xorg in terms of popularity and usability.

Let's not end in a negative note though. How about some good (old) news? Xorg development has nearly halted and focus switched to Wayland. Things have improved rapidly all these years. I don't think 2024 will be the year of Wayland just yet - but perhaps an enthusiastic 2025/26 shall have many users convinced to switch to Wayland.