Personal opinion: If Linux "catches on" without dropping X11 rather quickly, it will lose all of the momentum. Xorg offers a fairly good out-of-box experience on many GPUs but it falls apart when you try to do things that would be considered normal on other OSes, like having displays of different DPIs, streaming 4K video via OBS, and so forth. Everybody keeps treating this issue like it's just programmers deprecating old code for fun, but the actual reality of it is that you can only like Xorg if you exist in the narrow space where it is sufficient, and while it's easy to downplay the importance of its shortcomings if you either coincidentally follow the line or if perhaps your behavior has adjusted to the limitations, it's much harder when you're having to explain it to someone who is trying to get into Linux for the first time and realizing what they have taken for granted elsewhere.
Yes, a broken Wayland session won't be much better. But if the Wayland session is still not suitable for a majority of users by the time Fedora 41 ships, whatever window of opportunity exists for Linux is going to just get missed entirely.
If you call what Xorg supports a narrow space, I'm not sure you've used Wayland.
I read the exact same things about it a decade ago, and I remember that Fedora 31 (maybe 32?) defaulted to Wayland. Just as it was then: I get breakage whereas with Xorg I get none. And a trivial search reveals there are _many_ more for who Wayland creates issues or showstoppers.
Once people in the Wayland sphere start to realize they'll need to cover those 1001 Xorg edge cases _on top_ of enabling the good stuff that they've done, sure, we'll be getting there. However, that interest doesn't seem to be there, counting by the #worksforme's...
I have been using SwayWM for five years. My system configuration is public on Github. I have also been closely tracking the Plasma Wayland session on AMD hardware, too.
Unfortunately you didn't list any of the shortcomings, just vaguely that there are breakages, but my point isn't that Wayland is perfect, it's that X11 is effectively non-viable for many people due to shortcomings that are difficult or nearly impossible to fix that nobody is working on. Meanwhile, one of the biggest showstoppers for Wayland isn't even Wayland, it's that the Linux graphics infrastructure Wayland compositors rely on isn't well-supported by the official NVIDIA driver.
I'm not going down for the umpteenth time with someone appearing to be interested in what broke, but not taking me up on my offer to help them troubleshoot (because Wayland doesn't print any helpful error codes, just freezes my desktop, on a variety of different hardware, a variety of Intel graphics too, variety of distros, all in the same way).
Unfortunately you hand wave away Xorg being not an option an account of not much more than fractional scaling issues, which is pretty easily worked around in my experience, while many people happily use it daily, and have for decades.
I'm not saying things can be better, I'm saying Wayland proponents are always devvy types doing same-ish things on same-ish hardware. No wonder that by now Wayland supports this well!
Funny enough I didn't mention fractional scale but heterogeneous scale factors across monitors. But frankly, I am a little offended that anyone would try to portray any Xorg scaling scheme as "working". It's a crapshoot at best, and the illusion is shattered the moment you start an app or game that doesn't carefully coordinate its scaling factor. I've tried many things, on both KDE and GNOME, and it's just not reliable. Pop!_OS has its own workarounds, too, and it's still a mess; having to log out to make scaling changes take effect reliably is a terrible experience. Dragging windows across screens and having some of them change scale and others not makes your desktop feel utterly unpredictable, it's just not going to work. Even Windows doesn't have this issue anymore!
(Of course, Pop!_OS, being pragmatic, is just going to move to its own Wayland compositor and sidestep all of that non-sense.)
Anyway, the true irony is that Xorg doesn't actually have especially great support for a wide range of use cases and hardware, it's more just that NVIDIA specifically holds Wayland compositors back for desktop support. I use AMD graphics and it works great. Intel graphics works, too. Raspberry Pi computers on VideoCore now run Wayfire by default and its about as smooth as it ever has been. Wayland has seen adoption across different use cases, from embedded machines to powering "Linux" features in ChromeOS and Windows, to the Steam compositor on Steam Deck. To paint it as though Wayland only supports developer desktops running Intel graphics is just silly.
Anyway, yes, I am not volunteering to debug your machine, but the vast majority of complaints about what Wayland can't do aren't even correct. The common wisdom is still that Wayland can't even do screen capture when I was using it in Zoom calls two years ago, not to mention the newer developments like XWayland Video Bridge in KDE. Obviously, it sucks that people are having stability issues with this switch, but just like "Works on my machine" is not a meaningful retort to issues, "Doesn't work on my machine" is also not a good excuse to hold back the future forever. Whether Wayland compositors are ready or not, X11 is not a viable future. For many users, it's not a viable present. So, if you're not willing to debug your Linux issues, I can't blame you. But, in return, you can't blame the rest of us for continuing without debugging your personal machine issues, either.
> Even more niche. And I'm not saying it's not worth solving, I'm saying your niche isn't more important than other niches.
It was niche, but partly thanks to Apple, laptops started getting high DPI screens. Now even relatively cheap laptops have high DPI screens, but many monitors that you would dock to are not high DPI. Hence... Many people run head-first into this when they dock, connect a display, plug their laptop into a TV, or simply have a multi-monitor setup with one that would look better at 125% scale anyways.
It was niche. It stopped being niche thanks in part to Apple and hardware manufacturers chasing them, and that's when Windows started to support it better, too.
> As I wrote, my issues were all on Intel graphics. From 3 different generations.
I don't believe you are lying here, so please believe that I am not lying either. I have plenty (frankly too many, it's a bit absurd at this point) Linux desktop/laptop machines, and of the one UHD Graphics 600 machine (a GPD MicroPC), two Tigerlake machines (a Lenovo and a Microsoft Surface Laptop 4 Intel), and one Intel Arc A750 desktop machine, all of them work very well. And while I don't use all of those constantly, I use the MicroPC and Surface Laptop a lot, and they are among the most stable Linux devices I own.
So while I believe what you are saying, what I'm trying to suggest is that they're probably not endemic issues. This is pretty important for the sake of this discussion.
> Happy to see you confirm the impression I initially put forth though.
I hope you are not expecting people who are simply trying to discuss the future of Linux desktop stacks to be volunteering to debug your personal issues. Don't get me wrong, I'd actually love to help if I could, but debugging hangs and freezes that could be an interplay of any of hardware, driver and compositor is not fun and doing so over the Internet indirectly is even less fun.
I fully acknowledge the caveats of running bespoke Linux configurations on unsupported hardware. I don't advocate for normal people to do this. For friends who are stubborn and want to run Linux now on hardware they already own, of course I am supportive and try to help debug it, since I do this same thing all the time. But to me, these are issues that your system vendor should be helping to sort out, not something most people should be expected to figure out on their own. Even for the tech-savvy, it's not fun.
As for figuring out where to go to debug a hang, there's no particularly special advice for Wayland versus anything else that may cause systems to lock up, since Wayland compositors are just normal DRM/KMS programs that happen to speak the Wayland protocol. If the machine is not kernel panicking and can be accessed over SSH, I'd wager to guess there is probably something indicative in dmesg.
The only limitation of Wayland that is actually real and important is the lack of support for accessibility technologies such as screen readers - a side effect of its more secure design that is going to need an added protocol to fix. But my understanding is that is being worked on.
(Lack of support for screensavers is a real but not very important issue. The ext-session-lock-v1 protocol provides everything needed, and wlr supports it, but jwz doesn't like its design, which means xscreensaver is not getting ported. Also Gnome and KDE are yet to come on board.)
I agree with this wholeheartedly. However, just to be completely clear, AT-SPI2 is not X11 specific (according to the Freedesktop page about it[1]) so at the very least, just like with input methods, the existing accessibility tools should be possible to get working. Admittedly, I haven't tried at all, and I'm sure there are still problems getting it to work in practice. I think the best short-term option would be for desktop environments to try to get AT-SPI2 to work as it does in their X sessions.
That said, I am really hoping that GNOME Foundation donation from the Sovereign Tech Fund comes to the rescue here. I was very happy when I read the whitepaper[2] for the accessibility protocol that was being worked on, as it looks like it is being designed with the right priorities to build real and robust accessibility technology. These technologies aren't just great for accessibility but also for automation, and I think that putting them into Wayland protocols (as opposed to off to the side like what is being done with libei) is the right way to go.
> Xorg offers a fairly good out-of-box experience on many GPUs but it falls apart when you try to do things that would be considered normal on other OSes
You are you talking about Wayland. Wayland has no or severely lacking mechanisms for screenshots, screen sharing, positioning of windows, window management, window icons, drag and drop, ...
Many of the issues are duck-taped with a clusterfuck of incompatible external protocols which turns the whole ecosystem into a complete mess.
But what do you expect from a severely lacking protocol designed for digital signage and car entertainment systems that is being shoehorned into a desktop protocol.
> Everybody keeps treating this issue like it's just programmers deprecating old code for fun
No. It's all about funding. DARPA (=RedHat) used to fund X11, now it's funding Wayland. That's it. X11 is still to this day the better solution for Desktops, by a long shot.
> while it's easy to downplay the importance of its shortcomings
The only shortcomings that are consistently being downplayed are those of Wayland.
Besides the point. The only reason Wayland is worked on and X11 is not worked on is funding. Not because Wayland is in any way better or something. It's clearly worse than X11 in almost every aspect.
> You are you talking about Wayland. Wayland has no or severely lacking mechanisms for screenshots, screen sharing, positioning of windows, window management, window icons, drag and drop, ...
> Many of the issues are duck-taped with a clusterfuck of incompatible external protocols which turns the whole ecosystem into a complete mess.
As opposed to the mess of X protocols which are elegant and working great?
- The X11 protocol itself is insane. Obviously any reasonable person is going to want to write an app that just uses bindings like XCB, but if you venture into the protocol from the ground up you will quickly run into weird concepts like visuals and colormaps that beckon back to the days of 256 color graphics, and protocols whose endianness depended on the host machine.
- There is an input method protocol called XIM. It has not been updated or improved at all in 30 years, and nobody has ever attempted to make a successor to my knowledge. It is essentially completely useless, and thus all of the modern UI toolkits, IME buses, and input methods have to implement their own communications. It winds up being N x M, twice (once for UI toolkits to buses, and a gain for buses to input methods.) When people run into an issue and IBus or FCITX stop working, they usually just give up, because fucking with environment variables and UI toolkit plugins to try to get everything to work again is just not worth the trouble. Wayland does not have a perfect world here, but what it has is real life progress on this issue, wherein one can install Sway, fcitx5 and a GTK-4 app and everything works.
- X has some core input events, but it's not enough, so there is XInput. XInput was also not enough, so there is now XInput2. XInput2 is not new but it is still not the default in many apps, like Wine's graphics tablet support or Firefox (which has XI2 code, but it's still disabled.) This is the short version, because I value my sanity. But as someone who tried using a touchscreen on Linux in 2013, I assure you I have more experience with the "robust stability" that Xorg is known for.
- Inter-app communication is handled via ICCCM, which isn't an X protocol per se but more of a way of catastrophically abusing X properties, including using them as synchronization primitives for makeshift data channels. To this day, QXcb is known to have race conditions in its implementation of bulk clipboard transfers in some (thankfully rare) circumstances, and nobody has figured out what causes it.
What is true is that over the years, Xorg has been improved greatly. It has hotplugging. Modeswitching has been moved to the kernel. It no longer requires root. It is no longer literally a print server. There are far less segfaults hiding in XI. However, the design issues that X ran into are basically cemented into history at this point, and that's why it is not a viable path forward.
> But what do you expect from a severely lacking protocol designed for digital signage and car entertainment systems that is being shoehorned into a desktop protocol.
Wayland was definitely not originally or especially designed for embedded use cases. It was explicitly developed as a successor to X11 that reflected the direction the Linux graphics stack was moving in. It was indeed developed by Redhat, but also by a prominent developer that worked on Xorg.
I am aware that Weston has indeed gained some success in automotive and embedded environments, but this makes sense, it's well-suited for that. Xorg wasn't fantastic for these use cases for a variety of reasons, but Wayland offers much more flexibility for vendors. You can relatively easily extend Weston or even write your own compositor using just standard Linux graphics technology, seems pretty convenient.
> No. It's all about funding. DARPA (=RedHat) used to fund X11, now it's funding Wayland. That's it.
Not that this is relevant or anything but... man. No comment.
> X11 is still to this day the better solution for Desktops, by a long shot.
It is definitely the best solution for desktops that have the exact same set of needs they had 20 years ago. I'm not even disputing that, I'm dead serious. If your needs for a desktop haven't dramatically changed in the last couple of decades X11 is objectively better.
What you are missing is that for a lot of people, it has in fact changed quite a lot, and this is legitimately holding back Linux. I'm not arguing Wayland is a beautiful and elegant design. I'm arguing that we need something that we can actually fucking improve and build the future on top of, and between X and Wayland as a base, it's not even close. It's Wayland. It has been Wayland.
> The only shortcomings that are consistently being downplayed are those of Wayland.
The reason why people think this is simple. When most people talk about Wayland shortcomings, they're talking about things that actually can be improved and fixed, in some cases they're being fixed right now, in others it might take time but there's paths forward. When most people talk about X11 shortcomings, they're talking about things that will never, ever be fixed. Ever.
The only thing that's been entertaining to me is that X was always the bane of our existence and the butt of many Linux user's jokes in around 2004, but somehow there is amnesia. Now the impetus to move on from X11 is suddenly seen as hasty, despite the fact that it is definitely severely overdue.
> As opposed to the mess of X protocols which are elegant and working great?
They are clearly better, simpler and more tested then the conglomerate of protocol mess pertaining the Wayland ecosystem.
> The X11 protocol itself is insane.
According to whom? I would call Wayland insane. This is just your personal opinion
> Wayland does not have a perfect world here
X11 is not great, but Wayland is far worse also in this case. I agree.
> XInput was also not enough, so there is now XInput2.
X11 is designed to be extended. Wayland manages to be worse than all of that.
> Inter-app communication is handled via ICCCM
Wrong! ICCCM standardizes communication between window managers and clients. Which is one of the strengths of X11 and allowed a plethora of niche window managers to flourish.
X properties are not "abused" for IPC. They are a central part of it and far more elegant than abominations like dbus or Wayland.
> QXcb is known to have race conditions
Qt is more concerned with portability than being a X11 toolkit. That's why they are having problems.
> However, the design issues that X ran into are basically cemented into history at this point, and that's why it is not a viable path forward.
There are zero design issues with X. With the right extensions it can be a "viable" path forward.
> If your needs for a desktop haven't dramatically changed in the last couple of decades X11 is objectively better.
Indeed but even for today's needs in a world where screen sharing is one of the most important tasks of desktop computers X11 manages to be miles ahead of Wayland which does not even standardize basic functionality like screen sharing.
> I'm arguing that we need something that we can actually fucking improve and build the future on top of, and between X and Wayland as a base, it's not even close. It's Wayland. It has been Wayland.
What is your argument here? Wayland is shit but it is "the future"?
X11 is extensible by design and has been extended many times. In this way it "survived" many generations of graphics hardware starting from dual ported RAM and ending with GPU's where one is more powerful than all computers in the world combined at the time X11 was introduced.
> When most people talk about Wayland shortcomings, they're talking about things that actually can be improved and fixed, in some cases they're being fixed right now, in others it might take time but there's paths forward.
Waylanders are "fixing" things for 16 years now. This mantra is getting bit stale to say the least.
> When most people talk about X11 shortcomings, they're talking about things that will never, ever be fixed. Ever.
What exactly can never "EVER" be fixed on X11. Can't think of a single thing.
> The only thing that's been entertaining to me is that X was always the bane of our existence and the butt of many Linux user's jokes in around 2004
X11 was bad in 2004. But so was every other operating system that had to deal with a new type of graphics hardware. It was a symptom of technological progress.
Wayland was never great and due to the politics, its idiotic design and protocol hell it will never be.
> Now the impetus to move on from X11 is suddenly seen as hasty, despite the fact that it is definitely severely overdue.
The only thing that is overdue is putting Wayland into the trash where it belongs.
Yes, a broken Wayland session won't be much better. But if the Wayland session is still not suitable for a majority of users by the time Fedora 41 ships, whatever window of opportunity exists for Linux is going to just get missed entirely.