Vulkan
Vulkan is Article description::a next-generation graphics API created by The Khronos Group. Its focus is to provide 3D graphics cross-platforms in a code once run anywhere fashion.
For Vulkan support, Gentoo has a basic package media-libs/vulkan-loader which provides the libvulkan.so.1 shared object file.
Installation
To compile the open source Vulkan drivers the vulkan
USE flag must be enabled for media-libs/mesa. Then use the following command to install libvulkan.so.1 object file:
root #
emerge --ask media-libs/vulkan-loader
USE flags
USE flags for media-libs/vulkan-loader Vulkan Installable Client Driver (ICD) Loader
Driver support
You can check the (unofficial) Vulkan hardware database for a list of detailed GPU hardware capabilities for Vulkan. The following list shows the Vulkan supported GPU drivers in Mesa:
Driver | Vulkan support? |
---|---|
radeon/r600 | No |
radeonsi | via radv, see AMDGPU for details |
i915 | No |
i965 | via anvil, see Intel for details |
nouveau | No |
The following alternative, closed-source drivers exist. These also provide Vulkan support:
- AMDGPU-PRO — the next generation closed source graphics component that operates on top of the open source AMDGPU drivers for newer AMD/ATI Radeon graphics cards.
- NVIDIA/nvidia-drivers — The x11-drivers/nvidia-drivers package contains the proprietary graphics driver for NVIDIA graphic cards.
Troubleshooting
Wrong ELF class
This error that may appear when running vulkaninfo diagnostic tool from dev-util/vulkan-tools and used for Vulkan debugging.
ERROR: [Loader Message] Code 0 : /usr/lib32/libvulkan_intel.so: wrong ELF class: ELFCLASS32 ERROR: [Loader Message] Code 0 : /usr/lib32/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
This error can be ignored as both 32-bit and 64-bit drivers are attempted to be loaded on a multilib system.
For more information please see https://github.com/KhronosGroup/Vulkan-Loader/issues/108
See also
- Xorg/Hardware_3D_acceleration_guide — a guide to getting 3D acceleration working using the DRM with Xorg in Gentoo.
- OpenCL — a framework for writing programs that execute across heterogeneous computing platforms (CPUs, GPUs, DSPs, FPGAs, ASICs, etc.).