Hello community,
recently I am experiencing an issue with the selection of the right Vulkan driver on my machine for some apps. The ones most affected are of course Lutris and Steam.
If I open a terminal and check the Vulkan environment variables, I can see that they are set exactly as per what I have set in the file /etc/environment:
However, when I run a game in either Lutris or Steam, I get the error message that the system doesn’t support Vulkan (or DirectX, according to the game). In order to make sure to pick the RADV driver, I have always to specify the prefix command vk_radv before any executable.
Is there any way for defaulting the selection of the RADV driver, therefore avoiding to specify always the vk_radv command prefix?
I have a 58000X + RX 6800 like you. I have no VK or VULKAN environment variables at all and everything works fine including Steam.
$ env | grep VK
$ env | grep VULKAN
$
What vulkan packages do you have installed? The important ones are vulkan-radeon and vulkan-icd-loader (I have no idea why vulkan-intel is there to be honest).
So you also have other Vulkan drivers like amdvlk installed? Is there a reason why you need other Vulkan drivers? If not then removing them would be the simplest solution.
Otherwise I have no idea. You’ve done exactly what the ArchWiki suggests so I don’t know why Steam and Lutris aren’t using RADV. If it was working before and now isn’t then I guess something changed somewhere but I have no idea where.
Yes I had to install temporarily amdvlk in the past for some specific compatibility. As reported in the script vk_radv code, when amdvlk is installed, then VK_DRIVER_FILES is ignored and AMD_VULKAN_ICD is read instead.
I uninstalled the amdvlk driver, but the issue still persist. Specifically, Lutris has the following output:
2025-03-07 16:37:15,373: Starting Lutris 0.5.19
WARNING: [Loader Message] Code 0 : Layer VK_LAYER_MESA_device_select uses API version 1.3 which is older than the application specified API version of 1.4. May cause issues.
2025-03-07 16:37:15,412: "card0" is AMD Radeon RX 6900 XT (1002:73bf 1002:0e3a amdgpu) Driver 24.3.4
2025-03-07 16:37:15,412: Vulkan is not available or your system isn't Vulkan capable
While Steam reports this warning message:
pressure-vessel-wrap[47937]: W: Failed to load Vulkan ICD #1 from /usr/share/vulkan/icd.d/radeon_icd.x86_64.json : openat(/usr/share/vulkan/icd.d/radeon_icd.x86_64.json ): No such file or directory
I checked and the files are actually there. I’m not sure if there is some additional configuration which is still selecting the wrong driver (amdvlk) as default.
In addition to what I wrote above, I also got the following now:
$ ls -l /usr/share/vulkan/icd.d/
total 8
-rw-r--r-- 1 root root 149 Jan 23 00:24 radeon_icd.i686.json
-rw-r--r-- 1 root root 147 Jan 23 00:24 radeon_icd.x86_64.json
$ vulkaninfo --summary
ERROR: [Loader Message] Code 0 : vkCreateInstance: Found no drivers!
Cannot create Vulkan instance.
This problem is often caused by a faulty installation of the Vulkan driver or attempting to use a GPU that does not support Vulkan.
ERROR at /usr/src/debug/vulkan-tools/Vulkan-Tools/vulkaninfo/./vulkaninfo.h:456:vkCreateInstance failed with ERROR_INCOMPATIBLE_DRIVER
but if I run the same command above with the prefix, the outcome changes:
$ vk_radv vulkaninfo --summary
WARNING: [Loader Message] Code 0 : Layer VK_LAYER_MESA_device_select uses API version 1.3 which is older than the application specified API version of 1.4. May cause issues.
==========
VULKANINFO
==========
Vulkan Instance Version: 1.4.304
Instance Extensions: count = 24
-------------------------------
Well given the error message about VK_LAYER_MESA_device_select I’d uninstall all those *-layer packages next.
Worse case, uninstall everything vulkan-related and remove any related environment variables, then reinstall vulkan-radeon and vulkan-icd-loader (and the lib32 versions of those packages).