[PATCH weston 0/2 v4] DRM lease support
Marius Vlad
marius-cristian.vlad at nxp.com
Wed Mar 21 19:02:21 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 [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 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 | 15 +
clients/simple-egl-lease.c | 887 +++++++++++++++++++++++++++++++++++++++++++++
clients/simple-egl-lease.h | 99 +++++
compositor/main.c | 11 +
configure.ac | 21 ++
libweston/compositor-drm.c | 272 ++++++++++++++
libweston/compositor.c | 1 +
libweston/compositor.h | 2 +
8 files changed, 1308 insertions(+)
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