Well known KDE developer Nate Graham is out with a blog post today outlining his latest Wayland thoughts, how X11 is a bad platform, and the recent topic of "Wayland breaking everything" isn't really accurate.
"In this context, “breaking everything” is another perhaps less accurate way of saying “not everything is fully ported yet”. This porting is necessary because Wayland is designed to target a future that doesn’t include 100% drop-in compatibility with everything we did in the past, because it turns out that a lot of those things don’t make sense anymore. For the ones that do, a compatibility layer (XWayland) is already provided, and anything needing deeper system integration generally has a path forward (Portals and Wayland protocols and PipeWire) or is being actively worked on. It’s all happening!"
Backwards compatibility forever sounds great, but the technical debt eventually becomes a giant fucking limitation on improvement. They chose not to stay backwards compatible for a reason.
I agree that at some point you have to be able to ditch technical debt, but you still should be able to do more or less the same things with the new system as with the old system and that's currently still not the case.
The problem is that the architecture of Wayland and the organization around it themselves impose limitations that have a chilling effect on development for it. One issue is that Wayland has been deliberately left very slim, leaving a lot of complexity and implementation details up to the compositor. A compositor can be seen as something that approaches the size and complexity of an entire X display server. This means that if someone wants to create a window manager, they have to implement a whole compositor first. So instead of writing window manager code, which is what the developer is probably the most interested in, they are spending most of their time implementing the compositor.
Naturally this also leads to a lot of duplication of effort. For example: GNOME, KDE and the window managers that have implemented a wayland version each have their own compositor that by and large does the same thing.
Another issue is the standardization of the protocols and interfaces that the different compositors use, or lack thereof. There is a steering group containing the major stakeholders that votes on proposed extensions, but good proposals often get shot down because the major stakeholders can't agree on it and sometimes ego or principles gets in the way. And then you have cases where one compositor just goes their own way and implements something regardless of what the others do.
For example, as a result of this there's still no standard screen capture API, so if you want to do things like screenshots, remote desktop, desktop streaming, ... whether or not you can do that, and with which tool, depends on the compositor you use. Another example: they're currently still bickering over whether or not an application should be allowed to place windows with absolute coordinates, and how that should be implemented. We're currently 15 years after initial release of Wayland...
In my opinion, this is all completely backwards. Both in an organizational and technical sense way too much has been left up to the individual compositors that should have been a core part of Wayland itself.
Unfortunately, it's all too late to fix this. We're 15 years into Wayland development, and the flawed architecture has been set in stone. Wayland isn't going to go away soon either, too many parties are invested in it. So for me the reasonable thing to do is to wait and stick with X11 until the dust settles and something emerges on the other side that is better than what I currently have.
This means that if someone wants to create a window manager, they have to implement a whole compositor first. So instead of writing window manager code, which is what the developer is probably the most interested in, they are spending most of their time implementing the compositor.
wlroots has existed for almost 7 years and this misconception is still repeated.
I know wlroots exists. It's a library that helps you implement a compositor (i.e. does some of the heavy lifting), but at the end of the day the window manager developer is still implementing a compositor and is responsible for maintaining their compositor.
The mere fact that wlroots, and other efforts like louvre, are necessary at all actually prove my point that it was an idiotic design to push everything off into "compositors".
Yes. And it's a bad analogy. Nobody is expecting you to be able to take a barge on railways. But existing linux applications are being expected to run on Wayland. As I said - railways didn't replace canals - they're different types of things.
Within the last 10 years and the next 5 years, software using old hacks instead of GUI toolkits are expected to switch, yes.
People can choose to continue to use X11 until KDE Plasma 6 hits Debian stable.
I don't see a problem. Nobody forces Wayland onto anyone yet, except for bleeding edge distributions like Fedora. And unless you've been severely misled, you should know what you signed up for when you installed Fedora.
I didn't say there was a problem. I'm saying it's pretty disingenuous to act like Wayland isn't intended as a replacement for X11. All of which you seem to agree with. As you say "nobody forces Wayland onto anyone yet" (emphasis mine).
Also - I just love how your comment is written like a politician would have written it. "Sure you can use the dirty old X11 if you really want to, or you can use the nice new God-fearing Wayland".
If you bring the two parts of your comment together and dial back the assumptions of bad faith, you'll get a consistent picture:
Wayland is a blank slate replacement for how to do window management on Linux. At some point it'll become the standard for software that's new or maintained. Unmaintained software that doesn't talk to the internet and is therefore safe to run even with security holes will continue to be supported via XWayland. The giant scope and API surface is part of the reason why it's deprecated. Maintainers are expected to target the new way to do things going forward, because there are people able and willing to maintain that support (many of those people former X11 maintainers who are looking forward to stop having to deal with that legacy behemoth)
That's the state of things I wanted to express. Not my opinion, no agenda, just how I understand the situation.
Yeah sorry. But when you look at the events building europeen railways. More so in the UK as we had a huge canal system built in a few decades. But most of Europe denser areas.
Railways were very much a replacement for the to slow canal system.
Canals built a huge industry allowing manufacturers to ship goods to cities while shipping resources from the mines and farms etc.
But industries like meat fish milk and strongly enough market gardening (fresh flowers) were very limited to local areas before the railways. Took off hugely when the railways intentionally set up in direct competition to the canals.
Canals survived for a while moving the slower stuff. But started needing to redesign to support bigger and more boats faster. Before finally closing down.
The UK and most of Europe rebuilt/renovated them as a leasure activity from the 1950s. But most of the late 1800 to early 1900s railways vcompanies actually worked to replace and put canal companies out of business.
Passenger rail really was not a big thing untill about the 1920s.
We're getting well away from the topic now. It depends on what you mean by "replace". Railways and canals exist side-by-side as different solutions to similar problems - sure. And some railways have replaced some canals. But the panama canal will not be replaced by a railroad for example. It couldn't do the same job. The pros/cons of each option depends on many factors.
The analogy is poor for comparing software. Linux distros will likely replace X11 with Wayland over time. To do the same thing that X11 was doing. It will be replaced "in place". The very same thing you were using with X11 will now need to work on Wayland. This would be like running your barges on the railroad? Maybe? Depending on how you squint?
I wouldn't expect my barge to work on the railroad. I do expect that Firefox will run on Wayland after having used it on X11 for 20 years.
But as a user of a barge if you needed wanted to use railways. Because they are faster. It would be the barge maker or a new train maker you would look at. Not the railway.
Just like canals X11 still exists. And is still being developed. It has its limitations but some applications are choosing not to port. Because like barge makers. They simply do not see the need. Or merit.
If the makers of railways insisted that all current users agents had to work on them without adaption. Many of the advantages would no longer be there.
Just as if waylaid did not expect Firefox et al to adapt to its methods. The security and other advantages they seek would not be practice.
Waylaid is a replacement. Not an upgrade.
(PS yeah living in the UK replace canal with inland waterways navigation. Tends to be how we think of it. As they are such a huge part of our industrial history. I forget the US really never went through that part of europeen industrial development. Your example is a fairly unique and modern by comparison, it dose not link to any network. Where as the inland waterways accross the UK and parts of Europe were a linked inferstructure like our railways. When the railways in Europe were built. They were very much seen as a replacement to our existing canal system. By both the corperations set up to build the inferstructure and the media of the time. It is literally a part of our industrial history thought is schools here. As so much of our culture and industrial revolution is built around the events)