[PATCH RFC v2 00/16] drm/vkms: ConfigFS interface
Louis Chauvet
louis.chauvet at bootlin.com
Fri Nov 22 17:44:18 UTC 2024
On 22/11/24 - 18:38, Louis Chauvet wrote:
> VKMS is manly used to test userspace program and its behavior. The current
> implementation is not very configurable as you can only have one device,
> with few specific planes.
>
> This series aims to introduce a new interface, using ConfigFS, to create
> and configure more devices. This will introduce:
> - Device creation
> - Plane creation
> - Plane configuration (type, color encoding, color range, rotations)
> - Encoder creation
> - CRTC creation
> - Linking between CRTC and planes/encoders
>
> The proposition is:
> /config/vkms
> DEVICE_1
> ┣━ enable
> ┣━ writeback
> ┣━ planes
> ┃ ┣━ PLANE_1
> ┃ ┃ ┣━ type
> ┃ ┃ ┣━ supported_rotations
> ┃ ┃ ┣━ color_range
> ┃ ┃ ┣━ color_encoding
> ┃ ┃ ┣━ default_color_encoding
> ┃ ┃ ┣━ default_rotations
> ┃ ┃ ┣━ default_color_range
> ┃ ┃ ┗━ possible_crtcs
> ┃ ┃ ┗━ >> /config/vkms/DEVICE_1/crtc/CRTC_1
> ┃ ┣━ PLANE_2
> ┃ ┃ ┗━ ditto
> ┃ ┗━ PLANE_3
> ┃ ┗━ ditto
> ┃
> ┣━ encoders
> ┃ ┣━ ENCODER_1
> ┃ ┃ ┗━ possible_crtcs
> ┃ ┃ ┗━ >> /config/vkms/DEVICE_1/crtc/CRTC_1
> ┃ ┗━ ENCODER_2
> ┃ ┗━ ditto
> ┃
> ┗━ crtc
> ┗━ CRTC_1
>
> This interface aims to be extendable (new property can easly be added in
> objects) and easy to use (objects are created simply by creating folders,
> and configured by writing files).
>
> This series depends on
> https://lore.kernel.org/all/20241122-google-remove-crtc-index-from-parameter-v2-0-81540742535a@bootlin.com
> but as this is a bit complex to rebase, you can find a working branch
> here:
> https://gitlab.freedesktop.org/louischauvet/kernel/-/tree/b4/vkms-configfs
>
> Signed-off-by: Louis Chauvet <louis.chauvet at bootlin.com>
Hi all,
I am also currently working on MST emulation for VKMS. If someone can read
what I already did and at tell me if my implementation seems on the right
track it could be nice.
The current status is not very advanced: I can emulate a mst HUB, but not
a screen. I am currently working on properly emulating the HUB by using an
other hub.
You can find the branch for this work here:
https://gitlab.freedesktop.org/louischauvet/kernel/-/tree/b4/vkms-mst
Thanks a lot,
Louis Chauvet
More information about the dri-devel
mailing list