Files
TheRock/third-party/sysdeps/linux/amd-mesa/mesa-fork/docs/ci/drm-shim.rst
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

199 lines
13 KiB
ReStructuredText

drm-shim CI Reproduction
========================
Overview
--------
``drm-shim`` is a user-space library that intercepts ioctl calls using ``LD_PRELOAD``.
It emulates a hardware DRM device node, bypassing the actual kernel driver.
This allows drivers (like ``radeonsi``, ``radv``, ``turnip``, or ``freedreno``)
to initialize as if real hardware is present.
All rendering execution is no-oped (unless using a shim that executes on a simulator),
but tests will often run to completion, which is usually enough to reproduce
crashes and assertion failures.
The shim libraries are built alongside the corresponding driver when you
configure your build with ``-Dtools=drm-shim``.
Running these tests **must** be done inside a ``meson devenv`` shell.
This automatically sets up necessary environment variables like
``VK_DRIVER_FILES`` to point to your newly built drivers, and adds the
``drm-shim`` wrapper script (located at ``bin/drm-shim.py``) to your ``PATH``.
The CI jobs test various GPU targets using the following test suites:
- GL CTS: ``-DDEQP_TARGET=surfaceless``
- VK CTS: ``-DDEQP_TARGET=vulkan_headless``
- Piglit: Use ``PIGLIT_PLATFORM=gbm``
Once inside the ``meson devenv`` shell, CI jobs can be reproduced
using the drm-shim wrapper. For example, to reproduce the
``zink-anv-tgl`` job:
.. code-block:: shell
drm-shim zink-anv-tgl ./deqp-gles2
AMD CI Jobs
----------------------------
========= ============================= ============================================================================================================== ====================================================================
CI job Driver maintainers CI job maintainers Build Options
========= ============================= ============================================================================================================== ====================================================================
Stoney Marek Olšák (@mareko, mareko) Sergi Blanch Torne (@sergi, sergi), Valentine Burley (@Valentine, valentine), Daniel Stone (@daniels, daniels) ``-Dgallium-drivers=radeonsi -Dvulkan-drivers=amd -Dtools=drm-shim``
Raven Marek Olšák (@mareko, mareko) Sergi Blanch Torne (@sergi, sergi), Valentine Burley (@Valentine, valentine), Daniel Stone (@daniels, daniels) ``-Dgallium-drivers=radeonsi -Dvulkan-drivers=amd -Dtools=drm-shim``
Cezanne Marek Olšák (@mareko, mareko) Sergi Blanch Torne (@sergi, sergi), Valentine Burley (@Valentine, valentine), Daniel Stone (@daniels, daniels) ``-Dgallium-drivers=radeonsi -Dvulkan-drivers=amd -Dtools=drm-shim``
Mendocino Marek Olšák (@mareko, mareko) Your Name Here (gitlab:@username, irc:username) ``-Dgallium-drivers=radeonsi -Dvulkan-drivers=amd -Dtools=drm-shim``
Vangogh Marek Olšák (@mareko, mareko) Your Name Here (gitlab:@username, irc:username) ``-Dgallium-drivers=radeonsi -Dvulkan-drivers=amd -Dtools=drm-shim``
Navi21 Marek Olšák (@mareko, mareko) Your Name Here (gitlab:@username, irc:username) ``-Dgallium-drivers=radeonsi -Dvulkan-drivers=amd -Dtools=drm-shim``
Navi31 Marek Olšák (@mareko, mareko) Your Name Here (gitlab:@username, irc:username) ``-Dgallium-drivers=radeonsi -Dvulkan-drivers=amd -Dtools=drm-shim``
GFX1201 Marek Olšák (@mareko, mareko) Your Name Here (gitlab:@username, irc:username) ``-Dgallium-drivers=radeonsi -Dvulkan-drivers=amd -Dtools=drm-shim``
========= ============================= ============================================================================================================== ====================================================================
Intel CI Jobs
----------------------------
================= =========================================================================================================== ============================================================================================================== ========================================================================
CI job Driver maintainers CI job maintainers Build Options
================= =========================================================================================================== ============================================================================================================== ========================================================================
APL (Apollo Lake) Kenneth Graunke, (@kwg, Kayden), Caio Oliveira, (@cmarcelo, cmarcelo), Ian Romanick (@idr, idr) Sergi Blanch Torne (@sergi, sergi), Valentine Burley (@Valentine, valentine), Daniel Stone (@daniels, daniels) ``-Dgallium-drivers=iris -Dtools=drm-shim,intel``
GLK (Gemini Lake) Kenneth Graunke, (@kwg, Kayden), Caio Oliveira, (@cmarcelo, cmarcelo), Ian Romanick (@idr, idr) Sergi Blanch Torne (@sergi, sergi), Valentine Burley (@Valentine, valentine), Daniel Stone (@daniels, daniels) ``-Dgallium-drivers=iris -Dtools=drm-shim,intel``
KBL (Kaby Lake) Kenneth Graunke, (@kwg, Kayden), Caio Oliveira, (@cmarcelo, cmarcelo), Ian Romanick (@idr, idr) Sergi Blanch Torne (@sergi, sergi), Valentine Burley (@Valentine, valentine), Daniel Stone (@daniels, daniels) ``-Dgallium-drivers=iris -Dtools=drm-shim,intel``
JSL (Jasper Lake) Lionel Landwerlin, (@llandwerlin, dj-death), Caio Oliveira, (@cmarcelo, cmarcelo), Ian Romanick (@idr, idr) Sergi Blanch Torne (@sergi, sergi), Valentine Burley (@Valentine, valentine), Daniel Stone (@daniels, daniels) ``-Dgallium-drivers=iris -Dvulkan-drivers=intel -Dtools=drm-shim,intel``
TGL (Tiger Lake) Lionel Landwerlin, (@llandwerlin, dj-death), Caio Oliveira, (@cmarcelo, cmarcelo), Ian Romanick (@idr, idr) Sergi Blanch Torne (@sergi, sergi), Valentine Burley (@Valentine, valentine), Daniel Stone (@daniels, daniels) ``-Dgallium-drivers=iris -Dvulkan-drivers=intel -Dtools=drm-shim,intel``
ADL (Alder Lake) Lionel Landwerlin, (@llandwerlin, dj-death), Caio Oliveira, (@cmarcelo, cmarcelo), Ian Romanick (@idr, idr) Sergi Blanch Torne (@sergi, sergi), Valentine Burley (@Valentine, valentine), Daniel Stone (@daniels, daniels) ``-Dgallium-drivers=iris -Dvulkan-drivers=intel -Dtools=drm-shim,intel``
RPL (Raptor Lake) Lionel Landwerlin, (@llandwerlin, dj-death), Caio Oliveira, (@cmarcelo, cmarcelo), Ian Romanick (@idr, idr) Sergi Blanch Torne (@sergi, sergi), Valentine Burley (@Valentine, valentine), Daniel Stone (@daniels, daniels) ``-Dgallium-drivers=iris -Dvulkan-drivers=intel -Dtools=drm-shim,intel``
================= =========================================================================================================== ============================================================================================================== ========================================================================
ARM CI Jobs
----------------------------
============= =============================================== ============================================================================================================== =========================================================================
CI job Driver maintainers CI job maintainers Build Options
============= =============================================== ============================================================================================================== =========================================================================
lima-mali450 Your Name Here (gitlab:@username, irc:username) Your Name Here (gitlab:@username, irc:username) ``-Dgallium-drivers=lima -Dtools=drm-shim``
panfrost-g52 Your Name Here (gitlab:@username, irc:username) Sergi Blanch Torne (@sergi, sergi), Valentine Burley (@Valentine, valentine), Daniel Stone (@daniels, daniels) ``-Dgallium-drivers=panfrost -Dvulkan-drivers=panfrost -Dtools=drm-shim``
panfrost-g57 Your Name Here (gitlab:@username, irc:username) Sergi Blanch Torne (@sergi, sergi), Valentine Burley (@Valentine, valentine), Daniel Stone (@daniels, daniels) ``-Dgallium-drivers=panfrost -Dtools=drm-shim``
panfrost-g72 Your Name Here (gitlab:@username, irc:username) Sergi Blanch Torne (@sergi, sergi), Valentine Burley (@Valentine, valentine), Daniel Stone (@daniels, daniels) ``-Dgallium-drivers=panfrost -Dtools=drm-shim``
panfrost-g610 Your Name Here (gitlab:@username, irc:username) Sergi Blanch Torne (@sergi, sergi), Valentine Burley (@Valentine, valentine), Daniel Stone (@daniels, daniels) ``-Dgallium-drivers=panfrost -Dvulkan-drivers=panfrost -Dtools=drm-shim``
panfrost-g925 Your Name Here (gitlab:@username, irc:username) Sergi Blanch Torne (@sergi, sergi), Valentine Burley (@Valentine, valentine), Daniel Stone (@daniels, daniels) ``-Dgallium-drivers=panfrost -Dvulkan-drivers=panfrost -Dtools=drm-shim``
============= =============================================== ============================================================================================================== =========================================================================
Broadcom CI Jobs
----------------------------
====== =============================================== =============================================== ====================================================================
CI job Driver maintainers CI job maintainers Build Options
====== =============================================== =============================================== ====================================================================
rpi3 Your Name Here (gitlab:@username, irc:username) Your Name Here (gitlab:@username, irc:username) ``-Dgallium-drivers=vc4 -Dtools=drm-shim``
rpi4 Your Name Here (gitlab:@username, irc:username) Your Name Here (gitlab:@username, irc:username) ``-Dgallium-drivers=v3d -Dvulkan-drivers=broadcom -Dtools=drm-shim``
rpi5 Your Name Here (gitlab:@username, irc:username) Your Name Here (gitlab:@username, irc:username) ``-Dgallium-drivers=v3d -Dvulkan-drivers=broadcom -Dtools=drm-shim``
====== =============================================== =============================================== ====================================================================
Freedreno CI Jobs
----------------------------------------
====== =============================================== ============================================================================================================== ===========================================================================
CI job Driver maintainers CI job maintainers Build Options
====== =============================================== ============================================================================================================== ===========================================================================
a306 Your Name Here (gitlab:@username, irc:username) Sergi Blanch Torne (@sergi, sergi), Valentine Burley (@Valentine, valentine), Daniel Stone (@daniels, daniels) ``-Dgallium-drivers=freedreno -Dvulkan-drivers=freedreno -Dtools=drm-shim``
a530 Your Name Here (gitlab:@username, irc:username) Sergi Blanch Torne (@sergi, sergi), Valentine Burley (@Valentine, valentine), Daniel Stone (@daniels, daniels) ``-Dgallium-drivers=freedreno -Dvulkan-drivers=freedreno -Dtools=drm-shim``
a618 Your Name Here (gitlab:@username, irc:username) Sergi Blanch Torne (@sergi, sergi), Valentine Burley (@Valentine, valentine), Daniel Stone (@daniels, daniels) ``-Dgallium-drivers=freedreno -Dvulkan-drivers=freedreno -Dtools=drm-shim``
a660 Your Name Here (gitlab:@username, irc:username) Sergi Blanch Torne (@sergi, sergi), Valentine Burley (@Valentine, valentine), Daniel Stone (@daniels, daniels) ``-Dgallium-drivers=freedreno -Dvulkan-drivers=freedreno -Dtools=drm-shim``
a750 Your Name Here (gitlab:@username, irc:username) Your Name Here (gitlab:@username, irc:username) ``-Dgallium-drivers=freedreno -Dvulkan-drivers=freedreno -Dtools=drm-shim``
====== =============================================== ============================================================================================================== ===========================================================================