diff mbox series

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

Message ID 20201208203735.ukqrgjmlntbvxc7e@adolin (mailing list archive)
State New, archived
Headers show
Series [V2] drm/vkms: Add setup and testing information | expand

Commit Message

Sumera Priyadarsini Dec. 8, 2020, 8:37 p.m. UTC
Update the vkms documentation to contain steps to:

 - setup the vkms driver
 - run tests using igt

Signed-off-by: Sumera Priyadarsini <sylphrenadin@gmail.com>

Comments

Daniel Vetter Dec. 9, 2020, 12:54 a.m. UTC | #1
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@gmail.com>
> ___
> 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.

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

> +
>  TODO
>  ====
>  
> -- 
> 2.25.1
>
Sumera Priyadarsini Dec. 9, 2020, 11:33 a.m. UTC | #2
On Wed, Dec 9, 2020 at 6:24 AM Daniel Vetter <daniel@ffwll.ch> 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@gmail.com>
> > ___
> > 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....

>
> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>
> > +
> >  TODO
> >  ====
> >
> > --
> > 2.25.1
> >
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
Daniel Vetter Dec. 9, 2020, 11:53 a.m. UTC | #3
On Wed, Dec 9, 2020 at 12:33 PM Sumera Priyadarsini
<sylphrenadin@gmail.com> wrote:
>
> On Wed, Dec 9, 2020 at 6:24 AM Daniel Vetter <daniel@ffwll.ch> 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@gmail.com>
> > > ___
> > > 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.
-Daniel

>
> >
> > Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> >
> > > +
> > >  TODO
> > >  ====
> > >
> > > --
> > > 2.25.1
> > >
> >
> > --
> > Daniel Vetter
> > Software Engineer, Intel Corporation
> > http://blog.ffwll.ch
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
Melissa Wen Dec. 9, 2020, 12:37 p.m. UTC | #4
On 12/09, Daniel Vetter wrote:
> On Wed, Dec 9, 2020 at 12:33 PM Sumera Priyadarsini
> <sylphrenadin@gmail.com> wrote:
> >
> > On Wed, Dec 9, 2020 at 6:24 AM Daniel Vetter <daniel@ffwll.ch> 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@gmail.com>
> > > > ___
> > > > 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@ffwll.ch>
> > >
> > > > +
> > > >  TODO
> > > >  ====
> > > >
> > > > --
> > > > 2.25.1
> > > >
> > >
> > > --
> > > Daniel Vetter
> > > Software Engineer, Intel Corporation
> > > http://blog.ffwll.ch
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> 
> 
> 
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
diff mbox series

Patch

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
+
 TODO
 ====