libweston as a DRM lease lessee
Damian Hobson-Garcia
dhobsong at igel.co.jp
Mon Feb 1 09:19:29 UTC 2021
Hi all,
I am working on adding DRM lease support to a libweston based compositor.
The compositor will be a client (lessee) that will display output to a
DRM lease that
is created by another (lessor) process, so this is kind of the opposite
direction to the DRM lease patches
that were submitted a while back [1].
The motivation is to be able to run multiple instances of weston w/ DRM
backend, where each instance
has direct access to a subset of the DRM connectors. Each instance
could, for example, run in a separate container,
with minimal host interaction.
In this configuration the DRM lease would be received from a UNIX domain
socket connection to the lessor,
so would not discoverable via udev, in the same way that DRM device
nodes normally are.
I think that I would need to make changes to the compositor-drm, but if
possible,
I'd like to make those changes generic enough to be useful upstream as
well, so I was hoping to get some feedback before possibly heading down
a wrong path.
From what I can tell, I need to:
1. Get the DRM lease file descriptor, given an identifier (In my DRM
lease case this is a name that maps to a socket path)
2. Get a udev_device struct for the device corresponding to the above fd
(via the major:minor numbers)
I think that #1 can be implemented in either via the launcher API (a new
launcher type?) or by adding an option for
the compositor to provide the fd, but #2 seems like it should be in
compositor-drm, right?
Are there other use cases that would benefit from extending the launcher
/ compostior APIs in this way?
or the udev device handle creation? Are there any plans/interest for
running the DRM backend from inside
a container?
Thank you,
Damian
[1]
https://lists.freedesktop.org/archives/wayland-devel/2018-February/037162.html
More information about the wayland-devel
mailing list