Regression: Intel Mesa buildtests broken by libdrm update
Intel mesa has build tests to verify that device information can be overriden. These tests broke with:
7ab1cdac9013d2a4c41b3d0975f953585517cfa1
Author: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Commit: Simon Ser <contact@emersion.fr>
xf86drm: ignore symlinks in process_device()If the user has some
UDev rules in place that creates symlinks for
one of the card or render nodes, and the name of the symlink is
too long, then drmDeviceAlloc() ends up truncating the name of
the node.
This in turn results in chaos in different subsystems. E.g.
vulkaninfo dies early with this:
Code 0 : failed to stat DRM primary node /dev/dri/my-favorite- (VK_ERROR_INITIALIZATION_FAILED)
(if the symlink is called /dev/dri/my-favorite-card-node)
Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
This can be reproduced by building mesa against this libdrm commit and invoking meson test
06:44:44 44/117 mesa:intel / genxml sort gen20_rt.xml OK 0.19s
06:44:44 45/117 mesa:intel / intel_device_info_test OK 0.19s
06:44:44 46/117 mesa:format / u_format_test OK 0.37s
06:44:44 47/117 mesa:util / xmlconfig OK 0.71s
06:44:44 48/117 mesa:compiler+nir / nir_algebraic_parser OK 0.61s
06:44:44 49/117 mesa:intel / intel_device_info_override_test_ivb FAIL 0.44s (exit status 255 or signal 127 SIGinvalid)
06:44:44 >>> INTEL_STUB_GPU_PLATFORM=ivb MALLOC_PERTURB_=57 STRACEDIR=meson-logs/strace/intel_device_info_override_test_ivb LD_PRELOAD=/sources/repos/mesa/build_mesa_m64/src/intel/dev/../tools/libintel_noop_drm_shim.so /sources/repos/mesa/build_mesa_m64/src/intel/dev/intel_device_info_override_test 70
06:44:44
06:44:44 50/117 mesa:intel / intel_device_info_override_test_byt FAIL 0.44s (exit status 255 or signal 127 SIGinvalid)
06:44:44 >>> STRACEDIR=meson-logs/strace/intel_device_info_override_test_byt INTEL_STUB_GPU_PLATFORM=byt MALLOC_PERTURB_=245 LD_PRELOAD=/sources/repos/mesa/build_mesa_m64/src/intel/dev/../tools/libintel_noop_drm_shim.so /sources/repos/mesa/build_mesa_m64/src/intel/dev/intel_device_info_override_test 70
The mechanism to override device info with libintel_noop_drm_``shim.so
is critical functionality that is needed to cross-compile shaders.