[PATCH i-g-t v3 02/41] lib/vkms: Add minimal VKMS library and test device default files

José Expósito jose.exposito89 at gmail.com
Wed Aug 6 08:38:46 UTC 2025


Hi Kamil,

On Tue, Aug 05, 2025 at 06:29:44PM +0200, Kamil Konieczny wrote:
> Hi José,
> On 2025-08-05 at 11:20:09 +0200, José Expósito wrote:
> > Hi Louis,
> > 
> > On Wed, Jul 16, 2025 at 11:22:38AM +0200, Louis Chauvet wrote:
> > > 
> > > 
> > > Le 15/07/2025 à 12:24, José Expósito a écrit :
> > > > Create a library containing helpers for creating VKMS devices and
> > > > configuring them dynamically using configfs.
> > > > For the moment, add the minimal number of helpers to be able to start
> > > > testing VKMS's configfs support: Create device, destroy device and
> > > > destroy all devices.
> > > > 
> > > > Also, include the simplest possible test using those helpers (checking
> > > > the device's default files) and the scaffolding required to generate
> > > > the documentation.
> > > > 
> > > > Co-developed-by: Jim Shargo <jshargo at chromium.org>
> > > > Signed-off-by: Jim Shargo <jshargo at chromium.org>
> > > > Co-developed-by: Marius Vlad <marius.vlad at collabora.com>
> > > > Signed-off-by: Marius Vlad <marius.vlad at collabora.com>
> > > > Signed-off-by: José Expósito <jose.exposito89 at gmail.com>
> > > > ---
> > > >   docs/testplan/meson.build        |   7 +-
> > > >   lib/igt_vkms.c                   | 207 +++++++++++++++++++++++++++++++
> > > >   lib/igt_vkms.h                   |  27 ++++
> > > >   lib/meson.build                  |   1 +
> > > >   meson.build                      |   8 ++
> > > >   tests/meson.build                |   2 +
> > > >   tests/vkms/meson.build           |  13 ++
> > > >   tests/vkms/vkms_configfs.c       | 132 ++++++++++++++++++++
> > > >   tests/vkms/vkms_test_config.json |  72 +++++++++++
> > > >   9 files changed, 467 insertions(+), 2 deletions(-)
> > > >   create mode 100644 lib/igt_vkms.c
> > > >   create mode 100644 lib/igt_vkms.h
> > > >   create mode 100644 tests/vkms/meson.build
> > > >   create mode 100644 tests/vkms/vkms_configfs.c
> > > >   create mode 100644 tests/vkms/vkms_test_config.json
> > > > 
> > > > [...]
> > > > diff --git a/lib/igt_vkms.c b/lib/igt_vkms.c
> > > > new file mode 100644
> > > > index 000000000..fa41f741e
> > > > --- /dev/null
> > > > +++ b/lib/igt_vkms.c
> > > > [...]
> > > > +static int detach_pipeline_items(const char *path, const struct stat *info,
> > > > +				 const int typeflag, struct FTW *pathinfo)
> > > 
> > > As there will be a new "color pipeline" in DRM, can you rename this set of
> > > functions to avoid confusion? I don't have preference for the name, what do
> > > you think about "dc" for display controller?
> 
> Could you give a link to lore.kernel.org for this 'color pipeline'?

Here is a nice article by Melissa with links to the patches
as well as to some other improved tooling:
https://melissawen.github.io/blog/2025/05/19/drm-info-with-kms-color-api

I hope it helps,
Jose

> > > 
> > > (ditto for the rest of the series)
> > > 
> > > With this modification:
> > > Reviewed-by: Louis Chauvet <louis.chauvet at bootlin.com>
> > 
> > The "pipeline" here refers to the display pipeline as in the docs:
> > https://docs.kernel.org/gpu/drm-kms.html#overview
> > 
> > Given that the VKMS driver is a display driver and that "enum vkms_pipeline_item"
> > contains those entites, I find easy to understand what we are talking about.
> > 
> > What do you think about leaving the display pipeline as "pipeline" and, once we
> > add the color pipeline, use "color_pipeline"?
> 
> These looks resonable. Karthik, could you comment on this?
> 
> > 
> > I can rename all instances of "pipeline" to "display_pipeline" (with a lot of work,
> > 100 occurences in igt_vkms.c in 41 patches), but I find it too verbose for little
> > clarification.
> 
> Well, you can use sed script for this but I am afraid that there
> are many other places in igt with 'pipeline' meaning
> 'display pipeline', so it would be a lot more work to do.
> 
> Regards,
> Kamil
> 
> > 
> > Jose
> > 
> > > > [...]
> > > 
> > > -- 
> > > Louis Chauvet, Bootlin
> > > Embedded Linux and Kernel engineering
> > > https://bootlin.com


More information about the igt-dev mailing list