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!”
That’s rather disingenuous. It’s meant to be a replacement for X11. So it does break things.
It’s not intended as a drop in replacement.
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.
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”.
… Which is why it “breaks everything”
But not “everything”, which is the point.
Just the apps and DE’s that don’t/can’t support it …hmmm
It’s meant as a replacement, but not necessarily a backwards compatible one. Not everything X11 can do will be possible in Wayland, and not everything Wayland can do will be possible in X11.
In most cases, Wayland doesn’t break anything, it just has a different API to accomplish the same task.
Yes, I know. Which is why it “breaks everything”.
As railways were a replacement for canals.
It was not the railways that broke the barge. But the companies expecting to gain the advantages without adapting there transportation.
Replace not upgrade.
PS i still use canals. Bur do not blame the raIlway for not fitting my boat.
Railways are not a “replacement” for canals.
barges just haven’t been ported to railways yet
Duh. But you do understand what purpose the metaphor serves?
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.
Neat.
Lol. Learn your history.
In the UK railways very much were a replacement for canals.
Both being built to transport good accross the nation.
Don’t be shitty.
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.