Originally posted by crazyloglad
View Post
/just kidding
D-Bus, Pipewire and Wayland solve 90-95% of the same tasks in similar but not exactly compatible ways (to be fancy "object-relational impedance mismatch"). The tasks in question are connection discovery, client authentication, feature negotiation and timing sensitive data- and metadata- transfers. Instead of finding a common denominator and build on that, maximizing code reuse, all three will get duct taped together with some difficult synchronization bugs waiting in a lot of code.
In their plan, Wayland would require an API to offload the rendered screen to Pipewire, which is supposed to be a media processing backend/server/thing, and then any application doing remote desktop would communicate with Pipewire to get its audio/video stream. https://blogs.gnome.org/uraeus/2017/...hing-pipewire/
D-Bus is an inter-application messaging system and will be used to.... (wait for it).... do inter-application messaging.
I'm not seeing a Rube Goldberg machine here. I mean, OK, this is moving the media processing from the remote desktop applications into Pipewire, but the remote desktop applications usually rely on multimedia frameworks or libraries already to do the leg work on media processing anyway.
So far the only thing that happened is that GNOME created its own little API to do that, without contributing it upstream to Wayland. https://www.omgubuntu.co.uk/2018/06/...ecorder-ubuntu and some applications are already using it https://github.com/foss-project/green-recorder
It could be seen as a test run for something they plan to upstream, or not (see below).
The reason I bring it up as an example is that the features they require are on the 'security reasons - no' list. Synergy requires information about relative monitor positions, passive global cursor control, clipboard monitoring and injection, keyboard grabs and mouse/keyboard input injection.
As noted with GNOME above, the DE project controls what features their compositor supports, so they can easily add additional stuff that isn't a Wayland standard, and it would not be a massive pain in the ass as doing a customized Xorg hack, as they are the upstream of the compositor already so there is no upkeep increase due to custom patches, Wayland is just a protocol their compositor can support.
So I think it's entirely possible that DEs could implement such APIs on their own and eventually converge on a de-facto standard.
The situation seems similar for Wine, which is almost certainly the most difficult target to write a wayland backend for. It was also on their roadmap, yet there is not a single line of code to that effect and not mentioned at all on last month's wineconf (judging by the videos).
Comment