Re: [PATCH V2] drm/vkms: Add setup and testing information

From: Melissa Wen
Date: Wed Dec 09 2020 - 07:39:08 EST


On 12/09, Daniel Vetter wrote:
> On Wed, Dec 9, 2020 at 12:33 PM Sumera Priyadarsini
> <sylphrenadin@xxxxxxxxx> wrote:
> >
> > On Wed, Dec 9, 2020 at 6:24 AM Daniel Vetter <daniel@xxxxxxxx> wrote:
> > >
> > > On Wed, Dec 09, 2020 at 02:07:35AM +0530, Sumera Priyadarsini wrote:
> > > > Update the vkms documentation to contain steps to:
> > > >
> > > > - setup the vkms driver
> > > > - run tests using igt
> > > >
> > > > Signed-off-by: Sumera Priyadarsini <sylphrenadin@xxxxxxxxx>
> > > > ___
> > > > Changes in v2:
> > > > - Change heading to title case (Daniel)
> > > > - Add examples to run tests directly (Daniel)
> > > > - Add examples to run subtests (Melissa)
> > > > ---
> > > > Documentation/gpu/vkms.rst | 67 ++++++++++++++++++++++++++++++++++++++
> > > > 1 file changed, 67 insertions(+)
> > > >
> > > > diff --git a/Documentation/gpu/vkms.rst b/Documentation/gpu/vkms.rst
> > > > index 13bab1d93bb3..d6739fbbe503 100644
> > > > --- a/Documentation/gpu/vkms.rst
> > > > +++ b/Documentation/gpu/vkms.rst
> > > > @@ -7,6 +7,73 @@
> > > > .. kernel-doc:: drivers/gpu/drm/vkms/vkms_drv.c
> > > > :doc: vkms (Virtual Kernel Modesetting)
> > > >
> > > > +Setup
> > > > +=====
> > > > +
> > > > +The VKMS driver can be setup with the following steps:
> > > > +
> > > > +To check if VKMS is loaded, run::
> > > > +
> > > > + lsmod | grep vkms
> > > > +
> > > > +This should list the VKMS driver. If no output is obtained, then
> > > > +you need to enable and/or load the VKMS driver.
> > > > +Ensure that the VKMS driver has been set as a loadable module in your
> > > > +kernel config file. Do::
> > > > +
> > > > + make nconfig
> > > > +
> > > > + Go to `Device Drivers> Graphics support`
> > > > +
> > > > + Enable `Virtual KMS (EXPERIMENTAL)`
> > > > +
> > > > +Compile and build the kernel for the changes to get reflected.
> > > > +Now, to load the driver, use::
> > > > +
> > > > + sudo modprobe vkms
> > > > +
> > > > +On running the lsmod command now, the VKMS driver will appear listed.
> > > > +You can also observe the driver being loaded in the dmesg logs.
> > > > +
> > > > +To disable the driver, use ::
> > > > +
> > > > + sudo modprobe -r vkms
> > > > +
> > > > +Testing With IGT
> > > > +================
> > > > +
> > > > +The IGT GPU Tools is a test suite used specifically for debugging and
> > > > +development of the DRM drivers.
> > > > +The IGT Tools can be installed from
> > > > +`here <https://gitlab.freedesktop.org/drm/igt-gpu-tools>`_ .
> > > > +
> > > > +The tests need to be run without a compositor, so you need to switch to text
> > > > +only mode. You can do this by::
> > > > +
> > > > + sudo systemctl isolate multi-user.target
> > > > +
> > > > +To return to graphical mode, do::
> > > > +
> > > > + sudo systemctl isolate graphical.target
> > > > +
> > > > +Once you are in text only mode, you can run tests using the --device switch
> > > > +or IGT_DEVICE variable to specify the device filter for the driver we want
> > > > +to test::
> > > > +
> > > > + sudo ./build/tests/<name of test> --device "sys:/sys/devices/platform/vkms"
> > > > + sudo IGT_DEVICE="sys:/sys/devices/platform/vkms" ./build/tests/<name of test>
> > > > +
> > > > +For example, to test the functionality of the writeback library,
> > > > +we can run the kms_writeback test::
> > > > +
> > > > + sudo ./build/tests/kms_writeback --device "sys:/sys/devices/platform/vkms"
> > > > + sudo IGT_DEVICE="sys:/sys/devices/platform/vkms" ./build/tests/kms_writeback
> > > > +
> > > > +You can also run subtests if you do not want to run the entire test::
> > > > +
> > > > + sudo ./build/tests/kms_flip --run-subtest basic-plain-flip --device "sys:/sys/devices/platform/vkms"
> > > > + sudo IGT_DEVICE="sys:/sys/devices/platform/vkms" ./build/tests/kms_flip --run-subtest basic-plain-flip
> > >
> > > Does IGT_DEVICE also work with run-tests.sh? Aside from my curious
> > > question, patch looks good to me, thanks a lot.
> >
> > Good catch, it does.
> >
> > Melissa, IGT_FORCE_DRIVER also works. I think I was used test/kms_flip
> > earlier instead of
> > ./build/test/kms_flip hence the fluke.
> >
> > Should I add these also to the docs, was wondering if it will get too
> > confusing....
>
> I think IGT_FORCE_DRIVER is deprecated, so better not to mention that.
> IGT_DEVICE and --device are the new thing. I think just adding a
> sentence that IGT_DEVICE also works with the run-tests scripts would
> be good perhaps.

Yes, that's what I think too

Good work!

Melissa

> -Daniel
>
> >
> > >
> > > Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
> > >
> > > > +
> > > > TODO
> > > > ====
> > > >
> > > > --
> > > > 2.25.1
> > > >
> > >
> > > --
> > > Daniel Vetter
> > > Software Engineer, Intel Corporation
> > > http://blog.ffwll.ch
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@xxxxxxxxxxxxxxxxxxxxx
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
>
>
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch