[PATCH RFC v2 00/16] drm/vkms: ConfigFS interface
Maxime Ripard
mripard at kernel.org
Tue Nov 26 08:42:02 UTC 2024
Hi,
On Fri, Nov 22, 2024 at 06:44:18PM +0100, Louis Chauvet wrote:
> 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
I think this is exactly the kind of things where we'll want eBPF I
think. There's no way you'll be able to model each possible test
scenarios for MST through configfs, even more so with a stable
interface.
Maxime
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 273 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20241126/057a072b/attachment.sig>
More information about the dri-devel
mailing list