[PATCH weston 0/2 v3] DRM lease support
marius-cristian.vlad at nxp.com
Wed Feb 21 14:49:03 UTC 2018
Patch series that adds support for DRM leases.
DRM leases is a method developed by Keith Packard to allow other application
manage the output of a display/VR, while a DRM master is already owning
the outputs resources. A more thorough explanation and terminology can
be found at . libdrm  and kernel  have already gained support.
Protocol support can be found at .
Initially this was a single patch but decided to split into series to
accommodate a demo client as well.
Changes since v2:
- rebased as drm_output_disable() has been changed due to atomic changes
- deferring the lease when the output can't be disabled due to a pending
- client blocks until it receives a 'created'/'failed' event when
deferring the lease.
- fix a potential NULL pointer if failing to get an encoder in the client
- provide correct link to protocol
- use lessee_id instead of lease_id as per libdrm/kernel terminology
Changes since v1:
- accommodate changes due to protocol changes
- use enable/disabled for the output instead of destroy/update_outputs (Daniel Stone)
- split into a series, added a client example
- forcing a repaint when giving the lease and not doing a modeset if the output
has been leased avoids blank switching between the lesor and lessee
Marius Vlad (2):
compositor-drm: Add support for DRM lease
clients/simple-egl-lease: A demo client for DRM leases
Makefile.am | 13 +
clients/simple-egl-lease.c | 887 +++++++++++++++++++++++++++++++++++++++++++++
clients/simple-egl-lease.h | 99 +++++
compositor/main.c | 9 +
configure.ac | 21 ++
libweston/compositor-drm.c | 272 ++++++++++++++
libweston/compositor.c | 1 +
libweston/compositor.h | 2 +
8 files changed, 1304 insertions(+)
create mode 100644 clients/simple-egl-lease.c
create mode 100644 clients/simple-egl-lease.h
More information about the wayland-devel