> 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.