Live data from Hacker News

Separating the Wayland compositor and window manager

isaacfreund.com

211–220 of 228 posts

Re: Separating the Wayland compositor and window manager

#211

Earlier quoted context omitted.

I live in the real world where Wayland breaks by design the workflow of lots of people and Wayland people refuse to acknowledge that.

Could you elaborate?

Not the OP, but a few weeks ago I posted a comment about my problems with Wayland, which forced me to go back to X11. (I am still using it.)

https://news.ycombinator.com/item?id=46001622

Re: Separating the Wayland compositor and window manager

#212
post #34

Earlier quoted context omitted.

> I can make it do basically anything I want X11 can't do high refresh rates every time that I've tried to do so.

It runs just fine at 165 hz for me. Given that xrandr and CRTs have been around for a while, and both have supported high refresh rates for a long while, something seems fishy here. Something is probably at fault, but it's not X11.

It is able to output the high Hz to the display, but the desktop (like window decorations and window dragging) remains at 60 Hz, it looks like. Individual windows can still successfully render at high Hz. Contrast this with Wayland where I've always seen everything go at the high speed, even if I'm using the same DE in both (like Gnome Wayland and Gnome Xorg on the same hardware).

Re: Separating the Wayland compositor and window manager

#213

Earlier quoted context omitted.

Neither way works in Wayland. A program can know where it was clicked but not where the pointer was immediately before that. For that matter Wayland doesn't have a concept of "the" pointer; there may be multiple pointers.

Surely programs can know where the pointer is as long as it is over a window that belongs to the program. Otherwise hover wouldn't work.

Hover is done by the client telling the compositor it would like the cursor to change its shape if it is over a certain area the client is drawing. But the client does not know where the cursor is or where on the screen the client is (or even if the client is visible at all).

Re: Separating the Wayland compositor and window manager

#214
post #132

I don't get the frustration with wayland (the protocol) in the comments. This project shows that having a separate window manager was always possible. First we got wlroots as a library that did most of the heavy lifting, and now we got river as an even higher level abstraction. Sure I agree that wayland (the project) could have provided these abstractions much earlier. But anyone else could have done it, too. We get…

> I don't get the frustration with wayland (the protocol) in the comments. This project shows that having a separate window manager was always possible.

Wayland is 17 years old. At this point, it's almost more frustrating to have one of its bigger architectural problems potentially addressed, precisely because it shows that it was always possible, and the people pushing for its adoption just... didn't bother doing the things that would make it easier to adopt.

Re: Separating the Wayland compositor and window manager

#215

Earlier quoted context omitted.

You have some weird memory, screenshots have been a solved issue for something like 6 or 7 years at the very least, if not a decade. I remember taking screenshots on wayland during the Covid era for instance.

Wayland experiences seem to vary wildly. It was most certainly not working fine for me six years ago. Well, six years ago I don't think I got as far as trying screenshots, I'd run into basic window placement or rendering issues that made the system unusable. But say a couple years ago, I definitely had screenshot issues. Sometimes it just wouldn't capture a screenshot. Or I could only capture one monitor and not the…

You have always been able to do ssh -X from a wayland client to a remote X as long as xwayland was running locally.

And waypipe has been solving this need to run a remote app on a wayland remote system. And it performs way better than X forwarding actually. With ssh -X you also need to remember obscure environment variables (looking at you QT) to not have unusable blank windows on some apps.

Re: Separating the Wayland compositor and window manager

#216
post #168

Earlier quoted context omitted.

> And how would they be able to "push stuff down people's throats" if people could walk away towards alternatives? It's a forcing of their narrow opinion on what should be allowed onto the ecosystem at large, because all of these things are connected. You can leave to a different DE/distro, but if every DE is doing its own thing for global hotkeys or whatever, then software in the ecosystem is going to be hacky/bespo…

I dunno, I think tray icons support is kind of the absurd hill to die on. They're a Windows 95-ism and generally extremely horrible in terms of usability. Apps use them and desktop environments support them mostly out of a lack of imagination, and they are frankly extremely overused. I'm personally a KDE user, but I'm with the GNOME folks on this one.

They may have been introduced in Windows 95, but they didn't actually become particularly common until years later. They weren't originally intended as a long-term feature and, in Win 2000, Microsoft started recommending that people use custom Control Panel objects or MMC console snap-ins instead. But the MMC wasn't an option in Win98/Me and, by the time MS finally managed to produced a consumer variant of NT, use of the system tray had become entrenched.

I'm not sure what Windows is like these days, but in MacOS they're patently absurd. My corporate Mac laptop has twelve of the fucking things, and I've never actually had genuine need to click on any of them (and 5 of them are from Apple and so of course use 4 different corner radii between them - the 3rd party ones are at least a little more consistent).

Re: Separating the Wayland compositor and window manager

#217
post #160

Earlier quoted context omitted.

Remote access on X11 is a mess and I won't miss it, at least on Wayland everyone is funneled through EGL or Vulkan and there's a reasonable path to layering remote access on top of that.

X11 remote access have worked really well for me. And the best part is that it worked even when the client machine has no graphical subsystem installed. I can launch GUI applications remotely with a non-privileged account and it shows on my machine as if it was native. Wayland can use RDP and some other remote desktop protocols, but it is not what I want, I want a window, not a desktop. There is Waypipe now, I heard…

I'll take a reasonable path over no path and just hoping VirtualGL or something will be enough and forgoing color management entirely. I understand that some use cases work better or only in X, but I also see the roadmap for Wayland and it looks like it will solve problems that I care about. While I know a little bit about graphics and GUIs, the people building all this infrastructure know much more and it seems likely that their judgement on how to solve these problems is on average better than people who haven't been working at that layer for a few years.

Re: Separating the Wayland compositor and window manager

#218

Earlier quoted context omitted.

I do not know exactly what all that means but does it needs to be desktop wide or just inside a specific app window?

Neither way works in Wayland. A program can know where it was clicked but not where the pointer was immediately before that. For that matter Wayland doesn't have a concept of "the" pointer; there may be multiple pointers.

I don't think this is true. As per wayland protocol docs (https://wayland-book.com/seat/pointer.html):

> Using the wl_seat.get_pointer request, clients may obtain a wl_pointer object. The server will send events to it whenever the user moves their pointer, presses mouse buttons, uses the scroll wheel, etc — whenever the pointer is over one of your surfaces. [...] The server sends this event when the pointer moves over one of our surfaces, and specifies both the surface that was "entered", as well as the surface-local coordinates (from the top-left corner) that the pointer is positioned over.

So the program should know the pointer's local coordinates.

Re: Separating the Wayland compositor and window manager

#219
post #193

Earlier quoted context omitted.

It's because people got used to using screen share in X11 when they really want remote login. You cannot do remote login if there has to be someone sitting at the PC to approve it. Since Wayland has no remote login model, people are left trying to kludge together something out of screen sharing. I can guarantee the moment login over RDP becomes available everyone complaining about the screen sharing will quiet down.…

https://github.com/KDE/krdp Works great. Ya'll are exhausting. Wayland is the one thing where nerds on the internet will not even bother grabbing a livecd of a linux distro just to try it out and then complain about things that have been implemented for years.

>The server starts at session login

Okay so I STILL have to log in locally before I can log in remotely. Also the list of known issues is pretty concerning. This is in not even close to a remote login solution. You are not accomplishing anything by pretending Wayland is anything more than a half-baked toy at present.

Re: Separating the Wayland compositor and window manager

#220
post #185
post #132

I don't get the frustration with wayland (the protocol) in the comments. This project shows that having a separate window manager was always possible. First we got wlroots as a library that did most of the heavy lifting, and now we got river as an even higher level abstraction. Sure I agree that wayland (the project) could have provided these abstractions much earlier. But anyone else could have done it, too. We get…

First they said we couldn’t have screenshots because they were insecure. Then they added them back in. Next, it was accessibility APIs and I guess copy paste is still flaky. Now, it’s window managers. What’s next, Remote Desktop? The whole reason given for wayland’s replacement of x11 was that those things are all fundamentally bad ideas. It’s been 15 years. Linux desktops are more fragmented than ever, and they’re s…

Color management (not just HDR which needs it) was also an afterthought. Calibration is still an issue.

> for reasons no one understands

Reasons are sadly typical for FOSS: from the start the devs were focused on their favorite use cases with no communication with end users to figure out theirs.

Post reply on HN