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-815407425...@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 <[email protected]>
> 
> 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

Reply via email to