[PATCH weston 0/2 v5] DRM lease support
Marius Vlad
marius-cristian.vlad at nxp.com
Tue May 29 10:04:04 UTC 2018
Functional no change since last version, just rebased to take into account
clone series.
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 [1]. libdrm [2] and kernel [3] have already gained support.
Protocol support can be found at [4].
Initially this was a single patch but decided to split into series to
accommodate a demo client as well.
Changes since v4:
- rebased in order to get connector id from from drm_head
Changes since v3:
- rename lease with leasable to avoid confusion (Philipp Zabel)
- added client protocol headers / protocol to BUILD_SOURCES otherwise the
client example can't be built due to missing client headers
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
flip
- 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
[1] https://keithp.com/blogs/DRM-lease/
[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v4.15-rc9&id=62884cd386b876638720ef88374b31a84ca7ee5f
[3] https://cgit.freedesktop.org/mesa/drm/commit/?id=c4171535389d72e9135c9615cecd07b346fd6d7e
[4] https://lists.freedesktop.org/archives/wayland-devel/2018-February/036947.html
Marius Vlad (2):
compositor-drm: Add support for DRM lease
clients/simple-egl-lease: A demo client for DRM leases
Makefile.am | 19 +-
clients/simple-egl-lease.c | 887 +++++++++++++++++++++++++++++++++++++++++++++
clients/simple-egl-lease.h | 99 +++++
compositor/main.c | 6 +
configure.ac | 21 ++
libweston/compositor-drm.c | 279 +++++++++++++-
libweston/compositor.c | 1 +
libweston/compositor.h | 1 +
8 files changed, 1310 insertions(+), 3 deletions(-)
create mode 100644 clients/simple-egl-lease.c
create mode 100644 clients/simple-egl-lease.h
--
2.9.3
More information about the wayland-devel
mailing list