Description
The loader IMHO should by default prefer drivers installed and defined in /etc/vulkan/icd.d/[…] over another driver or a different build of the same driver defined in /usr/share/vulkan/icd.d/[…] supporting the same hardware.
From reading https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderDriverInterface.md#driver-discovery-on-linux I had expected this to be the case, but it seems I was wrong -- at least is does not work how I expected it to according to my tests with Fedora 41 installing a different build of Mesa's radv driver: the driver defined in /etc/ is detected and usable if you tell apps to use it, but apps prefer the one installed by the distribution in /usr/.
Not sure, maybe this is due to or related to the changes introduced to address #657.
Backstory to explain why I care: my distro (Fedora) ships a radv driver that (for legal reasons) is compiled without support for hardware video acceleration of certain codecs. That's why we from the RPM Fusion repository want to provide an add-on RPM package that provides the driver with these features enabled. But to make installation easy the files in the two packages can not conflict and need to be enabled using drop-in files. So we need to install the driver and the ICD file in a different directory that is preferred by the loader. The first part already works, as the loader detects the driver installed in parallel using an ICD file in /etc/, so that apps can use them if they specify the device. But I want to make the system use the driver by default after installing the package to make things easy. For a more detailed backstory see also and the replies from a few developers that in the end brought me here: https://lists.freedesktop.org/archives/mesa-dev/2025-January/226450.html
In that thread Jose Exposito Quintana pointed out that the problem might be in this area of the code: https://github.com/KhronosGroup/Vulkan-Loader/blob/main/loader/loader_linux.c#L325
Environment (please complete the following information):
- OS: Fedora 41
- Bitdepth: x86_64
- GPU: AMD Ryzen 7 PRO 7840U w/ Radeon 780M Graphics (Phoenix1) [1002:15bf] (rev dd)
Activity