There's a "Wayland set the Linux desktop back" blog going around now and ... it just makes me so tired.

That take is so amazingly wrong, but so persistent and popular. It is the "immigrants took mah job!" of takes for software. It is so flawed in so many different ways, and utterly ignores the host of actual reasons that Linux has stalled on the desktop.

It is apparently seductive, too, because it offloads the blame entirely on the crew developing Wayland without the person casting the blame considering for even a second the actual complexity of the problems. I could literally write a book on the reasons that the Linux desktop hasn't caught on; and I would, too, if I thought people would actually buy it and read it (a lot of people, I mean - enough to justify writing a book...)

But it boils down to this: Linux desktop development doesn't have more than a tiny, tiny fraction of the funding per year that Microsoft or Apple spend on marketing a single product line. Much less the kind of funds that go into R&D.

Vendors, mostly, are disinterested in supporting an OS that has less than 10% market share. At times they have even been actively dissuaded from doing so by certain other companies...

Users are, by and large, not willing to deal with inconvenience or having to learn new things in order to adopt the Linux desktop, even though the two main vendors are constantly making the user experience worse and continually taking away control of our own devices.

Wayland? It's a convenient scapegoat.

I'm not, by the way, arguing that Wayland is perfect, or that the community behind it has executed everything perfectly. And I'm certainly not arguing that people haven't had bad experiences with Wayland; that hasn't been _my_ experience, but I also have been using Linux for 30 years now -- and I choose hardware based on its Linux compatibility. I also have different expectations from a desktop than someone who has used Windows or macOS most of their life.

OK. Rant over. Be nicer to the Wayland folks. Stop blaming them for everything. In fact, let's maybe consider that what would really be useful is constructive takes on how we can succeed from here.

@jzb I am continuously perplexed by people advocating for known-poor design and legacy software that has been deprecated for so long that people forgot.

It's like these people have no idea how open source works.

@jzb While I didn't write a book on it, I did write a pretty long blog post on it recently. tl;dr: MacOS X also shares a good deal of the blame.

https://kylerank.in/blog/linux-desktop-renaissance.html

Linux Desktop Renaissance

@kyle @jzb I was ready to disagree, but if I understand your point it's essentially that many pragmatic developers moved to Mac in the 2000s and with them a lot of the motivation and energy to work on Linux desktop infrastructure. Seems fair.
@mirth @jzb Yes, exactly this. I elaborate on the point in the blog post.
@kyle
Just read. V interesting. Used OpenSuSE for years but also Ubuntu & Mac (not Windows for around 30 years) & zOS for 7ish. You brought me up to date on the ebbs & flows. Thanks
@jzb

@kyle @jzb i think you have a good eye for it, thanks for taking the time to write it all up on your website. *I* am one of those Linux dev/sysadmins who moved to a Linux desktop from Windows95 in the late 90s and then to MacOSX in the mid 2000s (while working at a company that was all-Linux, my first workstation was a VALinux machine) for exactly the reasons you descrbe, the PowerBook G4 was a better Unix workstation with working graphics, X11, suspend and all the ports, without all the drama and tweaking of Linux, and the OSX NextSTEP flavor UI was better than GNOME and KDE of the era.

That isnt true now for the reasons you have stated, im running Silverblue on a Dell Precision for work and Bazzite for my home computers which works *great*. Ive never needed to use vi in /etc in anger which is the right amount of computer-touching for the machines i rely on. I love all the little Adwaita apps on Flathub that just do one useful thing and arent trying to upsell you on a cloud subscription service. Its fantastic

@jzb the problem is not Wayland, just like it is not systemd. The problem is trying to force people to adopt it or die.

I have use cases that are inimical to the fundamental assumptions Wayland has, and pretty much no 3D-accelerated hardware across my machine park, so it’s never going to be an option for me. So don’t make me "use it or die". Just keep X11 working and we’re good.

@mirabilos @jzb You can run most if not all Wayland compositors without 3D acceleration provided your Linux kernel is new enough to provide SimpleDRM. But, given your profile picture maybe you don't use Linux?

@newbyte @mirabilos @jzb

You've entirely missed the point, or built a strawman here. Problem isn't (lack of) 3D acceleration, but that the whole conceptual design of Wayland has been broken from day 0. People were pointing out the shortcomings all the time and mostly ignored.

Wayland's design breaks things.

Certain applications, like KiCAD will not support Wayland anytime soon, because it breaks the way KiCAD cooperates with window managers.

In Wayland-land there's no such cooperation.

@datenwolf @newbyte @mirabilos @jzb Do you have a reference explaining why the Wayland design is broken? Based on my understanding of how it works it seems pretty reasonable but I also didn't use desktop Linux much for most of the last 20 years.

@mirth @newbyte @mirabilos @jzb

Wayland doesn't really define the concept of a "window". Basically it just throws around surfaces you can draw to, and some very, VERY rudimentary input events.

Compositors create the surfaces and hand them to clients, which then can draw to them. But there's no "placement", or "focus" or similar defined in Wayland. Which means that clients can't provision for that.

@datenwolf what you're using as counter-argument to Wayland is ironically a strength of it…

On X11, doing those things was just possible because it was broken by design…

And since the need for doing those kind of things came up due to e.g. KiCAD, Wayland just got a protocol extension and now it's possible:
https://wayland.app/protocols/xx-zones-v1

@mirth @newbyte @mirabilos @jzb

Zones protocol | Wayland Explorer

A better way to read Wayland documentation

@eliasp @mirth @newbyte @mirabilos @jzb

Oh great… yet another extension.

Part of the reason for creating Wayland (according to the announcement post) was, that Xorg had too many extensions (less than 20 in total, some of them easily removable, without breaking stuff).

Last time I checked for Wayland there were over 100 extensions listed with over 60 or so to be considered "core".

Oh, and X11 allowed for these things, because they're necessary. It's not a broken design (quite the opposite).

@newbyte @jzb @datenwolf @eliasp @mirth and a design based on moving essential functionality to optional extensions like Wayland does has caused huge amounts of trouble with XMPP already
@datenwolf @eliasp @mirth @newbyte @mirabilos @jzb @datenwolf @eliasp @mirth @newbyte @mirabilos @jzb Have you ever used X11R6 without extensions? That this is also riddled with extensions. And many of them now essential.

@waldi @eliasp @mirth @newbyte @mirabilos @jzb

It's less than 20 extensions for X11 (and some vendor specific ddx stuff, like the NV-*), and a quarter of them are not even relevant anymore.

At most you need SECURITY, XFIXES, XInput, XTEST, MIT-SHM, RANDR, SHAPE for X11 to be usable and not painful to program for.

And if you rethink the server side of X11 you can do away with SECURITY, MIT-SCREEN-SAVER.

@waldi @eliasp @mirth @newbyte @mirabilos @jzb

Oh, and to answer your question: Yes, I have, and yes I know that it's lacking.

@datenwolf @mirth @newbyte @mirabilos @jzb These concepts seem more related to platforms than to display protocols, that sound more like sensible separation of concerns and future-proofing than anything else.

@datenwolf @newbyte @mirabilos @jzb I have used KiCad and created projects in it under Wayland with no troubles whatsoever.

You know that Xwayland exists and isn't going anywhere, right? It's not some temporary glue to ease the migration, it's the main still maintained X11 implementation these days and it's here to stay.

@dos @newbyte @mirabilos @jzb

Please read what the KiCAD developers have to say about Wayland:

https://www.kicad.org/blog/2025/06/KiCad-and-Wayland-Support/

KiCad and Wayland Support

The KiCad development team frequently receives questions about our support for Wayland. Given that Fedora and Ubuntu are both planning to drop X11 support from their main desktop environments in the near future, we want to provide clear, transparent guidance to our users about the current state of Wayland support in KiCad. Current Status Is Functional but Degraded KiCad does run on Wayland systems, but with significant limitations and known issues that substantially degrade the user experience.

@dos @newbyte @mirabilos @jzb

Also Xwayland… yay, let's just glue some broken thing (Xorg implementation of X11) to another broken thing (the Wayland protocol.

What the Phoenix devs are doing is much, much better. Also more resource efficient, since the Wayland design already is testing memory bottlenecks with regard to 4k or 8k display resolutions.

@datenwolf @newbyte @mirabilos @jzb Maybe in your world dma-buf passing weights more with higher resolutions, but in the real world when you want high performance you end up with things like Gamescope.

@dos @newbyte @mirabilos @jzb

That's not what I was hinting at.

Socratic question: What's the memory requirements for a 2 image swap chain of a fullscreen window at an 8k UHD ( = 7680 × 4320) display resolution in R10G10B10A2 pixel format?

How many clients running (and compositing) at that resolution do fit in your typical GPU's VRAM?

@datenwolf @dos @jzb @newbyte 8k? So about 100x80 pixels? That’s not a large screen.

@mirabilos @dos @jzb @newbyte

You know what I mean:
8k UHD = 7680 × 4320

@dos @jzb @newbyte @datenwolf no, I don’t. I do not use "entertainment/consumer TV" sizes. I use computer monitors, in which the resolution is given by width and height. (And, ideally, dpi. All three* are relevant.)

*) Yes, I know dpi is strictly two values, but on all practical monitors at the moment they are sufficiently close.

@datenwolf @newbyte @mirabilos @jzb Ah, so you're not anti-Wayland, but anti-composition?

Then you'll be relieved to hear that Wayland is designed in a way that makes composition unnecessary in the case you described :)

@dos @newbyte @mirabilos @jzb

Make the windows slightly smaller than fullscreen and slightly offset to each other, so that of each window you can see some pixels.

Or more devious: Make it a pyramid stacking where each lower window on the Z-stack sticks out by some pixels to the side of the window on top of it.

Wayland doesn't have the concept of pixel ownership based clipping of window contents. So every window by necessity will get a complete surface.

@datenwolf @newbyte @mirabilos @jzb So first it was supposedly about bandwidth (which is not an issue in this case either thanks to damage tracking), but now it's suddenly about RAM usage which you'd need to pay up one way or another anyway if you wanted to implement features commonly expected from desktop environments these days? 🤔

@dos @newbyte @mirabilos @jzb

Read my post again. I didn't mention bandwidth at all. I wrote bottleneck, which can also mean, running out of RAM.

And which features of desktop environments would that be, that are expected?

Effects? You mean distractions.

Window content previews? Sure, let's take a whole, huge window and scale it down to a thumbnail, things will remain readable. Of course.

Client side decoration? eff those. I want my windows to have titles telling me what they are.

@dos @newbyte @mirabilos @jzb

However, when compositing you're also paying the full memory bandwidth bottleneck for the parts that actually undergo compositing.

And if it's done using some 3D API better hope that the people developing the compositor know what they're doing and not mindlessly blend two-triangle quads on top of each other (like e.g. Hyprland does, which is full of hilariously bad patterns in using OpenGL).

@datenwolf @newbyte @mirabilos @jzb Yeah, let's instead have the apps OOM once you drag their windows or view them in an expose-like arrangement 😂

@dos @newbyte @mirabilos @jzb

OOM situations due to overloading with windows is not a problem if you do graphics the old-school way:

Single display screen framebuffer, windows cut areas from that framebuffer and drawing operations undergo the pixel ownership test.

This isn't magic or rocket science; it was figured out how to do this in the 1980ies.

Every graphics system worth its salt did it that way. And it even plays nicely with 3D acceleration.

@datenwolf @newbyte @mirabilos @jzb Except it's not 1980 anymore. Buffers to be presented on screen come from all sorts of sources - CPUs, GPUs, VPUs, ISPs. Some can render directly to a shared framebuffer, some can't. Some could be cropped to save memory, some can't - and when they can, they'd need to reallocate.

Yes, you can design a system that will consume less resources if you make it special-purposed to the set of requirements you happen to care about. Go ahead. Wayland is not that thing.

@datenwolf @newbyte @mirabilos @jzb (that said, a non-composited shared-framebuffer system could be easily built on top of Wayland anyway)

@dos @newbyte @mirabilos @jzb

Ok, show me: How would you pass a Wayland surface that has a clip region attached and let the client mmap it so that the clipped out regions don't consume memory (without forcing clip region row start and end addresses fall onto page boundaries and not implying narrow window clips spanning multiple rows)?

@datenwolf @newbyte @mirabilos @jzb Buffer passing mechanics are extensible in Wayland. Even dma-bufs are in their own extension, the only one in the core is wl_shm (which, BTW, works by giving the client a buffer to mmap to...).

What's more - some toolkits, such as Qt, even have elaborate plugin support to handle custom buffer passing mechanisms that you could use.

I won't implement this for you as I'm not interested in it, but you can just sit down and do it!

@dos @newbyte @mirabilos @jzb

So I do it… and then? Then only programs that actually know about these extensions and actually use them will give me their benefits.

Every program which developers' didn't care about going the extra mile will waste memory, simply by creating toplevel windows on screen.

Memory that's not available for doing actual work (like visualizing data).

Old-school graphics systems give the benefits to all applications, without extra effort.

@datenwolf @newbyte @mirabilos @jzb ...and outright don't work when presented with modern challenges, unless you're willing to put the extra effort or compromise on performance as well :)

@dos @newbyte @mirabilos @jzb

Outright don't work?

Okay, what exactly doesn't "work" with X11? And please don't list up shortcomings of Xorg, that could have been addressed a long time ago and are perfectly possible with X11.

@dos @newbyte @mirabilos @jzb

This is the cost/benefit calculation I do with regard to Wayland/X11

Wayland gives me very little, but piles a huge combinatorial explosion of extensions on clients and compositors, vastly inflating the complexity of the whole system, if it wants to be resource efficient in general purpose use.

X11 (Win32 GDI for that matter) give me a reasonably well designed resource allocation, that everything just uses.

@datenwolf @newbyte @mirabilos @jzb I have debugged plenty of X11 and Wayland client code in my life and having to deal with "combinatorial explosion" of stuff definitely describes the experience of working with the former more than the latter.

@dos @newbyte @mirabilos @jzb

Yes, I know.

I've been doing graphics programming since my early teenage years, some 30 years ago, and these days I'm spending most of my time developing scientific and medical imaging applications that do real-time on-GPU processing and visualization of data at bandwidths that saturate the PCIe links to the GPUs.

Let me put it this way: Over the years I developed fine tuned instincts of what are good and bad designs in graphics. Wayland is a bad design IMHO.

@datenwolf @mirabilos @jzb I'm responding to one specific concern. I'm neither missing the point nor building a strawman. I have no interest in engaging with the broader Wayland debate right now.

@mirabilos "Just" is doing a lot of work in that sentence.

It offloads the responsibility for maintaining X and X compatibility to... whom? Nobody is stopping anybody from doing that work, but you can't expect others to do it for you if they don't want to.

Therein lies one of the fundamental flaws with all the arguments against Wayland: the idea that developers are a fungible resource that can just be directed at whatever problem people want them directed at without, you know, paying them to do it.

You are totally free to keep using X. Nobody's forcing you not to; they're just not signing up to do the work that lets you keep doing it without any tradeoffs.

If you want to keep using X11 there's still a path to doing that, nobody's going to show up at your house and uninstall it. Well, they better not. If they do, then you totally have a real gripe. And a home security problem. 🙂

But - if the idea is that, say, GNOME developers have to keep X11 support and keep doing the work? That doesn't fly. They're not obligated to. To the extent anyone is paying them to do work, it's usually focused on Wayland. If you have a support contract with Red Hat or something, then by all means complain to your salesbeing.

But users who are using Linux desktop OSes for free without contributing to them? It's like showing up for a potluck - you take what's there, and don't complain. If you want something different, it's on you to bring it.

(Which, btw, I always do. I'm a picky AF eater, so I always bring what I want to eat if I'm going to such things...)

@jzb your arguments sound like those I heard from the systemd proponents. Grow some new ones.

@jzb I don't know the blog and I do use Wayland but I suspect people are angry because I'm typically distro fashion it was pushed in when so many bugs and missing features still remain as compared to X.

The Free Software movement doesn't win because we're more Free, it wins when we have unilaterally better quality software then the other stuff.

Yes this is an uphill battle but we have a lot of good people on our side.

Wayland went into "production" too early and is still making users suffer.

@purpleidea Counterpoint: Debian stable and other LTS distros exist.

People want two things at once: the latest and greatest stuff, and stability. Those things are not compatible.

If you're using Fedora, say, and complaining that "this isn't production ready" then ... why the hell are you using Fedora? Why are you using GNOME rather than, say, Xfce or MATE? And, most importantly, why are people complaining about stuff they're getting *for free*?

This goes back to the consumer mindset that people have rather than the mindset that FOSS is a not-capitalist endeavor that requires a bit of participation on people's parts.

I know that's well outside the FOSS movement's ability to solve, but like I said at CfgMgmtCamp - FOSS was supposed to change the world, but what's happened is that it's been changed instead; people say "give me convenience or give me death" rather than worrying about their liberty.

Sigh.

@jzb I do agree and your last paragraph here is 💯 on the mark.

Sadly I'm not convinced that Debian is a good user experience.

We're losing the quality/features/experience war because a shiny mac book actually has really good battery life and a pretty good user experience.

People unwilling to pay for Free Software is a major unsolved problem. I think I know a lot about this space both with #mgmtconfig and also with working because of working at AWS. It's sad :(

@purpleidea tangent: battery life is literally the main selling point for me on my MacBook - I can work all day and still have 20% left. It’s wild!
@whack I only hope that some day I'll have such an experience on GNU+Linux :( I'd love to be able to coffee shop without needing to sit next to and outlet :/
@purpleidea the dream!!!
@whack Lenovo was selling some high end (and outrageously priced) ARM64 laptop which I considered buying before I realized drivers and other things on Linux would probably be very sub par. Even a brand new "Fedora preinstalled" thinkpad has a ton of driver issues.
@purpleidea I had a pretty great time on dell’s linux laptop (xps?) a few years ago other than not-awesome battery. I’m hopeful we get some good battery + great display laptop for Linux some day!
@purpleidea @whack brand new probably is your core issue here.
The true thinkpads (not counting E-series, and not counting aarch64 for different reasons), pretty much work flawlessly on modern Linux, as long as your Kernel is newer than the laptop you are using. If you can't tolerate/fix minor driver issues, buying a discounted last years ThinkPad usually is the better choice. (This has always been true)
@mxk @purpleidea I loved my thinkpads for years but I’ve never once had one with a good quality screen. Maybe that’s changed though
@whack @mxk Unfortunately I bought the 4k version because I wanted a nice screen and the drivers are so bad that I can't get usable performance on it. Have to lower it to *less* than 2k even to make it not lag. For sale if someone wants to play with drivers or install windows.

@jzb @purpleidea I'm in this situation currently, kind of. I originally switched to Fedora because it was recommended on many fronts as a well supported and thus stable system. And then it happened to feel great as a work machine. It is nicely designed.

But, well, the kernel issues kept on getting more serious, panics every few hours, sleep mode long gone, and some work documents were lost along the way. I'm using a fairly new ThinkPad. In my dual boot system, I had to prioritize Windows to actually get things done and I hate this fact; also that some features do work better over there, especially with a clean install. I don't expect Ubuntu to solve the underlying kernel trouble.

Your arguments do still hold though, it's a systematic issue of under founding and under appreciation.

@jzb @purpleidea
> This goes back to the consumer mindset that people have rather than the mindset that FOSS is a not-capitalist endeavor that requires a bit of participation on people's parts.

One way to frame this which ive found useful is to ask why a FOSS project on Github has an issue tracker? What does it _mean_ to "open a ticket" with a volunteer when there is no business relationship? Having the trapping of commercial software doesnt help people het out of that consumer mindset where they start demanding to talk so some volunteers non-existant "manager".