[PATCH] unstable/drm-lease: DRM lease protocol support

Philipp Zabel p.zabel at pengutronix.de
Fri Jun 28 09:23:53 UTC 2019

On Thu, 2019-06-27 at 20:36 +0000, Simon Ser wrote:
> > +    <event name="connector">
> > +      <description summary="advertise connectors available for leases">
> > +        The compositor may choose to advertise 0 or more connectors which may be
> > +        leased to clients, and will use this event to do so. This object may be
> > +        passed into a lease request to lease that connector. See
> > +        zwp_drm_lease_request_v1.add_connector for details.
> > +
> > +        When this global is bound, the compositor will send all connectors
> > +        available for lease, but may send additional connectors at any time.
> I'm not sure the client is in the best position to decide which connectors to
> pick here.

The client may be the only one with enough knowledge to pick, see below.

> Maybe it would be better for the client to say _why_ it needs a lease (e.g. it
> needs the non-desktop connectors for VR) and let the compositor pick appropriate
> connectors.

How then would the desktop compositor decide which of the non-desktop
connectors the client requires?

For example, if I have two simultaneously connected VR headsets, each
running their own VR client, how would the two clients each lease only
the non-desktop connector corresponding to their headset?

> What would be other use-cases for DRM leases? Probably fullscreen games?

One use case I'd like would be presentation software, where tagging the
projector as non-desktop beforehand would avoid spilling the desktop
onto the presentation display upon connection, before the presentation
is started.

> If the compositor advertizes both non-desktop outputs (for VR) and
> desktop outputs (for games), how should the VR client pick the right
> output?

Depending on the hardware and setup, the VR client may match the serial
number contained in the EDID with one retrieved via USB to identify the
correct connector to render to a given VR headset, or it may just
compare the vendor and product id. In a CAVE setup the client may have
manual configuration telling it which projectors to render to, so I
think the client needs access to at least the uniquely identifying parts
of the EDID.


More information about the wayland-devel mailing list