Vulkan
- Vulkan (旧名 "glNext") はオーバーヘッドが少ない、クロスプラットフォームなリアルタイム3次元コンピュータグラフィックス・コンピュート API である。
詳しくは Khronos のウェブサイトを参照してください。
目次
インストール
Vulkan アプリを実行するには vulkan-icd-loader と (32ビットのアプリケーションを実行したい場合は lib32-vulkan-icd-loader も)、使用しているグラフィックカードの Vulkan ドライバーをインストールする必要があります:
- Intel: vulkan-intel (または lib32-vulkan-intel)
- NVIDIA: nvidia (または lib32-nvidia-utils)
- AMD: 3種類の実装があります。これらは複数同時にインストールできます:
- vulkan-radeon (または lib32-vulkan-radeon) - RADV (Mesa プロジェクトの一部)
- amdvlk (または lib32-amdvlk) - AMDVLK Open (AMD によるメンテナンス)
- vulkan-amdgpu-proAUR (または lib32-vulkan-amdgpu-proAUR) - AMVDLK Closed (AMD によるメンテナンス)
他のドライバーはパッケージ化されていないので、手動でインストールしてください:
- PowerVR: https://imgtec.com/vulkan
- Adreno: https://developer.qualcomm.com/software/adreno-gpu-sdk/gpu
Vulkan アプリケーションを開発するには、vulkan-headers も必要になります。また、vulkan-validation-layers および vulkan-tools もインストールすると良いでしょう (vulkaninfo ツールが含まれています)。
検証
システムに現在インストールされている Vulkan 実装を確認するには、次のコマンドを使用します。
$ ls /usr/share/vulkan/icd.d/
Vulkan がハードウェアで動作していることを確認するには、vulkan-tools をインストールし、vulkaninfo
を使って関連情報をシステムから抜き出します。グラフックスカードの情報を手に入れれば、Vulkan が動作していることを知ることができます。
$ vulkaninfo
さらなる情報は https://linuxconfig.org/install-and-test-vulkan-on-linux で見ることができます。
AMD ドライバを切り替える
AMD のシステム上では、一度に複数の Vulkan ドライバをインストールすることができます。なので、それらを切り替えたい場合があります。
環境変数で選択する
amdvlk 2021.Q3.4 以降、新しい切り替えロジックが実装されました。これにより、AMDVLK がデフォルトとなり、以下のいずれかを行う必要があります:
AMD_VULKAN_ICD=RADV
を設定し、AMDVLK のデフォルトから他のものに切り替える。- あるいは、グローバルに
DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
を設定し、以下の ICD ローダの方法を再有効化する。
DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
が設定されると、VK_ICD_FILENAMES
環境変数を設定することによりドライバを選択することができます。例えば、Steam を RADV ドライバで実行するようにするには:
$ VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json steam
32 ビットのゲームのクラッシュを回避するために、32 ビット版と 64 ビットを環境変数に割り当てることができます。
AMD Vulkan Prefixes で選択する
AMD Vulkan Prefixes は3つの Vulkan 実装を切り替えるためのスクリプトです。amd-vulkan-prefixesAUR をインストールし、アプリケーションの前にお望みの接頭辞を付けてください。提供される実行ファイルは vk_radv
、vk_amdvlk
、そして vk_pro
です。例えば、AMDVLK クローズドドライバを使用するには:
$ vk_pro command
Vulkan: lavapipe ソフトウェア
lavapipe として知られるソフトウェア Vulkan ラスタライザーをインストールすることもできます: vulkan-swrast 現時点では (AUR であっても) 32 ビットの vulkan-swast パッケージはありません。
$ LIBGL_ALWAYS_SOFTWARE=1 __GLX_VENDOR_LIBRARY_NAME=mesa VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/lvp_icd.i686.json:/usr/share/vulkan/icd.d/lvp_icd.x86_64.json vulkaninfo
Vulkan ハードウェアデータベース
Hardware Database には、ユーザーが報告した GPU/ドライバーの組み合わせが提供されています。独自の情報を指定するには、vulkan-caps-viewer-waylandAUR または vulkan-caps-viewer-x11AUR を使用します。
トラブルシューティング
Error - vulkan: No DRI3 support
上記のメッセージが表示される場合、以下の内容のファイルを作成して X を再起動してください。Wayland では以下の設定は必要ありません。
/etc/X11/xorg.conf.d/20-intel.conf
Section "Device" Identifier "Intel Graphics" Driver "intel" Option "DRI" "3" EndSection
Nvidia - vulkan が動作せず初期化できない
vulkan-intel がインストールされていないか確認してください。インストールされていると Nvidia の vulkan ドライバーが認識されないことがあります。
あるいは、環境変数 VK_ICD_FILENAMES
を /usr/share/vulkan/icd.d/nvidia_icd.json
に設定してください。
No device for the display GPU found. Are the intel-mesa drivers installed?
環境変数 VK_ICD_FILENAMES に intel_icd と primus_vk_wrapper の両方のセットしてみてください。
export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/intel_icd.x86_64.json:/usr/share/vulkan/icd.d/primus_vk_wrapper.json