Vulkan
Vulkan は The Khronos Group によって作成された次世代のグラフィックス API です。デスクトップからモバイルコンピュータまで、多種多様なプラットフォームで使用できるように設計されています。
Vulkan は OpenGL よりもずっと低レベルの API であり、これにより開発者はビデオカードの性能をより引き出すことが可能になります。
インストール
前提条件
ICD
To use Vulkan in any useful capacity, at least one ICD (Installable Client Driver) is required. ICDs may already be installed on the system, depending on the value(s) assigned to the VIDEO_CARDS variable. The current Vulkan support table is provided below:
| Driver name | VIDEO_CARDS value | Package | Supported |
|---|---|---|---|
| RADV | amdgpu |
media-libs/mesa | Yes1 |
| AMDVLK | amdgpu |
media-libs/amdvlk or media-libs/amdvlk-bin from GURU repository | Almost5 |
| radeon/r600 | N/A | N/A | No |
| RADV | radeonsi |
media-libs/mesa | Yes1 |
| ANV | intel |
media-libs/mesa | Yes2 |
| NVK | nouveau nvk |
x11-drivers/xf86-video-nouveau media-libs/mesa | Yes4 |
| NVIDIA | nvidia |
x11-drivers/nvidia-drivers | Yes3 |
- 1 Uses the RADV Vulkan driver included in Mesa.
- 2 Uses the ANV Vulkan driver included in Mesa. Partial support begins on Ivy Bridge and up, more information can be found on intel.
- 3 Uses the NVIDIA Vulkan driver included in NVIDIA/nvidia-drivers.
- 4 Currently supports Maxwell (some GTX 700 and 800 series, most 900 series) and later GPUs up to and including Ada, requires at least a Linux 6.6 kernel.[1]
- 5 Uses the AMDVLK aka AMD Open Source Driver for Vulkan and maintained in GURU. Therefore it has not been placed in
::gentooyet.
It may be useful to check the Vulkan Hardware Database which has detailed GPU hardware capabilities for Vulkan-capable GPUs.
Mesa
To enable the Vulkan drivers in media-libs/mesa , set the vulkan USE flag.
ローダー
Applications don't interact with these ICDs directly, but use the Vulkan Loader provided by the package media-libs/vulkan-loader . This loader picks the correct ICD for the application and handles inserting Vulkan layers.
Any packages that are built with Vulkan support will pull in media-libs/vulkan-loader , but it can also be installed manually:
root #emerge --ask media-libs/vulkan-loaderUSE flags for media-libs/vulkan-loader Vulkan Installable Client Driver (ICD) Loader
開発
To use Vulkan Validation layers, set the layers USE flag on media-libs/vulkan-loader . This will pull in media-libs/vulkan-layers automatically.
To use vulkaninfo or vkcube for verifying if Vulkan works, install dev-util/vulkan-tools :
root #emerge --ask dev-util/vulkan-toolsThis is not related with VulkanTools, part of the LunarG Vulkan SDK and currently not packaged on Gentoo.
使い方
Support for Vulkan in Gentoo packages can be controlled by setting the vulkan USE flag. For example, media-libs/libsdl2 can optionally enable Vulkan support if set.
トラブルシューティング
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 Vulkan-Loader's issue #108.
関連項目
- Xorg/Hardware 3D acceleration guide — GentooのXorgでDRMを使用して3Dアクセラレーションを動作させるためのガイドです。
- OpenGL — a graphics API created by The Khronos Group.
- OpenCL — ヘテロジニアス (異種) コンピューティングプラットフォーム (CPU、GPU、DSP、FPGA、ASIC など) にわたって実行されるプログラムを作成するためのフレームワーク
- NVIDIA/nvidia-drivers — x11-drivers/nvidia-drivers は NVIDIA 製グラフィックスカード用のプロプライエタリなドライバを含んでいます。
- AMDVLK — an open-source Vulkan driver for AMD RadeonTM graphics adapters on Linux