Since the start of the Linux desktop X Window System has been in place and that means it’s become a bit unwieldy and full of paper cuts. In technology years it has aged to the point of belonging in a museum and is in desperate need of an overhaul. Thankfully, there is a replacement for X which has been in development for the past 11+ years called Wayland.
Wayland is the intended replacement for X to provide a much easier and more efficient protocol. It is more secure, slimmer, modern, and hands off tasks that no longer make sense belonging to a window system. In addition, by breaking up these tasks and handing them off, it allows for a more easy to maintain code base for everyone involved. Wayland provides a reference compositor for testing, called Weston. Other projects have also developed their own compositors such as GNOME’s Mutter, KDE’s KWin, and even Canonical’s Mir. This all sounds like fantastic news, so why isn’t every Linux distribution shipping with it? I have my theories…(cough, Nvidia, cough).
Some major distributions have tried to adopt Wayland in the past like Ubuntu but later changed their mind in later releases likely due to growing pains of Wayland. Others like Fedora have shipped Wayland by default for their GNOME desktop version but the vast majority of distributions continue to wait on the sidelines. One of the reasons most distros don’t use Wayland by default is likely that Nvidia and their proprietary drivers do not well with Wayland at the moment. In fact, I asked one of my Nvidia wielding friends to test Wayland out on the latest Fedora before writing this article and they sent back a screenshot of a blurry mess. But certainly we in the open source community wouldn’t let one manufacturer of hardware keep us from moving the entire Linux project forward? Or would we? On the other hand, If you’re on AMD or Intel GPU (as a true open-source patriot would be) then you will likely not experience any of these issues. I’ve been testing Wayland recently and experienced no issues with start-up, general browsing, media content, video editing, and the like. It was a relatively smooth experience.
There are still problems with Wayland that might be a show stopper for some workflows (including mine) such as lack of OBS-Studio screen capture and some screenshot tools that don’t currently work. While there are alternatives to screenshot tools (for instance Flameshot works well) there really is no good alternative to OBS-Studio. Certainly, apps like OBS will adopt patches to fix this problem but they are in no hurry to do so when the vast majority of the Linux user base is still using X. Another minor issue experienced is the occasional window resizing bug which is known and already being addressed. Some compatibility issues can be fixed by using XWayland which is a compatibility layer between X and Wayland that will provide some additional time for developers to updates their specific apps code as everyone begins migration.
In my opinion, the fastest way to get these minor issues fixed and to get manufacturers like Nvidia playing ball more expeditiously is to simply adopt the new standard. A solution to the Nvidia issue would be to implement an auto-detection system that moves users of Nvidia back to a standard X sessions when Team Green is detected. Ubuntu tried this before but apparently it didn’t always work right. Certainly, there are ways to improve this code or offer user selected values during install to overcome this problem. In fairness, you can switch to the Gnome Wayland session at login with Ubuntu but it’s not default and likely most people ignore it altogether.
By supporting Wayland as a default, developers can all begin focusing their attention on the future verses supporting both simultaneously which is splitting the talent. It’s been 30 years and X has served us well but it’s time to move on to something more secure and more inline with the future of Linux on the desktop. I’ve started doing my part by enabling Wayland sessions on all my machines. I hope others will follow suite and continue to file bugs, run tests, and provide positive feedback to the Wayland team.
I have not always supported moving to Wayland. There was a point when even on AMD and Intel it simply wasn’t ready. Today, however, Wayland is more than ready to start pushing us forward as our new standard.