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