Add Wayland DRM lease protocol support
Add Wayland DRM lease protocol support.
Based on the work by @jadahl and @swick's D-Bus service MR.
How to test it:
The environment variable MUTTER_DEBUG_LEASE_CONNECTORS
allows to set a list of connectors as available for lease. Check the commit description that introduced it for instructions.
For testing, I mainly used 2 tools:
- A modified version of kmscube by bl4ckb0ne that allows to test that rendering works
- A simple Wayland client that allows to manually test connector hot-(un)plug and "weird" client behaviors
What I couldn't test:
- An actual VR headset
- GPU hot-unplug. There is code to handle this case, but it is untested. I plan to add VKMS support to test this case and allow to add unit testing
Configuring connectors available for lease?
At the moment, the only way to configure regular displays as available for lease is using the MUTTER_DEBUG_LEASE_CONNECTORS
environment variable.
It might be interesting to add a better way to configure this using gsettings or similar to cover non-VR use cases.
I don't have a strong preference about how to handle this, but I think it is something that could be worth discussing.
Resolves: #1743 (closed)
Edited by José Expósito