Wayland set the Linux Desktop back by 10 years
35 points by hongminhee
35 points by hongminhee
I'm sorry, but I just cannot take the "Wayland breaks everything" gist that has been making the rounds for ages now seriously at all. For example, putting a ✅ on X11 multi-monitor when the entire situation there is a hot mess just baffles me. One of the linked suggestions is telling KWin to render at 144 kHz for heavens sake! Or doing uncomposited rendering like it's 2001; if I wanted to use Windows XP I would use Windows XP. Also doing proper per-monitor scaling is not supported by, well, any GUI toolkit, only some random blogger's demo program.
It also purports XLibre to be a serious project, when it is not. Banning its author is not part of some grand conspiracy to kill X11, rather, at best it is a reaction to the poor quality of his contributions to X.Org, and at worst about the very explicit political statements literally in the README!
Yes, there have been a lot of teething issues with Wayland, and it's not entirely free of them yet. However, most things work fine by now (even my desktop with an NVidia GPU!), and overall the world of desktop Linux is much, much better off than if we kept building on top of the broken base that is X11. See for example Nate Graham's 2023 article(s).
I’m glad to hear things are working well for you.
For me, Wayland is still not usable, after 10+ years of trying: https://michael.stapelberg.ch/posts/2026-01-04-wayland-sway-in-2026/
The fact that you cannot take these very real problems (to me) seriously is part of what the author criticizes in the article — there is a huge gap between Wayland-works-for-me and Wayland-never-worked-for-me users.
FWIW, I do take seriously that people are happy with Wayland. I think what we need is to fix the Wayland issues to make the experience uniformly available to everyone, not just the lucky few who happen to have the hardware and workflows that happen to work.
Basically every normal person I know that 's used Linux and isn't trying to run some leet hacker setup with a special tiling wm doesn't even know that Wayland exists.
I think "lucky few who happen to have the hardware and workflows that happen to work" is doing some very presumptuous lifting lol.
Is running OBS, one of the most (if not the most) popular screen recording and streaming programs, a "leet hacker setup" thing?
Because i've had problems with OBS on Wayland since forever. The floating "monitor" window not working. The global shortcuts not working (a basic feature for a screen capturing program, something that worked perfectly fine on X11, and something not allowed on Wayland by design, in the name of "security"). Last time i tried OBS on Wayland (like a month or two ago, on the latest version of Ubuntu), i also had the UI buttons looking completely broken.
Or is Zoom a very hackery and special thing to use? It doesn't seem to me, as everybody at my company uses it, and i've known plenty of non computer saavy people who uses it too. Yet, Zoom on Wayland requires me to confirm permission and choose a monitor every time i want to share my screen. An application i have explicitly installed. A thing that is totally reasonable to have permission to share the screen. Wayland has been out for longer than Zoom has existed, and yet i cannot grant the permission to share the screen without asking every time for a confirmation.
Same thing happens with other apps. Some being the most popular/recommended apps for certain categories (e.g Flameshot for screenshots + quick edits).
I hope it's clear that these frustrations are genuine. And that the experiences of other people who hace faced probelms when switching to Wayland, are valid. It's not just complaining for the sake of complaining, or wanting to trash a project or something like that. The entitled tone of "Wayland has worked perfectly fine for a long time, your frustrations are invalid, you're are the problem, stop complaining" of one of the posts linked on this blog feels so wrong to me. I think it's absolutely anti-constructive, and i really have a hard time imagining what could motivate such a massage that is not in bad faith.
While the most serious of the problem you listed are directly caused by various underbaked areas of Wayland, a lot of the smaller ones are compositor quirks. My experience with Sway was all-around awful and I have since switched to a different, if less I 3-like, tiling compositor.
I broadly agree with you, although think several of these are Sway-specific issues which, granted, makes them Wayland-specific issues. For context I use both Sway and KDE Plasma (both on Wayland with an AMD GPU); the former for most development stuff, the latter for when I want stuff to "just work" (like proprietary stuff & XWayland programs like video games).
My understanding of Sway's development philosophy is that it adheres very rigorously to the Wayland protocol and avoids implementing workarounds for things like scaling XWayland windows, so it is impossible to get non-pixelated scaled XWayland windows in Sway. The motivation is that this shortfall in capability creates an impetus for developing a Wayland protocol to handle XWayland scaling properly. Other DEs like Gnome and KDE Plasma are comfortable implementing custom workarounds so that these things "just work". Whether Sway's development strategy is a good idea is somewhat questionable because I've been dealing with pixelated XWayland windows in Sway for like five years now and nobody has stepped up to fix it. Maybe that means I need to learn Wayland development myself.
To make sure I understand why Wayland is not usable to you (per the blog post) it seems to be:
I wouldn't say these are invalid criticisms, but I definitely don't think this is reasonable place to set the bar. You extend some grace to yourself for not porting i3 because you couldn't run Wayland; perhaps the developers who can solve your problems do not have your exact monitor and video card setup either.
The fact that you cannot take these very real problems (to me) seriously
Not my intention! Sorry if I came across that way; I tried not to and acknowledged that there are still existing issues. I did want to pick out two in your list that are largely by design:
First, when the locker dies, your session SHOULD be inaccessible. It's inconvenient, yes, but also much more secure: imagine your screenlocker having a bug that allows an attacker to induce a crash! This actually happened with the Linux Mint locker, and is a very serious security bug. On Sway, it would be a very minor DoS with a proper workaround. Plasma actually displays a list of instructions on how to unlock, rather than a red screen, but their locker was a lot more crashy than I would like for quite some time. You can more conveniently unlock via loginctl unlock-session <id>, which is also what Plasma tells you.
Second, for screensharing, the separate window list is also by design; allowing Chrome to list and view all windows would defy the entire point of isolating windows from each other. Though I would agree that a flow where you give (or at least have the option to give) blanket permission would also make sense to me. I do have to say that, on KDE, the selector gives a graphical preview, which is more user-friendly in my opinion than a textual list.
Finally: you seem to be pushing to get the issues you are experiencing fixed. That alone is a surprisingly high bar! A lot of users, for example, seem to be applying "Linux doesn't support Photoshop"-type logic to issues with their favorite applications on Wayland. Features like screensharing, for example, have landed on Wayland, and problems with it not working are usually downstream with applications still trying to use the X11 way. I believe this type of concern is what's being raised by Drew DeVault in his "anti-Wayland horseshit" article, not people experiencing genuine bugs like you did with your monitor.
For example, putting a ✅ on X11 multi-monitor when the entire situation there is a hot mess just baffles me.
I think the whole point of this post was that throwing the baby out with the bathwater was the wrong decision. And that Wayland shouldn’t have been forced into prime time so quickly.
That could have been fixed in X11 but wasn’t. Also, I’m confused because the article doesn’t mention monitors at all?
It also purports XLibre to be a serious project, when it is not. Banning its author is not part of some grand conspiracy to kill X11, rather, at best it is a reaction to the poor quality of his contributions to X.Org, and at worst about the very explicit political statements literally in the README!
This is true but I also don’t see any mention of XLibre in the article. Ctrl-F “XLibre” and I get nothing. Was this in a previous version of the article?
Wayland being pushed into prime time so quickly? Quick isn't the work i would describe it. Give that it felt quick means that it doesn't matter when it would be pushed problems would be inevitable and people would consider it "too quick"
Give that it felt quick means that it doesn't matter when it would be pushed problems would be inevitable and people would consider it "too quick"
well, that still is a criticism of Wayland.
Mentions of xlibre are all over the HN comments on this article. The fork is a great boon for Wayland partisans, because "I suppose you think xlibre is the way to go, BIGOT" is a powerful weapon against anyone who wants to keep using X.
Personally I remember Enrico being such a moron on the 9fans mailing list 20 damn years ago that I'll run Wayland before I touch his shit.
Well, I have better things to do than read HackerNews comments.
So again where is it mentioned in this article?
If you actually read my comment, you would know that I'm referring to the "Wayland breaks everything" gist that is linked in the article, not the article itself.
Also doing proper per-monitor scaling is not supported by, well, any GUI toolkit, only some random blogger's demo program.
What is wrong with the GTK4 per-monitor scaling?
Does GTK4 do per-monitor scaling on X11? I didn't know about that; sounds like I should give it a try!
I recall raising the same scaling point on Reddit, and there I believe I got the suggestion to use xrandr to downsample the lower-DPI monitor.
Anyway, I am not saying GUI toolkits don't support per-monitor scaling at all: scaling with Qt and Plasma Wayland works perfectly for me (better than Windows 11!)
The reason I use Linux and other Unix-likes is that they give me the ability to do whatever I want on my system, including making mistakes! So why is my display server telling me that certain applications that I installed and chose to run aren't allowed to talk to each other in the name of security?
I don't think that's a good argument. It isn't about what you can do, it's about your ability to restrict what programs can do. There are good reasons to not want every program to be able to inspect the contents of every other window on your system, or to intercept key presses that are destined for another process (or inject keystrokes into any other process). The problem is that there were existing specifications for doing this with X11, they just needed implementing and using. You could still grant on-screen keyboards or window-sharing programs the ability to inject key events or see the window contents, it just didn't need to be the default.
There are other things in X11 that are harder to fix.
It isn't about what you can do, it's about your ability to restrict what programs can do.
Oh I love convenient ways to restrict programs!
But I think what the author points out is that the possibility-to-restrict has been implemented such that it causes friction when no restrictions are necessary.
This is the typical security vs. convenience trade-off :)
There is a fundamental conflict between sandboxing everything and the power and convenience we get from open systems. Sure, we can manage permissions at the finest granularity, providing great security guarantees, but then suddenly everything becomes super tedious. I have yet to see any solution that resolves this conflict properly for power users who like control. For example, efforts to sandbox applications in flatpak and snap simply break stuff like drag & drop, file access and so on. At the end of the day, there's just a lot of breakage across the board and it gets really annoying really quickly on the desktop. All of these problems can be fixed given enough time, but I don't have enough time. If I have a system that works, I will not accept a replacement that does not work but gives me higher security. If I want a perfectly secure system that does nothing, I can replace my desktop PC with a cube of wood.
Since the developers of X11 moved to developing Wayland, I think it's unreasonable to ask them to maintain a project in which they lost interest just because it offered you, an unknown user, more freedom into which applications can read your keyboard input.
I decided to take a quiet, but pragmatic stance: lots of stuff for me was (and is) broken on Wayland. There are different reasons for that, and I'm not bashing Wayland, because modern software development is a mess. Still it is easier for me to stay on X.org and just continue using my computers as usual; once things start breaking there at some point because no one supports Xorg I can move on I guess.
That seems like a totally reasonable stance. There are lots of Linux DEs that still support X and it will be a long while before the Linux desktop on X is unusable if one chooses to stay on stable releases of Debian, Ubuntu LTS releases, etc. There is always Slackware, of course...
Modern software development is a mess, and there is no silver bullet to dealing with it. You have to decide what's important to you and go from there.
I really, truly struggle to understand posts like this. I've been daily-driving GNOME + Wayland since about 2018 and I can count the number of problems I've experienced that I can attribute to that setup on one hand. I can appreciate that the specific issue of accessibility tools is more complicated and has a lot of subtle cases I'm likely not hitting, but presumably not all complaints are driven by that demographic. I genuinely want to know how people keep finding problems: would I experience more issues if I weren't using GNOME? Would using a Nvidia GPU help me see them?
I don't use Wayland because the accessibility story is still a nightmare. But just this week I had a coworker running a fairly default-ish Ubuntu who couldn't share his screen because of some configuration problem that he attributed to Wayland at least. I still regularly hear these things so I think there's some credibility to them.
This comment might be mean, but I could make a bingo card for the things brought up here, from linking Lunduke (seriously please stop doing it, he's unreliable and conspiratorial at times... and you know, a bigot), assuming Wayland is the end of the road to making the Linux desktop secure (it's an incremental thing), to blaming Red Hat for any of this?
Picking out Sway and Nvidia as framing that Nvidia is unworkable rubs me the wrong way. I know through seeing them do triage for Linux VR problems that Nvidia engineers care, and they're probably aware of the pains more than anyone. At the same time, the reaction of Drew with how the state of things are is totally understandable either.
But like, I know from literally daily driving it, even through the dark ages, that Nvidia and Wayland works totally fine on KDE (not to dismiss the issues from Sway), nobody speaks about the explicit sync pains that made Wayland on Nvidia ACTUALLY unusable anymore. I would have honestly stuck with my Nvidia card for years if it wasn't for VAAPI.
At the same time, the devs there are specks of dust compared to the uncaring behemoth that Nvidia. Linux (desktop) is just not a priority for company leadership (well, neither are consumers) right now.
The people there are doing what they can, Nova, which wants to replace Nouveau, had a patch for Turing a few months ago by an Nvidia engineer.
This is a microcosm of the issues I have with this post, it does broad brush strokes on nuanced topics (that offhand comment on memory safety comes to mind). This is just one topic, I'd need a blog post to really dig teeth into the issues here x__x
I think the core trend is that most of these (technical) issues are fixable in Wayland, instead of trying to duct tape even more things onto / redo Xorg (when even the core devs find it untenable), then getting yelled at for when this inevitably regresses things.
I don't think the comparison of the author about PipeWire is fair. If it was not for PulseAudio having coming first and fixing (and also breaking) lots of the things that were issues with ALSA before, it probably wouldn't have taken only 8 years for it to have replaced PulseAudio.
Jack predates pulse.
Pipewire is much closer to jack in how it works internally. Pulse could have been skipped. It was the dark ages of Linux audio.
Even if you are correct, this doesn't change my argument here that it is not a fair comparison because PipeWire is the second (or third, if you count ALSA) rewrite of the whole audio subsystem in Linux.
Also PulseAudio was not the dark ages of Linux audio. The initial deployment of PA was painful, yes, but mostly because of broken ALSA drivers that took years to be fixed. I really don't remember having any issues in PulseAudio for a long time even before PipeWire came to the scene.
the whole situation is a mess, even if the efforts are praiseworthy. there is no one there with the stature and taste to lead an architecture that achieves long term acceptance. why does e.g. openbsd have a sound system that works quite well without any major redesign since decades (i know, some less or more important features might be missing)??? for me as a user all these tool changes are friction. i do follow the newest and fanciest there where my stakes are; the infrastructure though should please stay out of my way: solid and invisible. i would prefer not to have to deal with pipewire, systemd or wayland, as sound, booting and windows management should be solved problems by now.
why does e.g. openbsd have a sound system that works quite well without any major redesign since decades
Openbsd has zero bluetooth audio device support.
FreeBSD has had the same userspace APIs for sound for over 20 years: OSS 4. For bluetooth devices, it uses virtual_oss, which is a CUSE implementation of OSS that can route to other things and do additional multiplexing. Software written in 2000 for FreeBSD or Linux still produces sound on FreeBSD today, with no source-code changes.
it has no bluetooth whatsoever. of course it is almost impossible to find an example not lacking features vs. linux. does this invalidate the concept of clean architecture?
If you just focus on a small number of features you can always create a clean architecture, but once you start to add more features, especially complex ones, is that when you start to need to rethink the initial approach and either refactor or in this case, rewrite from scratch.
My prediction is that within the next 5 years the following will be true:
- Projects will drop Wayland support and go back to X11
- There will be a new display protocol that displaces both X11 and Wayland
- The new display protocol will be a drop-in replacement (similar to XWayland)
- Fragmentation will still be an issue (this one's a freebie)
I’m excited about Arcan in particular. I need to install Arch or something on my tinkering SSD then try and run Arcan on it.
My prediction is that within the next 5 years the following will be true:
Projects will drop Wayland support and go back to X11
There will be a new display protocol that displaces both X11 and Wayland
The new display protocol will be a drop-in replacement (similar to XWayland)
Fragmentation will still be an issue (this one's a freebie)
There's also 5. the protocol will eventually converge to a structure where the compositor is abstracted away from front-facing user functionality, because separation between mechanism (graphics and input pipeline) and policy (window, clipboard, drag'n'drop, input shaping) is kind of the natural outcome of any engineering process at this level. See e.g. wayback (which keeps the old mechanism, not policy layer working), or river (which offers an alternative mechanism, not policy framework).
If you squint a little, that's what's happening within Kwin, too, with its rich scriptable interface, except the separation isn't as clear there because less of it is exported up. I wouldn't be surprised if Mutter did something like that under the hood.
I don't see the point in these rant posts anymore ...
Get over it and use x11 with some old desktop if it floats your boat instead of ranting about it, like the 10k people before you already did.
Redirect your anger at something better 😁
When my PC switched from X11 to Wayland, I didn't really notice a thing.
My computer use is very simple. I open web browser, code editors, terminals and play games.
(Though for my contribution work, all of the above gets really weird but things still work.)
Most people don't even have to think about the Wayland/X11 stuff, and that's a good thing.
I've been running Wayland with Sway and KDE (since it became an option) for years now. There are some rough edges (screenshotting for instance in the first year was painful and XDG portals are a bit confusing still), but compared to how many crashes / visual artifacts / tearing / and "put this line in some ancient config file to magically solve your niche issue" solutions I had to do under X, I'm glad to see it go.
It is sure easier for me to complain about Wayland than work on it. I remember trying hard to get multitouch working years ago, and what felt worst was that there wasn't a good implementation on either side of the chasm X11 or Wayland. I think the multitouch situation is better now, but at the very least it split a small developer set into 2 smaller sets for a while.