Exploring the Fragmentation of Wayland, an xdotool adventure
semicomplete.com
Exploring the Fragmentation of Wayland, an xdotool adventure
1–10 of 97 posts
Re: Exploring the Fragmentation of Wayland, an xdotool adventure
#2But let's be honest about Xorg. The overwhelming majority of people who worked on Xorg are now developing Wayland. Why? Because developing Xorg is a massive pain in the butt. It is a 400K LOC behemoth of a project and it has a ridiculous amount of technical debt. I would have to imagine that if the Xorg developers thought they could fix Xorg, they would do that instead of making a new thing.
Re: Exploring the Fragmentation of Wayland, an xdotool adventure
#3Re: Exploring the Fragmentation of Wayland, an xdotool adventure
#4You'll never find me saying that Wayland development is good in its present state. I think it's a mess and it has a lot of issues. But let's be honest about Xorg. The overwhelming majority of people who worked on Xorg are now developing Wayland. Why? Because developing Xorg is a massive pain in the butt. It is a 400K LOC behemoth of a project and it has a ridiculous amount of technical debt. I would have to imagine t…
Just compare this to Windows and how they made this rearchitecture of making their compositor more modern without splitting into 10s of compositors and breaking a ton of apps.
Re: Exploring the Fragmentation of Wayland, an xdotool adventure
#5You'll never find me saying that Wayland development is good in its present state. I think it's a mess and it has a lot of issues. But let's be honest about Xorg. The overwhelming majority of people who worked on Xorg are now developing Wayland. Why? Because developing Xorg is a massive pain in the butt. It is a 400K LOC behemoth of a project and it has a ridiculous amount of technical debt. I would have to imagine t…
There wasn't a need to have 10s of different wayland compositors. There is not a need to endlessly bikeshed over extentions instead of delivering user value. These are failures of leadership in driving the replacement of X. Just compare this to Windows and how they made this rearchitecture of making their compositor more modern without splitting into 10s of compositors and breaking a ton of apps.
Re: Exploring the Fragmentation of Wayland, an xdotool adventure
#6You'll never find me saying that Wayland development is good in its present state. I think it's a mess and it has a lot of issues. But let's be honest about Xorg. The overwhelming majority of people who worked on Xorg are now developing Wayland. Why? Because developing Xorg is a massive pain in the butt. It is a 400K LOC behemoth of a project and it has a ridiculous amount of technical debt. I would have to imagine t…
There wasn't a need to have 10s of different wayland compositors. There is not a need to endlessly bikeshed over extentions instead of delivering user value. These are failures of leadership in driving the replacement of X. Just compare this to Windows and how they made this rearchitecture of making their compositor more modern without splitting into 10s of compositors and breaking a ton of apps.
Short term this might be a far slower and worse approach. It's not clear that's the case long term though, making things easier to try out different ideas and then finding a winning compositor project could be better than being stuck with one.
Re: Exploring the Fragmentation of Wayland, an xdotool adventure
#7You'll never find me saying that Wayland development is good in its present state. I think it's a mess and it has a lot of issues. But let's be honest about Xorg. The overwhelming majority of people who worked on Xorg are now developing Wayland. Why? Because developing Xorg is a massive pain in the butt. It is a 400K LOC behemoth of a project and it has a ridiculous amount of technical debt. I would have to imagine t…
This is a lot different than say OSS vs ALSA. OSS really could have worked (and still does on FreeBSD afaik), but ALSA fully replaced OSS. I think pipewire seems likely to replace PulseAudio, even if it may not have PulseAudio's key functionality of ruining audio when things used to work just fine.
Re: Exploring the Fragmentation of Wayland, an xdotool adventure
#8You'll never find me saying that Wayland development is good in its present state. I think it's a mess and it has a lot of issues. But let's be honest about Xorg. The overwhelming majority of people who worked on Xorg are now developing Wayland. Why? Because developing Xorg is a massive pain in the butt. It is a 400K LOC behemoth of a project and it has a ridiculous amount of technical debt. I would have to imagine t…
Re: Exploring the Fragmentation of Wayland, an xdotool adventure
#9Earlier quoted context omitted.
There wasn't a need to have 10s of different wayland compositors. There is not a need to endlessly bikeshed over extentions instead of delivering user value. These are failures of leadership in driving the replacement of X. Just compare this to Windows and how they made this rearchitecture of making their compositor more modern without splitting into 10s of compositors and breaking a ton of apps.
"Failures of leadership" implies that leadership actually exists. Does it?
Re: Exploring the Fragmentation of Wayland, an xdotool adventure
#10You'll never find me saying that Wayland development is good in its present state. I think it's a mess and it has a lot of issues. But let's be honest about Xorg. The overwhelming majority of people who worked on Xorg are now developing Wayland. Why? Because developing Xorg is a massive pain in the butt. It is a 400K LOC behemoth of a project and it has a ridiculous amount of technical debt. I would have to imagine t…
Xorg put everything - way too many features - into one single display server (Xorg). Wayland put everything in the hands of the compositor, and then spawned an endless array of them (most of them implementing only a fraction of needed features).
X11 de jure and de facto required all those features to be present. In theory you could have an X server missing new features, but there was no way to get rid of really old features, and in practice you really needed all the new ones or apps would break. Wayland made essentially everything optional, to the point of fracturing the ecosystem.
Xorg was a monolithic reference implementation. Wayland ships a reference implementation in the form of weston, and it's so feature poor as to be useless.
X11 has, in practice, really poor security. (There were/are attempts to improve this, but it's not been terribly successful.) Wayland is really big on security. So much so that they refused to implement little things like screen shots and a11y features because they could be abused.
IMHO, with hindsight, they should have done this in 2 stages: First, do the backend refactoring to get the nice driver-facing parts (GBM, AIUI). Essentially, make rootful XWayland the only Xorg, but in a way that is completely invisible to users. (Or, put differently, ship https://gitlab.freedesktop.org/wayback/wayback in 2010 instead of 2025.) Second, after you've done that and vastly simplified a huge chunk of code and made upkeep and refactoring easier, start working on X12. For the sake of argument, this can still be basically the same protocol as the wayland we actually got. However, don't actually ship that at first. Instead, go build/port an actual complete desktop environment to it, including all the features people actually want - clipboard, screen sharing, a11y and automation tools, remote desktop, etc. - and actually implement all the protocols needed for those. By all means make them optional add-ons to the core protocol, but make them up front. Also, I really recommend making one of those a window management protocol, so that 90% of window managers don't have to be a compositor, though some will. Then, after the thing is actually functional, start trying to get people to switch over. Don't start pushing people to adopt something half-baked and mess about for years on basic protocols that should have shipped day one (last I checked, in 2025 there are still 3 different incompatible wayland screenshot protocols). Make it an improvement, not a regression that only benefits you the Xorg developers.