Yes, Zoom somehow turned into something like Skype, post acquisition.
But, at the same time. A design that requires everyone to implement their own protocols and everyone to refix the same bugs in their own compositor is inherintly bad.
I have been using Wayland as my daily driver. Some compositors lacked SHM support in their screen sharing, others have other issues. We only recently got proper text input support, and it took forever to fix in chrome and electron(it's been fixed for a few releases, but you'll still come across older electron software). How did they manage to make it so the cursor movement is dependent on the scaling mode in a way that client rendering library's need to be aware of it otherwise the cursor ends up in the wrong location by the way?.
In X, if the WM crashes, X is still running, and you can just restart the WM. In Wayland, if you hit a bug it takes everything down with it.
The first release was 14 years ago, we're still fixing screen sharing.
I just learned that despite all the boasting of fractional scaling support in Wayland, one of the base protocols, wl_output actually returns the same scaling mode for two screens even if they have a different scaling setting.
One thing I also never got is why the displays have to have absolute coordinates when you place them on a global coordinate system that is dependent on the scaling mode of the screen.
Also, KDE is the only WM that has managed to properly implement scaled Xwayland windows.
> But, at the same time. A design that requires everyone to implement their own protocols and everyone to refix the same bugs in their own compositor is inherintly bad.
Consider that if every DE wrote their own Xorg implementation the story would be the same.
A key question is why everyone is writing their own compositor, this is not about the protocol design, it's about the state of collaboration.
I spent some time in the last week fixing lowdpi font rendering in cosmic, enabling me to switch to it. I then discovered that cosmic-comp's VRR had a terrible feedback path causing conformant applications to stutter badly, so I have large patch stack rewiring full screen feedback, tranche compatibility, fence timing and so on (it's fucking buttery now though, which is nice). That then showed up some input processing bugs becoming visible via playing videos in firefox, leading further to me discovering that cross-plane locking was causing frame drops too. Now I've got a giant stack of shit I need to cleanup and upstream - but the end result (along with the freetype render patches I got into Firefox a while back) is a better DE than I've had on Linux in decades. Maybe if upstreaming goes well I'll do MPO for an encore.
> In X, if the WM crashes, X is still running, and you can just restart the WM. In Wayland, if you hit a bug it takes everything down with it.
See above, the WM did not need to embed the compositor. That's not a protocol requirement, it's and implementer choice. I actually really wish it didn't. Of all the aforementioned patches only two are in Smithay. As I was actually fixing compositing for the workflow I just had to suffer through I would have had to restart pretty much the whole session anyway - though in fact the later stages of my workflow I was only directly killing cosmic-comp and cosmic-session was automatically restarting it all. No really good way to recover the surfaces though, so apps still need to restart.
This is not unlike the _another_ bug stream I tracked down this evening, where cosmic-applets would fail to display tray icons on both displays correctly - that turned out to be a bug where one icon provider was unresponsive to part of the protocol, coupled with a synchronous dispatch from the event handle into that blocking return call. Perhaps more interestingly though that manifest during diagnosis something I've seen a lot in other DE chains where tray icons for auto-started electron apps were highly sketchy - well a common electron wrapper gives up entirely on the first whiff of an error with the dbus interface and doesn't retry.
Years ago I gave up on Linux DE's because reconfiguring xft, gnome, etc was too much of a time sink. How far I've come, now I'm back :'(