WIP: Xwayland: add DRM leasing support
This is based on the unstable DRM leasing protocol currently under review on wayland-devel. One unfortunate problem with this approach is that we have to open the DRM node ourselves and enumerate the modes of the connectors available for lease. We'll be able to refactor this somewhat once the kernel supports zero-object DRM leases, which I intend to implement in the near future.
This takes the approach suggested by Pekka in which no attempt is made to correlate leasable connectors with a wl_output/xdg_output. Accordingly, this also assumes that all leasable connectors are non-desktop outputs.
Successfully tested with xrgears -w direct and SteamVR on an HTC Vive.
Still needs some work to get things cleaned up properly when a client terminates its lease (so the next client can take over)
- Kernel work to let us avoid opening
card0and hoping for the best
We can probably get away with merging this without sorting out the second issue for the time being, but the first problem is a blocker IMO. See also discussion at #864.