Regarding the outputdevice Wayland protocol

Martin Flöser mgraesslin at kde.org
Tue Nov 7 17:27:30 UTC 2017


Am 2017-11-07 09:03, schrieb Sebastian Kügler:
> Hi Drew,
> 
> Thanks for reaching out!
> 
> On zaterdag 4 november 2017 15:10:33 CET Drew DeVault wrote:
>> As part of our effort to reuse existing Wayland protocols for common
>> desktop features in Sway (and wlroots), we're taking a look at KDE's
>> output-management.xml. However, we feel like the related
>> outputdevice.xml protocol has some overlap with wl_output - can you
>> provide some context for these protocols and would you consider
>> working with us on a simplified protocol we can share?
> 
> outputdevice.xml is indeed an extended version of wl_output. It has
> some additional options that we need for the outputmanagement stuff, so
> it becomes useful, wl_output wasn't sufficient there. I've added the
> current mode, edid and enabled fields, as wl_outputs are always
> supposed to be enabled, and outputdevices are just connected displays
> which may be enabled or not. We also needed a way to pass through the
> edid blob. We've checked with upstream wayland, and there was "little
> desire" to have these things in wl_output, so an extended version is
> what we did. I'm not overly happy with this, but at some point we had
> to move on, even if it left warts on the protocol semantics.
> 
> A simplified protocol to be shared could be two things:
> 
> * merged wl_output with edid, currentmode and enablement added
> * simplified outputdevice which uses a wl_output and attaches just the
>   above properties
> 
> I'm not sure if the above *could* work, since a wl_output was never
> designed to be not enabled, so just sitting there, being available, but
> the above is at least what I can imagine recalling the discussions we
> had back then when we implemented it in kwayland. Martin can probably
> provide some more insight here.

Not much to add to what sebas writes. Only I can point out that I 
currently have an open review for the first addition:
the supported transformations on an output. The idea behind that is to 
tell KScreen what transformations it can offer to select. And thus the 
whole interface is designed for screen configuration tool. Given that I 
don't think it makes much sense to try to merge with wl_output.

So for sway the question is whether you want to have a screen 
configuration tool talking through Wayland with the compositor. If you 
don't need that you can probably just forget about this interface. If 
you need something like that it makes sense to reuse our protocols. We 
spend quite some engineering effort into it. I remember that we defined 
the protocols for weeks till we were happy with them.

Interesting side node: we had these protocols around for quite some 
time, but not hooked up in KWin. The last two weeks I worked on it and 
everything works exactly as we wanted from the start. No need to change 
anything in KScreen or the protocol. Everything just works after 
connecting the hooks.

Cheers
Martin


More information about the Plasma-devel mailing list