The technical merits of Wayland are mostly irrelevant

August 31, 2023

Today I read Wayland breaks your bad software (via), which is in large part an inventory of how Wayland is technically superior to X. I don't particularly disagree with Wayland's general technical merits and improvements, but at this point I think that they are mostly irrelevant. As such, I don't think that talking about them will do much to shift more people to Wayland.

(Of course, people have other reasons to talk about Wayland's technical merits. But a certain amount of this sort of writing seems to be aimed at persuading people to switch.)

I say that the technical merits are irrelevant because I don't believe that they're a major factor any more in most people moving or not moving to Wayland. At this point in time (and from my vantage point), there are roughly four groups of people still in the X camp:

  • People on Unix environments that don't have Wayland support. They have to use X or not have a graphical experience.

    (Suggesting that these people change to a Linux environment with Wayland support is a non-starter; they are presumably using their current environment for good reasons.)

  • People using mainstream desktop environments that already support Wayland, primarily GNOME and KDE, in relatively stock ways. Switching to Wayland is generally transparent for these people and happens when their Linux distribution decides to change the default for their hardware. If their Linux distribution has not switched the default, there is often good reason for it.

    Most of these people will switch over time as their distribution changes defaults, and they're unlikely to switch before then.

  • People using desktop environments or custom X setups that don't (currently) support Wayland. Switching to Wayland is extremely non-transparent for these people because they will have to change their desktop environment (so far, to GNOME or KDE) or reconstruct a Wayland version of it. Back in 2021, this included XFCE and Cinnamon, and based on modest Internet searches I believe it still does.

    One can hope that some of these desktop environments will get Wayland support over time, moving people using them up into the previous category (and probably moving them to Wayland users). However the primary bottleneck for this is probably time and attention from developers (who by now probably have heard lots about why people think they should add support for Wayland and its technical merits).

  • People who could theoretically switch to Wayland and who might gain benefits from doing so, but who have found good reasons (often related to hardware support) that X works better for them (cf some of the replies to my Fediverse post).

(There are other smaller groups not included here, such as people who have a critical reliance on X features not yet well supported in Wayland.)

With only a slight amount of generalization, none of these people will be moved by Wayland's technical merits. The energetic people who could be persuaded by technical merits to go through switching desktop environments or in some cases replacing hardware (or accepting limited features) have mostly moved to Wayland already. The people who remain on X are there either because they don't want to rebuild their desktop environment, they don't want to do without features and performance they currently have, or their Linux distribution doesn't think their desktop should switch to Wayland yet.

There are still some people who would get enough benefit from what Wayland improves over X that it would be worth their time and effort to switch, even at the cost of rebuilding their desktop environment (and possibly losing some features, because there are things that X does better than Wayland today). But I don't think there are very many of them left by now, and if they're out there, they're hard to reach, since the Wayland people have been banging this drum for quite a while now.

(My distant personal view of Wayland hasn't changed since 2021, since Cinnamon still hasn't become Wayland enabled as far as I know.)

PS: The other sense that Wayland's technical merits are mostly irrelevant is that everyone agrees that Wayland is the future of Unix graphics and development of the X server is dead. Unless and until people show up to revive X server development, Wayland is the only game in town, and when you have a monopoly, your technical merits don't really matter.


Comments on this page:

By Walex at 2023-09-02 13:07:11:

«There are still some people who would get enough benefit from what Wayland improves over X [...] PS: The other sense that Wayland's technical merits are mostly irrelevant»

This point seems to me based on a confusion between the technical merits of Wayland as a protocol for developers and for users. For most users the Wayland protocol has no significant advantages, the X11 protocol is good enough for them. The Wayland protocol instead makes the work of developers less messy, but has this resulted in "killer apps" that are Wayland-only? The very fact that several graphics libraries like Qt and Gtk work the same with the X11 protocol and the Wayland protocol seems to indicate that is sort of hard to imagine.

«is that everyone agrees that Wayland is the future of Unix graphics and development of the X server is dead.»

Wayland is a protocol (Weston is the "reference" implementation of that protocol) other implementations are Mir and so it cannot be compared directly to the "reference" X11 server called Xorg.

https://www.linuxlinks.com/best-free-open-source-stacking-wayland-compositors/

The X11 protocol is fairly stable, even if gets (very) occasionally extended, and the "reference" Xorg server of that does get developed, even if mostly as to drivers, precisely because the X11 protocol is stable. Most X11 development is over drivers.

That is somewhat similar to the situation of Perl or Linux, where in the latter most of the work is hardware related (drivers, ports).

By Ian Z aka nobrowser at 2023-09-02 22:17:14:

This is a question comment.

Am I correct that Wayland has nothing like xkb, and therefore nothing like Mouse Keys (aka Pointer Keys)? Due to my physical limitations, this feature is an absolute must for me.

If the answer is still no equivalent feature, file me in the "Crucial feature missing" category. But if I'm wrong and this can be made to work with Wayland, I'll be glad to hear it.

-- Ian

By Miksa at 2023-09-04 08:47:11:

Ian, have you considered a hardware solution, then you wouldn't be reliant on OS support? I use Ergodox EZ keyboard and I have mouse support on one of the layers. Although I don't how well it works compared to the X11 version.

Mouse Keys should work on any keyboard that uses the open source QMK or VIA firmwares.

This is my current configuration. https://configure.zsa.io/ergodox-ez/layouts/DN79b/latest/2

By Ian Z aka nobrowser at 2023-09-04 21:23:48:

@miksa yes, I am definitely interested in hardware. But ... how does this work? Do such keyboards present themselves as mice too, on the USB or Bluetooth level? Or does the kernel (I mean Linux, of course) have a special driver for them that converts some of their events into mouse events? I better understand this before I buy anything.

-- Ian

By Miksa at 2023-09-05 10:32:49:

@Ian, the Ergodox presents itself as standard HID device, both keyboard and mouse. No extra drivers needed. Probably similar as for example the wireless keyboard and mouse receivers from Logitech. I switch in daily between my work Linux and home Windows without issue.

The big question remains how well the Mouse Keys work compared to what you are used to. There are several adjustable values, but it's probably impossible to tell without testing.

These open source keyboard firmwares (Oryx, QMK, VIA) provide interesting opportunities. For example if you look at the "Base 0" tab on the zsa.io page you see that I'm using a completely custom key layout. But it's all handled by the keyboard, the OS thinks I'm using a standard QWERTY keyboard, I can plug it to any computer and it works right away. I'm also using a feature called "Home Row Mod", where the ctrl/shift/alt modifiers are located on the ASDF keys for both hands, when I keep N or I pressed down it produces capitals. I still need training for it to work smoothly, but it's already annoying to use a keyboard without it.

These keyboards are pretty easy to modify for personal preference, I'm probably on my 20th iteration. I originally used pretty standard QWERTY layout but I quickly switched to a Dvorak-inspired layout some guy had developed, and then I have slowly modified it to my needs. I use "c" more "g", let's swap these. But I use "g" more than "ä", let's swap those too. Modification is just clicking around on the web configurator, then download the newly compiled firmware and upload it to the keyboard. I've also tried a Keychrod V8 with VIA firmware. On that I just opened a web page, allowed it to connect with the keyboard and started clicking on the pictured virtual keyboard and the keyboard keys changed in real time. Lot's of clicking around, but relatively simple.

Nowadays there seems to be endless amount of variation available in the mechanical keyboard world of form factor and size. Tenkeyless, 65%, 45%, orthogonal, ortholinear, split. It's just an issue of how many keyboards one has to go through before finding the one that best for personal needs.

By Alex G. at 2023-09-05 17:30:42:

Personally I should be in the list of people who switched to wayland (gnome user, quite recent desktop) but I'm not.

Because loosing middle button paste is already a big sacrifice, but add to it that "focus follow mouse" does not work well on Weston/Wayland (if you switch window using keyboard shortcut, it does not keep focus, which is the case for X, conveniently)… and it's too much a burden to use Wayland.

I've been thinking about this all week. I tried a Wayland session this summer, in either Debian 12 or Ubuntu 23.04. Pretty recent stuff.

Firefox (official, verified flathub org.mozilla.firefox release) prefers X11, using XWayland, and then the drop shadows are considered client area. One must click far enough away from Firefox to actually focus/raise the window underneath it.

There's an environment variable to have it use Wayland, which can be set with a Flatpak override, and it solves the problem. But then I asked myself: If Mozilla with all its staff and resources thinks X11 is sufficiently better that they'll use XWayland when offered a choice, then what am I running Wayland for? Why should I have to jump through this hoop to get a reasonable experience?

I went back to X11. I didn't even try to find out if Sticky Keys work yet.

By djao at 2024-01-30 04:48:56:

I'm in the second category: "People using mainstream desktop environments that already support Wayland." I've been using GNOME since 1999.

It's now 2024, and I've just started using Wayland full time, because

  1. My distribution (Ubuntu 24.04 prerelease) now defaults to Wayland, and
  2. Wayland finally works well enough that I prefer it over what I had before.

Firefox now defaults to Wayland and not XWayland, so that's a sign of progress. In fact, I've seen a LOT of progress in even just the last six months. For automation, ydotool is a fully capable replacement for xdotool. Screen sharing works well. But the argument is not just that Wayland can do what X11 could. (If that were all, then there would be no positive reason to switch.) In fact, Wayland is a noticeable improvement over X, and only after using it for some time does this improvement become apparent. Keep in mind, I am just a regular user, not a power developer, and I've always avoided Wayland because it didn't work. Well, now it works, and I see what all the fuss is about.

The biggest and most noticeable overall improvement is that the system is just more responsive in ways that matter to me. I lean heavily on focus-follows-mouse, and on X11, a focus transition into a window with a graphically complex titlebar (such as firefox with tabs in the titlebar) takes at least 200ms. On Wayland the same transition takes less than 50ms. How did I time this? By cycling the mouse pointer back and forth between windows and seeing how fast I can make the focus flicker. On X11, I can cycle at about 4Hz before the focus transition start to lag; on Wayland it's at least double that, and I'm not sure what the actual limit is because the system can go much faster than I can. Switching virtual desktops is likewise much more instantaneous on Wayland than X. By trilling two hotkeys (yes, I play the piano), I can continuously flip between two virtual desktops at about 10Hz on Wayland, and what is displayed on the screen is frame perfect the entire time. For all I know, Wayland can go faster, but I can't. The same experiment on X11 yields a maximum cycle rate of, again, ~4Hz, this time constrained by the system, and what is displayed on the screen during this time is an unrecognizable jumble of out-of-position windows from both desktops.

The point is not that I need to switch virtual desktops 10 times per second as part of my regular work. (I don't.) Rather, these examples are meant to state, in quantitative, measurable terms, why the Wayland user experience is better for regular users. Performance matters, not because it is strictly necessary (it's not; I managed to get work done on X for decades), but because a more responsive desktop is just a pleasure to use. In terms of work productivity, it's the same outcome, but I feel happier using Wayland.

It's also nice that Wayland fixes some mild annoyances. In X, you can't change the volume using keyboard shortcuts while the lockscreen is on! Wayland has no trouble with this. Better HiDPI support, and in particular better support for multiple monitors with different DPIs, is also a bonus.

Admittedly, I do not need specialized accessibility software. But, for my needs, Wayland is already better, and I'm not going back.

Written on 31 August 2023.
« Email anti-spam (and really all anti-spam) is all heuristics now
Alerting on high level 'user stories' failing doesn't work in all setups »

Page tools: View Source, View Normal, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Thu Aug 31 23:04:05 2023
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.