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@xxxxxxxxxxx > > 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@xxxxxxxxxxx> > > 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
Attachment:
signature.asc
Description: PGP signature