AMDGPU PRO
関連記事
このページでは AMD GPU 用のクローズドソースドライバーについて説明します。
Purpose of proprietary components
AMD releases their open source drivers via standard distribution channels. And they also periodically do releases of their Radeon Software for Linux suite, which includes both open and proprietary components. Open source components are not needed from there, and proprietary components are repacked from the latest ubuntu lts version. They are published in AUR in the amdgpu-pro-installer package base.
Comment by the AMD explaining why they still package close source drivers:
These days our packaged drivers are mostly intended for: * customers using slower moving enterprise/LTS distros which do not automatically pick up the latest graphics drivers - we offer them both open source and proprietary/workstation options * customers using workstation apps who need the extra performance/certification from a workstation-oriented driver (although Marek has done a lot of great work over the last year to improve Mesa performance on workstation apps) * The third target audience is customers looking for ready-to-go OpenCL, either for use with the packaged open/closed drivers or with the upstream-based stack in a recent distro.
There are several proprietary components: OpenGL, OpenCL, Vulkan and AMF. Sometimes you may want to use these components due to specific features that open source components may lack.
AMDGPU PRO OpenGL is a proprietary, binary userland driver, which works on top of the open-source amdgpu kernel driver. From Radeon Software 18.50 vs Mesa 19 benchmarks article: When it comes to OpenGL games, the RadeonSI Gallium3D driver simply dominates the proprietary AMD OpenGL driver. Users of graphic cards other than Radeon Pro are advised to use the amdgpu graphics stack. Mostly used because of lacking compatibility layers that some software relies on. See gentoo wiki linked below.
AMDGPU PRO Vulkan - currently the only implementation that has ray tracing (however, reported by users as glitchy). Also it is required dependency for AMF.
AMDGPU PRO OpenCL - used because Mesa OpenCL is not fully complete. Proprietary component only for Polaris GPUs. The onward GPUs use the open ROCm OpenCL.
AMDGPU AMF - used for gpu encoding/decoding.
インストール
プロプライエタリな OpenGL 実装は amdgpu-pro-libglAUR をインストールしてください。オプションで 32 ビットアプリケーションのサポート用の lib32-amdgpu-pro-libglAUR もインストールしてください。
利用可能な OpenCL の実装については GPGPU#AMD/ATI を見てください。
プロプライエタリな Vulkan 実装は vulkan-amdgpu-proAUR をインストールしてください。オプションで 32 ビットアプリケーションのサポート用の lib32-vulkan-amdgpu-proAUR もインストールしてください。
Advanced Media Framework の実装は amf-amdgpu-proAUR をインストールしてください。
Usage
Using proprietary OpenGL
Launch your application with progl prefix, for example:
$ progl glmark2
How to ensure you are using AMDGPU-PRO driver
Run the following command:
$ glxinfo | grep "OpenGL vendor string" | cut -f2 -d":" | xargs
If it returns AMD
, then you are running open source driver. If it returns Advanced Micro Devices, Inc.
, then you are running proprietary driver.
Alternatively, run glmark2. When using open driver, in OpenGL Information you will see:
GL_VENDOR: AMD GL_RENDERER: Radeon RX 580 Series (POLARIS10, DRM 3.40.0, 5.10.7-arch1-1, LLVM 11.0.1) GL_VERSION: 4.6 (Compatibility Profile) Mesa 20.3.3
But when using closed driver, you will see:
GL_VENDOR: ATI Technologies Inc. GL_RENDERER: Radeon RX 580 Series GL_VERSION: 4.6.14756 Compatibility Profile Context
Using proprietary Vulkan
Launch your application with vk_pro prefix, for example:
$ vk_pro vkmark
See Vulkan#Selecting via AMD Vulkan Prefixes for more information.
Using Advanced Multimedia Framework
See FFmpeg#AMD AMF
トラブルシューティング
Intel + AMD のハイブリッドグラフィックス
Intel GPU と AMD GPU の両方を使用しているユーザは、MESA の実装の違いにより、プロプライエタリの AMDGPU Pro Workstation Driver が期待通りに動作しないかもしれません。症状としては次のようなものです: マシンを起動すると、ブラックスクリーンになり、マウスカーソルのみが通常通り動く。残念ながら、Reverse PRIME は解決策にはなりません。この開発者の返答を見てください。
パッケージのアンインストール
問題が発生した場合(例えば、ブラックスクリーンによりシステムにログインできない場合)、amdgpu pro に関連するすべてのパッケージをアンインストールすることによりもとに戻せます。tty2 (ctrl+alt+f2)に切り替えて、システムにログインしたあとで次のコマンドを実行してください: pacman -R $(pacman -Qg Radeon_Software_for_Linux | cut -f2 -d" ")
。そして、再起動してください。
Southern Islands (SI) または Sea Islands (CIK) GPU
Southern Islands (SI) または Sea Islands (CIK) GPU を使用している場合、clinfo
を実行すると以下のようなメッセージが表示されます:
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
この場合、radeon ではなく amdgpu のドライバを使用していることを確認してください。lspci -k
を使用して、現在どのドライバが使用されているかを確認してください:
03:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Opal XT [Radeon R7 M265/M365X/M465] Subsystem: Acer Incorporated [ALI] Aspire V5 Radeon R7 M265 Kernel driver in use: radeon Kernel modules: radeon, amdgpu
さらなる情報については AMDGPU#Southern Islands (SI) と Sea Islands (CIK) のサポートの有効化 を見てください。