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

Marius-cristian Vlad marius-cristian.vlad at nxp.com
Fri Aug 24 12:10:25 UTC 2018


On Fri, 2018-08-24 at 11:58 +0200, Philipp Zabel wrote:
> Hi Marius,
> 
> On Fri, 2018-08-24 at 09:21 +0000, Marius-cristian Vlad wrote:
> > On Fri, 2018-08-24 at 10:57 +0200, Philipp Zabel wrote:
> 
> [...]
> > > > yes, sending one event per connector is a good design, but see
> > > > below if we actually might want to extend that to creating an
> > > > object per connector with "per-attribute" events for pieces of
> > > > information.
> > > 
> > > And object would allow handling both cases the same way when
> > > building
> > > the lease request.
> > 
> > To make sure I understand this "object" leasing. Instead of
> > advertising
> > connectors this way:
> > 
> >     <event name="connector">
> >       <description summary="advertise a leasable connector">
> >         This event advertises a leasable connector. This allows
> > the    
> >            client to
> >         choose which connector the compositor should lease. It can
> > either
> >         use connector name, monitor name, or if that's not
> > sufficient
> > to parse
> >         EDID blob.
> >       </description>
> >       <arg name="conn_name" type="string" summary="connector name"
> > />
> >       <arg name="eisa_id" type="string" summary="eisa id"/>
> >       <arg name="monitor_name" type="string" summary="monitor
> > name"/>
> >       <arg name="pnp_id" type="string" summary="pnp id"/>
> >       <arg name="serial_num" type="string" summary="serial
> > number"/>
> >       <arg name="edid" type="array" summary="EDID blob"/>
> >     </event>
> > 
> > We do something like this:
> > 
> >     <event name="connector_object">
> >       <description summary="advertise a leasable connector">
> >         This event advertises a leasable connector object.
> >       </description>
> >       <arg name="conn_obj" type="new_id"
> > interface="zwp_kms_lease_connector_v1"
> >       summary="the new temporary" />
> >     </event>
> > 
> > 
> > Then that interface is used to query info (like
> > EDID/conn_name/monitor
> > name)
> 
> Yes, that is my understanding as well.
> 
> I expect that for all currently known use cases the connector name
> (like
> xdg_output.name) and the monitor vendor / product id / serial string
> should be sufficient. Maybe the native resolution and refresh rate
> could
> be useful as well.
> 
> I would suggest leaving the raw EDID out for now, a request for it
> can
> be added later to zwp_kms_lease_connector_v1, if necessary. It won't
> be
> possible to pass otentially huge complete EDIDs in an array argument.
> 
> > and using that information to ask/revoke the lease (based on
> > either connector name, or based on EDID)?
> 
> I imagine that object to be passed to the lease request's
> add_connector
> request directly:
> 
>   <interface name="zwp_kms_lease_request_v1">
>     ...
>     <request name="add_connector">
>       <arg name="connector" type="object"
>            interface="zwp_kms_lease_connector_v1"
>            summary="a leasable connector to be added to the lease
> request"/>
>     </request>
>   </interface>
> 
> That way there is no need for separate requests
> "add_connector_by_name",
> "add_connnector_by_vendor_product_serial" etc.
> 
> The same could potentially be done later with a
> "zwp_kms_lease_plane_v1"
> object and "add_plane" request.

Got it. Will give it a test and see how it goes.


> 
> regards
> Philipp


More information about the wayland-devel mailing list