Module Kms.Lease

Sharing access with other processes.

type grant =
  1. | Grant : [< `Connector | `Crtc | `Plane ] Id.t -> grant
type lessee_id = [ `Lessee ] Id.t
val create : Device.t -> grant list -> lessee_id * Device.t

create dev grants creates a new DRM master device with access to the resources in grants. Returns a unique ID for the new lessee and their device FD.

grants must reference at least one CRTC, one connector and one plane (if Client_cap.universal_planes is enabled). Alternatively, grants can be empty.

The FD is opened as close-on-exec.

val list_lessees : Device.t -> lessee_id list

list_lessees dev lists the lessee ID of active leases.

val get_lease : Device.t -> grant list

get_lease dev lists the resources being leased to us.

val revoke : Device.t -> lessee_id -> unit

revoke dev id revokes lease id.