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
199 lines
13 KiB
ReStructuredText
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``
|
|
|
|
|
|
====== =============================================== ============================================================================================================== ===========================================================================
|