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 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 | 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 -- 2.9.3 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel