AMDGPU PRO

出自 Arch Linux 中文维基

本頁介紹了 AMD GPU 的閉源驅動程序。

提示:大多數用戶不需要這些專有驅動程序。

專有組件的用途[編輯 | 編輯原始碼]

AMD 通過標準分發渠道發佈其開源驅動程序。他們還定期發佈Radeon Software for Linux套件,其中包括開放組件和專有組件。那裏不需要開源組件,專有組件是從最新的 ubuntu lts 版本重新打包的。它們發佈在 AUR 的 amdgpu-pro-installer 包組中。

該評論 解釋了為什麼 AMD 仍然打包閉源驅動程序:

如今,我们打包的驱动程序主要用于:
* 软件迁移速度较慢的企业/LTS 发行版的客户不会自动获取最新的图形驱动程序 - 我们为他们提供开源和专有/工作站选项
* 使用工作站应用程序的客户需要来自面向工作站的驱动程序的额外性能/认证(尽管 Marek 在去年做了很多出色的工作来提高工作站应用程序上的 Mesa 性能)
* 第三个目标受众是寻找现成 OpenCL 的客户,它们可以与打包的开放/封闭驱动程序一起使用,也可以与最近发行版中基于上游的堆栈一起使用。

有幾個專有組件:OpenGL、OpenCL、Vulkan 和 AMF。有時,由於開源的組件可能缺少特定功能,可能需要使用到這些(專有)組件。

AMDGPU PRO OpenGL 是一種專有的用戶態二進制驅動程序,它基於開源 amdgpu 內核驅動程序運行。從 Radeon Software 18.50 與 Mesa 19 基準測試 該文章可以看出:在 OpenGL 遊戲方面,RadeonSI Gallium3D 驅動程序能全方位替代專有的 AMD OpenGL 驅動程序。AMD 建議 購買 Radeon Pro 以外的非專業顯卡用戶使用 amdgpu 圖形堆棧。使用該組件主要是因為對應的開源組件缺少某些軟件所依賴的兼容層。請參閱下面的 gentoo wiki 連結。

AMDGPU PRO Vulkan - 目前唯一具有光線追蹤的實現(但是被用戶報告為故障狀態)。它也是 AMF 的必需依賴項。

AMDGPU PRO OpenCL - 使用該組件主要是因為 Mesa OpenCL 不完全完整。僅適用於 Polaris GPU 的專有組件。未來的 GPU 會使用開放的 ROCm OpenCL。

AMDGPU AMF - 用於 GPU 硬件編解碼。

安裝[編輯 | 編輯原始碼]

對於專有的 OpenGL 實現,安裝 amdgpu-pro-libglAUR 和可選的 lib32-amdgpu-pro-libglAUR 以支持 32 位應用程式。

有關可用的 OpenCL 實現,請參閱 GPGPU#AMD/ATI

對於專有的 Vulkan 實現,安裝 vulkan-amdgpu-proAUR 和可選的 lib32-vulkan-amdgpu-proAUR 以獲得 32 位應用程式支持。

對於高級媒體框架(AMF)實現,安裝 amf-amdgpu-proAUR

要讓 OBS 使用它,請使用 obs-studio-amfAUR

注意: 自 2022 年 10 月起,由於 AMD 驅動程序的一個錯誤,您需要 amdgpu-pro-installer-fix 包(或者 https://github.com/HannesMann/archlinux-amdgpu-pro - 如果-fix包不起作用) 和 20220815.8413c63-1 版本的 linux-firmware 來讓 H264 和 HEVC 工作。

用法[編輯 | 編輯原始碼]

使用專有的 OpenGL[編輯 | 編輯原始碼]

使用 progl 命令運行應用程式,例如:

$ progl glmark2

如何確保程序使用的是 AMDGPU-PRO 驅動程序[編輯 | 編輯原始碼]

執行下面的命令:

$ glxinfo | grep "OpenGL vendor string" | cut -f2 -d":" | xargs

如果返回的是 AMD, 那就表明運行的是開源驅動程序。如果返回 Advanced Micro Devices, Inc.,則表明運行了專有驅動程序。

或者, 也可以運行 glmark2。 當用的是開源驅動,在 OpenGL 信息裏面就可以看到:

   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

如果用的是閉源驅動,看到的就應該是:

   GL_VENDOR:     ATI Technologies Inc.
   GL_RENDERER:   Radeon RX 580 Series
   GL_VERSION:    4.6.14756 Compatibility Profile Context

使用專有的 Vulkan[編輯 | 編輯原始碼]

vk_pro 命令(腳本)啟動應用程式,例如:

$ vk_pro vkmark

更過信息可以參考 Vulkan#通過_AMD_Vulkan_Prefixes_選擇

使用 Advanced Multimedia Framework[編輯 | 編輯原始碼]

參考 FFmpeg#AMD AMF

故障排除[編輯 | 編輯原始碼]

Intel + AMD 混合顯示[編輯 | 編輯原始碼]

對於使用 Intel GPU 和 AMD GPU 混合配置的用戶,由於不同的 MESA 實現,專有 AMDGPU Pro 工作站驅動程序的使用可能無法按預期工作。

症狀如下:開機時黑屏,但鼠標光標移動正常。

不幸的是,反向 PRIME 不能作為解決方案。請參考 開發者回復

卸載軟件包[編輯 | 編輯原始碼]

如果遇到問題,例如由於黑屏而無法登錄系統,可以通過卸載與 AMDGPU PRO 相關的所有軟件包來恢復所有狀態。

切換 虛擬控制台(例如 Ctrl+Alt+F2),登錄並運行:

# pacman -R $(pacman -Qg Radeon_Software_for_Linux | cut -f2 -d" "

再重啟系統。

Southern Islands (SI) 或者 Sea Islands (CIK) 顯卡[編輯 | 編輯原始碼]

如果使用 Southern Islands (SI) 或 Sea Islands (CIK) 顯卡,遇到在運行 clinfo 時打印:

amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.

要保證使用的是 amdgpu 驅動程序,而不是 radeon。

用下面的命令檢查當前正在使用的驅動程序:

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)_支持

參考連結[編輯 | 編輯原始碼]