[PATCH wayland-protocols] unstable: add xcursor-configuration

ovdev at fratti.ch ovdev at fratti.ch
Mon Jan 27 19:52:54 UTC 2020


Hello Jonas,

I am a developer hoping to work more with Wayland in the future, and would 
like it if you could clarify a few things regarding your response.

You wrote:

>D-Bus is more or less the universal IPC on Linux

However, I am unable to find D-Bus in the Linux source tree. I know it has 
been proposed for inclusion into the Linux kernel, but was rejected for issues 
regarding its design. As far as I can tell D-Bus is purely a userspace 
abstraction on top of standard Linux IPC functionality, much like Wayland is 
too.

I'm assuming you don't mean "Linux" as in "The Linux Desktop", as I believe 
GNOME's position is that there is no Linux platform. If GNOME's view on the 
matter has changed, please correct me.

If you meant that it is the most popular userspace IPC mechanism on platforms 
running a Linux kernel, then you'd be mistaken too, as that would be Binder. I 
think if we went down the road of popular IPC mechanisms that aren't Wayland, 
we should consider Binder as a real alternative, since it is more popular than 
D-Bus and of a more modern design.

>and is almost guaranteed to be available everywhere.

I think there are more Wayland systems not running D-Bus than there are 
Wayland systems not running Wayland. I also believe there are more Wayland 
clients that do not use D-Bus but use Wayland. It seems like an odd design 
decision to me to require all Wayland clients that wish to make use of system 
mouse cursor themes to also require to pull some D-Bus client library into 
their application.

>If we'd end up introducing a protocol like this, we might end up with many 
tiny protocols for things previously covered by XSettings.

This is worded like it's a bad design decision, but I do not see the issue. 
OpenGL's ARB extension mechanism works like this and has been working so well 
most recent OpenGL revisions have simply ratified generally useful extensions.

Wayland has an extension mechanism, and both clients and compositors may wish 
to implement only a subset of all extensions. Is a second IPC mechanism with 
another specification for doing routine desktop awareness really required?

>It's a D-Bus API called org.freedesktop.portal.Settings[0]

Is there a particular reason as to why D-Bus was chosen? To me it looks like 
D-Bus is a legacy protocol with technical debt that is now being worked around 
in newer implementations thereof. Wayland is a fairly recent protocol 
achieving the same purpose in this case. I assume Wayland wasn't designed 
around D-Bus due to shortcomings in D-Bus, so it appears very strange to me to 
bring D-Bus back into the mix when it can be avoided.




More information about the wayland-devel mailing list