Live data from Hacker News

Exploring the Fragmentation of Wayland, an xdotool adventure

semicomplete.com

51–60 of 97 posts

Re: Exploring the Fragmentation of Wayland, an xdotool adventure

#51
post #8

You'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…

You're right, Xorg and X11 should be abandoned and for good reason. That should have happened decades ago. But Wayland doesn't actually fix anything that really needed fixing, other than wiping the slate clean. It's a good thing that Arcan exists, or the future of Unixland would be quite bleak.

How big is the Arcan development team? Is there any prospect of Gtk or Qt adding at least basic native support?

Re: Exploring the Fragmentation of Wayland, an xdotool adventure

#52
post #47

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

How can you compare the Cathedral with a bazaar? This is not a technical difference at all. Apple/Microsoft can do whatever they want, just break compatibility at any point and everyone else wanting to have their programs supported on their platform will adapt. Meanwhile for Linux network effect has a much bigger role to play, you can't tell anyone else what to do, but protocols can only emerge from working together.…

User experience and developer experience for an OS are real things. It's easy to make a bad experience, people have to actually care about being able to deliver a good experience. Even if you can't tell people what to do, it should be possible to align on something that can deliver a good experience for users and developers.

>This is not a technical difference at all.

Which is why I said it was a problem with leadership than with the technical merrits.

Re: Exploring the Fragmentation of Wayland, an xdotool adventure

#53

You'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…

It's unfortunately possible for multiple things to be true here. Xorg is an unmaintainable piece of tech debt. And Wayland made several poor design decisions that are now sending it down an eerily similar path, just with different, fresh tech debt.

Re: Exploring the Fragmentation of Wayland, an xdotool adventure

#54

You'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…

> Because developing Xorg is a massive pain in the butt.

That's really no reason to build an entirely new system, and then half-ass it the way Wayland did. The Wayland gang should have started with a new, modernized, cleaned up window system API running as a layer on top of X11 and then start replacing the cruft piece by piece while keeping both the original X11 API and the new API working all the time, basically build the whole project from the user perspective (both 'regular' Linux users and programmers who need to build Linux apps).

I guess though the main problem is that feature parity with X11 wasn't even a design goal, they intentionally threw out the baby with the bathwater, and also intentionally fragmented the Linux desktop even more. It almost smells like sabotage (at least self-sabotage).

Also, it's been 17 years since Wayland was released, that's as if X11 would have barely started to become usable by around 2005.

Re: Exploring the Fragmentation of Wayland, an xdotool adventure

#55
post #53

You'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…

It's unfortunately possible for multiple things to be true here. Xorg is an unmaintainable piece of tech debt. And Wayland made several poor design decisions that are now sending it down an eerily similar path, just with different , fresh tech debt.

And that tech debt possibly duplicated across multiple different projects now, too.

Re: Exploring the Fragmentation of Wayland, an xdotool adventure

#56
post #47

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

How can you compare the Cathedral with a bazaar? This is not a technical difference at all. Apple/Microsoft can do whatever they want, just break compatibility at any point and everyone else wanting to have their programs supported on their platform will adapt. Meanwhile for Linux network effect has a much bigger role to play, you can't tell anyone else what to do, but protocols can only emerge from working together.…

> Apple/Microsoft can do whatever they want

Those two are worlds apart when it comes to backward compatibility.

> Also, I wouldn't bring up Microsoft's display stack as a positive example at all.

Why not? It's doing exactly what it's supposed to do, and has been since the late 90s. There's tons of fundamental improvements since then, but they're all under the hood without affecting user-facing features. I'd say the Windows display stack modernization is an excellent example of how it should be done (a real shame though that Microsoft is actively ruining Windows by adding user-hostile features on top of the pretty good technical base).

Re: Exploring the Fragmentation of Wayland, an xdotool adventure

#57

Earlier quoted context omitted.

That begs a question: if they had that much experience why they chose to structure wayland in a way that's such PITA to write for ? This just looks like some massive second system effect. They just decided X11 did everything wrong and did it differently rather than pick up the pieces (if in spirit of idea, not code) that work and fix parts that don't

Well, yes. As you say: Q: if they had that much experience why they chose to structure wayland in a way that's such PITA to write for ? A: Because they were reacting to Xorg, so they wrote the exact opposite of that. And for bonus points, because one of the problems they wanted to solve was "Xorg is hard to maintain", they made sure that the replacement was much much easier to maintain and develop... for them. Not fo…

> they made sure that the replacement was much much easier to maintain and develop... for them

Tbh, if that were the case I would expect much faster progress.

Re: Exploring the Fragmentation of Wayland, an xdotool adventure

#58

You'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…

> Because developing Xorg is a massive pain in the butt. That's really no reason to build an entirely new system, and then half-ass it the way Wayland did. The Wayland gang should have started with a new, modernized, cleaned up window system API running as a layer on top of X11 and then start replacing the cruft piece by piece while keeping both the original X11 API and the new API working all the time, basically bui…

> It almost smells like sabotage (at least self-sabotage).

See also: Ubuntu Unity, Gnome 3, KDE 4... all widely panned by their most loyal users. 2010s were the lost decade of Linux.

Re: Exploring the Fragmentation of Wayland, an xdotool adventure

#59
post #7

You'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…

You don't see me working on this stuff, but people keep complaining about this because instead of one thing that works but is a pain, we have two things that work but are a pain. It's pretty obvious that while Xorg works for a lot of people, it's not the way forward; but I think it's apparent that Wayland might not be either... although I think it's likely some will end up running a wayland server with Xwayland as th…

>This is a lot different than say OSS vs ALSA.

ALSA is an absolute nightmare to work with infinitely worse than Wayland. At best 10% of it is ‘documented’ through Doxygen. For the rest the only reference is the source code. This is one reason applications don’t tend to support ALSA anymore.

Re: Exploring the Fragmentation of Wayland, an xdotool adventure

#60

Xdotool and Xmodmap are the two main reasons why, after a few months running Wayland+keyd+dotool I went back to X11. I found really hard to have the following things working at once: - Italian layout for my keyboard with heavily-customized AltGr keys for mathematical notation (in X11 it's just a matter of having a Xmodmap file) - Using Espanso for many common shortcuts like :date: (current YYYY-MM-DD date) and :pidig…

> A reasonable way to run Windows in a VM What's wrong with this case? Virtual machine reports invalid key codes to the guest? You need to have the proper layout in Windows, as (virtual) hardware only reports key codes.

A few months have passed and I might not remember everything correctly, but there was a series of problems:

- I use several symbols as Greek letters (α, β, γ…) and mathematical operators (×, −, ·, ∂…), and after much digging I found that the only way I could make keyd work with them was to choose a US keyboard layout. So, I had to write a configuration file for keyd to remap not only the special characters listed above, but every character of the Italian keyboard (è, é, ò, à, ù…). This extensive remapping required then an exception for Espanso to prevent `keyd` from intercepting its virtual keyboard output.

- However, this forced US-layout setup created a conflict with VirtualBox that I was unable to solve. When I installed Windows and selected the Italian layout inside the VM, the guest OS received the raw key codes corresponding to a US physical keyboard (due to the keyd remapping layer). Since the guest OS expected Italian key codes, all the standard Italian keys (like è, à, ò) stopped working correctly. Without keyd enabled, the standard Italian layout worked perfectly in the VM.

- The attempts to create application-specific exceptions (e.g., to disable keyd for the VM window) using tools like keyd-application-mapper did not function correctly in my KDE environment because of known issues in these tools.

- Finally, introducing new hardware like my Corsair keyboard added another layer of complexity, as its Linux driver (ckb-next) was incompatible with the active keyd remapping layer. This was the point when I decided to revert to X11.

I should definitely collect all these details and write a blog post about it…

Post reply on HN