Vulkan

From ArchWiki
Jump to navigation Jump to search

From wikipedia:Vulkan (API):

Vulkan is a low-overhead, cross-platform 3D graphics and compute API.

Learn more at Khronos.

Installation

Note: On hybrid graphics (NVIDIA Optimus/AMD Dynamic Switchable Graphics):

To run a Vulkan application, you will need to install the vulkan-icd-loader package (and lib32-vulkan-icd-loader if you also want to run 32-bit applications), as well as the Vulkan drivers for your graphics card(s):

Other drivers may be installed manually instead:

For Vulkan application development, install vulkan-headers, and optionally vulkan-validation-layers and vulkan-tools (you can find the vulkaninfo tool in here).

Verification

To see which Vulkan implementations are currently installed on your system, use the following command:

$ ls /usr/share/vulkan/icd.d/

Selecting vulkan driver

In some cases multiple vulkan driver are installed (for example RADV and AMDVLK). You can choose your preferred driver by setting the environment variable VK_ICD_FILENAMES. Running steam with the radv driver is done by

$ VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json steam

To avoid crashes with 32bit games it is possible to assigning the 32bit variant and the 64Bit variant to the environment variable.

Vulkan Hardware Database

The Vulkan Hardware Database provides user reported GPU/driver combinations. Supplying own information is possible by using vulkan-caps-viewerAUR.

Troubleshooting

Error - vulkan: No DRI3 support

If you get the message above and using Intel graphics, you may need to force DRI3 and restart Xorg:

/etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "DRI"    "3"
EndSection

Nvidia - vulkan is not working and can not initialize

Check if you have any other vulkan driver installed, it may prevent Nvidia's vulkan driver from being detected.

Alternatively set the environment variable VK_ICD_FILENAMES to /usr/share/vulkan/icd.d/nvidia_icd.json.

No device for the display GPU found. Are the intel-mesa drivers installed?

Try to list both the intel_icd and primus_vk_wrapper configurations in VK_ICD_FILENAMES

export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/intel_icd.x86_64.json:/usr/share/vulkan/icd.d/nv_vulkan_wrapper.json