I'm adding features to VKMS! What would you like to see?
Jim Shargo
jshargo at chromium.org
Thu Jul 28 18:54:31 UTC 2022
Hi Wayland folks!
TL;DR: I'm working on extending VKMS and wanted feedback from other
compositor/wayland devs.
// Background
I work on the ChromeOS compositor, and recently I've been doing a
bunch of stuff to improve our testing setup. At the moment, my main
focus is improving our ability to write integration tests against
DRM/KMS.
It's pretty tricky to get right. Working with mocks of DRM loses all
the useful helpers that live within the kernel, which would need to be
rewritten (and kept up-to-date) in userspace. Stuff like writeback
support would be even harder.
Earlier this year, VKMS came up as a potential solution. I was happy
to see that Weston is already using it. I've started thinking about
what features from the wild we'd need, and started digging into the
code.
// Current Status
I recently sent out my first patchset, which will let userspace build
their own DRM drivers with ConfigFS. This implicitly adds support for
multi-display setups which were impossible to test before. This also
allows for multiple virtual DRM drivers to be created and used at the
same time, which may increase test parallelism? Haven't tried it yet.
v1 patchset: https://patchwork.kernel.org/project/dri-devel/list/?series=662676
cover letter: https://lists.freedesktop.org/archives/dri-devel/2022-July/365647.html
// Rough Plans
The big features I want to target with this work are:
- Multi-display and movable planes. This is mostly covered by the
ConfigFS changes.
- Hot plugging.
- Color, color management and HDR. Loads of new formats, support for
color properties not currently implemented. Making sure writeback
buffers are useful for this.
- Improve IGT testing for VKMS (for new features and existing skipped tests)
// Questions
- What VKMS features could help your testing the most?
- How much do you care about writeback buffer support vs CRC checks
in tests atm?
- What kinds of bugs do you get around DRM/KMS?
- Any thoughts in general?
Thanks!
-- Jim
More information about the wayland-devel
mailing list