A bit of (KDE-centric) history

The Wayland protocol began its life in 2008, with the first stable protocol version (1.0) being finalized back in 2012. Plasma 5.5 was the first release to sport a Wayland session in 2015, with Plasma 6 finally making it the default in February 2024.

Therefore, Wayland is far from being this new experimental toy which would lack a bit of polish due to its young age. Case in point: KWin maintainers had even announced back in 2018 that KWin/X11 would now be feature frozen.

At this point, it’s fair to consider that the Wayland protocol and its implementation in compositors is fairly mature; and the significant remaining issues are probably caused by some fundamental or structural issue with the protocol itself.

The Good

Wayland has improved multi-monitor support (when they have their own distinct refresh rates), HDR/VRR, and mouse gestures.

That’s it.

Sure, I’ve read some horror stories about bad tearing with Xorg, but I’ve never seen or experienced them personally with any app. Fractional Scaling is also often cited as a new Wayland capability, which is really baffling as I’ve been using 150% fractional scaling on Xorg for literally years (??) which leads me to …

The Bad

The Wayland protocol originally didn’t support fractional scaling at all, only integer scaling! This is not really a surprise, the protocol design is almost old enough to drink beers and pay taxes, and HighDPI screens weren’t really a thing back then. Until recently, fractional scaling was implemented at compositor level, requesting all applications to render at the nearest integer (for instance 2x for 150% scaling), and then scaling down the buffer, resulting in a blurry font mess especially with CJK characters, and abandoning all hopes of getting proper font hinting.

In 2022, an additional optional fractional-scale-v1 protocol was added to the standard, so that applications could have access to the actual fractional scale being currently used on a given screen, and having a chance to scale themselves properly without relying on the compositor. It has been pretty much tacked on the base Wayland protocol as an afterthought, and it shows.

For instance, Firefox has a hidden widget.wayland.fractional-scale.enabled flag to enable experimental support for native fractional scaling, but until Firefox 134 it was completely broken. While this particular issue has now been fixed, popups/menus/tooltips are still randomly blurry due to some obscure pixel grid alignment issue. This is caused by GTK3 not natively supporting fractional scaling anyway, plus Firefox trying its best to still do the right thing on top, but there are no concrete plans to move away from GTK3.

By the way, this is exactly how Xorg has supported fractional scaling since the beginning of times: exposing the actual desired DPI (through Xft.dpi property) to apps and letting them do the right thing. Sure, very old toolkits may have been hardcoded to 96 DPI as it was the usage in the 90’s, but Qt, Electron, Chromium or Firefox work perfectly. Gtk only scales the fonts and UI elements (sometimes), but not the icons, because it is broken on purpose: as Wayland only supported integer scaling, this surely means fractional scaling is useless and technically inferior, right?

Is 2025 the year of the Wayland Desktop (c) ?

After 17 years, it obviously won’t. It is kind of ironic that the main reason why is technical debt: at this point the Wayland protocol is too old and not adapted to modern use cases, making its main argument against Xorg moot. Personally, I stopped caring and trying. My desktop has a single large 4k monitor where fractional scaling is essential, and it doesn’t have a touchpad. Therefore, there is strictly nothing Wayland currently brings to the table that the venerable Xorg can’t provide, with less issues and more stability.

An example of such issues is LibreOffice, which is lagging so badly when scrolling that it freezes. This is even documented on Arch Wiki as the current normal state of affairs, with a workaround to force running it on Xwayland.

Xorg still does everything I need, so let’s hope it will be kept somewhat maintained for the years to come.