Vulkan icd loader how to select a custom one?

Using lutris latest version in crostini debian bullseye container. I previously was able to select the correct vulkan icd loader on an older version of lutris, however the option has changed in the latest version of lutris. It says warning no vulkan icd loader detected? I had set the vulkan icd loader to :

VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/virtio_icd.i686.json:/usr/share/vulkan/icd.d/virtio_icd.x86_64.json

which is in "ls /usr/share/vulkan/icd.d/ " : virtio_icd.x86_64.json and
virtio_icd.i686.json

How do I select this vulkan icd loader?

Does anybody have any idea please? I asked on discord but nobody responded yet.

I have the same problem. Only i cant force lutris to see discrete card driver on my laptop.
Try to use those variables insted Vulkan-Loader/LoaderDriverInterface.md at master · KhronosGroup/Vulkan-Loader · GitHub
Plese response with result

You should be able to just choose Auto (which means use the vulkan loader defaults), and override it with your own variable set on the System tab of the game, in Environment Variables.

Hi, it tried the below but that still didn’t fix the warning no vulkan icd loader detected.

export VK_ADD_DRIVER_FILES=/usr/share/vulkan/icd.d//virtio_icd.i686.json:/usr/share/vulkan/icd.d/virtio_icd.x86_64.json

Hi, can you post an example of what I should put in that field from what info I have given thanks in advance.

The way you’d set the variable in Lutris would be on the System options tab of Configuration of the individual game.

You would not use “export” or = because they are form fields for variable name and value.

You’d put VK_ADD_DRIVER_FILES in the first field, then click in the field to the right of it and put /usr/share/vulkan/icd.d//virtio_icd.i686.json:/usr/share/vulkan/icd.d/virtio_icd.x86_64.json in the second.

Note that paragraph in the link that was given to you though, if any other of those variables are set, VK_ADD_DRIVER_FILES will be ignored. I still use VK_ICD_FILENAMES because, I hate shit that changes just to confuse people.

Your best bet is probably to use VK_DRIVER_FILES as that one is the preferred value (and others will be ignored), but whichever works for you.

Still i am curious. The list of drivers inside game config is produced before i have opened config menu, so how my changes in ENV after config is build can change behavior of game?

Overall it would be cool to get idea oh exactly list of drivers have build inside config. But i have no idea where this info to get.

Well, it sets the ENV for that invocation, when you launch the session to run the game. This whole thing relies on environment variables to launch with the correct parameters and paths. It’s the reason you can have multiple wine runners, runtimes and wine prefixes. Otherwise it would be /usr/bin/wine and /home/yourname/.wine etc.

Lutris really has nothing to do with your vulkan driver selection, it’s just providing a convenient way to set the environment variable to override it on invocation of vulkan.

Just got my problem solved
ICD file name must contain “nvidia” substring to be enumerated by lutris
primus vk does only nv_
so i just rename file

Still have the warning when choosing auto for vulkan icd loader. I think I solved it for now. Leave it on auto and set in /etc/environment:

VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/virtio_icd.i686.json:/usr/share/vulkan/icd.d/virtio_icd.x86_64.json

Should be fine. I tried at first games that I copied from my windows pc without installing them, because they do work on other windows pc(s) without installing.

I installed from lutris site Drift City Remastered and the Virtio-GPU Venus driver is working. Thanks for all the replies.

1 Like