4 ms·
> Curiously, people always seem to list the same advantages, and it's a very short list. The things I listed are just the tip of the iceberg. Having studied ea
by throwaway84933 1mo ago
> Curiously, people always seem to list the same advantages, and it's a very short list.
The things I listed are just the tip of the iceberg. Having studied earlier versions of X like X10, X11, and now Wayland, I could go on and on. What I'm trying to emphasize here is not to look at Wayland through an Xorg lens. I know it's easy to look at Wayland and immediately think it's a rigid protocol that breaks everything, but the reality is that it's a lot more flexible than people realize. Once you understand it, I think the closest thing that comes to mind is "There is no spoon." And just like there is no spoon, there are also no windows, only surfaces, but again, that's only the tip of the iceberg.
If you want an example of what I'm talking about, take a look at projects like p9wl. [0] This is using wlroots to create a proxy between Linux and Plan 9 in order to display windows remotely. Such flexibility is only possible when the protocols are small and composable, which Wayland is.
> As for input latency... that doesn't seem like it was ever a problem.
I never said it's impossible to get acceptable input latency on Xorg. I'm just saying that when your input and graphics go directly through your compositor, the experience is on a completely different level. This is even more true with features like direct scanout, where the compositor steps aside to send graphics directly to the GPU and input directly to the game as it goes fullscreen. It simply makes using your computer so much more pleasant. These input latency issues were exactly what Kristian Høgsberg tried to fix in Xorg, and addressing them was one of the primary motivations behind creating Wayland. [1]
> This is a symptom of what's wrong with Wayland. Wayland doesn't do screenshots.
You're thinking through your Xorg lens again. That's understandable, since you're probably used to it. However, to really understand Wayland, you have to look at it through a different lens. Wayland isn't defective, and it's not trying to be Xorg 2. It's a protocol. It doesn't do your laundry, nor does it take screenshots. It's just there to provide the mechanism for sending buffers to your compositor.
You can think of Wayland as thin building blocks to build compositors, just as you can build window managers on X, except this time, the core protocol does one thing and the libraries already exist. Wayland exists because all the infrastructure is already there in the kernel and in libraries.
The screenshot feature is the job of the compositor. Most compositors already have this feature built in. As I mentioned before, XDG portals exist, and interoperability will only keep getting better.
> Similar situation for input automation and remote control.
I agree input automation and remote desktop are still problematic. GNOME and KDE have their own remote desktop solutions, as do most of the others, but I haven't had a need to use them myself. All in all, Wayland really isn't trying to prevent you from doing things, it's just a protocol.
I'm pretty sure all this will be solved eventually, and I understand the frustration of those who need these features. However, I also understand Wayland and compositor developers taking a careful approach here, and it shows.
> A position of "sure it has major problems, but it's too late now" is not a position of progress.
That's not what I intended to say. The intended message was: the core Wayland protocol is set in stone and won't change, but we can build these things that aren't working and make them work. That is already happening every day. Progress has been steady, it's a lot better than it used to be, and it will only keep getting better. Going from Wayland into a whole different windowing system, I don't see that happening, at least not in the next 60+ years, but I definitely see the whole Wayland ecosystem improving.
[0] - https://www.youtube.com/watch?v=tRx75piIlxo https://www.youtube.com/watch?v=tRx75piIlxo
[1] - https://archive.fosdem.org/2012/interview/kristian-hogsberg.html https://archive.fosdem.org/2012/interview/kristian-hogsberg....
- ToyKeeper 1mo ago> just the tip of the iceberg So I keep hearing. But hardly anyone ever talks about what's underneath the tip... and when they do, it turns out to be a big mess under there, not a mountain of advantages. > just like there is no spoon, there are also no windows, only surfaces Yes, I understand. That's why programs can't position their own windows, or get or set the mouse position. It doesn't even assume the coordinates are 2-dimensional. It's all very futuristic and makes a lot of interesting things possible, like using Minecraft as a compositor, or a Facebook style Metaverse compositor. But you're not hearing what I'm saying: Wayland is solving the wrong problems. What it can do is pretty neat, but what it does is not what people need. It's good at party tricks, but bad at solving the real needs of daily life. It largely solves problems that nobody had, and to do this, it breaks major features people need. Much like how Facebook's Metaverse failed, nobody really wants to do their spreadsheets in Minecraft. > It doesn't do your laundry Yeah, and that's part of the problem. To use your analogy, it's like removing someone's washer and dryer, and replacing them with a box of tools which don't do laundry. It may be a really fancy foundation for building efficient laundry appliances, but that's not what people need. People may have used it to build an entire ecosystem of laundry appliances, but they couldn't agree on basic things so the ecosystem became fragmented, such that P-brand soap doesn't work in Q-brand washers, and clothes washed in Q-brand washers can't be dried in R-brand dryers, and if you use a P-brand washer you need to take fifteen extra steps to prepare it for a drying cycle, and T-brand dryers can only be used for pants, and ... etc etc. It's a big complex mess which, after 18 years of development, still doesn't let me get my socks clean. And most of it doesn't work at all for people who use a wheelchair. > when your input and graphics go directly through your compositor ... input directly to the game When they cut out the middleware, the middleware stops working. And when they make it impossible to add middleware, it stops being possible to do all sorts of useful things. Sure, it may be a millisecond faster, but in exchange, all my keys get mapped wrong, or I can't use my notebook without physically touching it (and causing repetitive strain injury), or my autoclicker stops working, or my accessibility tools become impossible to fix, or my automatic time tracker is treated as a security violation, or the solution which works for me suddenly won't work for my friend who uses a different compositor, or ... etc etc etc. It architecturally eliminates entire categories of useful things... in order to make the simplest case slightly faster. This provides a more pleasant experience for average able-bodied normal people with no uncommon needs or preferences, while making things worse for everyone else. In particular, the complete lack of accessibility in Wayland is very able-ist and makes it unusuable for anyone with disabilities. That sort of thing needs to be built deep into the core, but it was instead rejected outright and left as an afterthought exercise for Someone Else to solve. > [this] feature is the job of the compositor. Most compositors already have this feature ... GNOME and KDE have their own solutions, as do most of the others This really gets at the nature of Wayland's biggest problem. A ton of important things are rejected and declared to be Someone Else's Problem. The compositors have attempted to deal with the aftermath of this mistake, but they all do their own thing and refuse to agree on a lot, so instead of one robust solution, we end up with an entire fragmented ecosystem of partial solutions which aren't compatible with each other. It's even more of a nightmare for application developers. Instead of needing to support Windows, MacOS, and X11, suddenly they need to support Windows, MacOS, X11, GNOME, KDE, Sway, Weston, Hyprland, Enlightenment, Niri, etc. Every time two compositors disagree on something, it means every application must add support for both of the ways of doing it, like how they are now required to optionally draw their own title bar and window frame, depending on which compositor the user has... and good luck getting two programs from two different developers to draw their frames in the same visual style. > Wayland really isn't trying to prevent you from doing things It may not be trying, but it sure is succeeding.