AMDGPU PRO
本页面描述了 AMD GPU 的闭源驱动程序。
专有组件的目的
AMD 通过标准发行渠道发布其开源驱动程序。他们还定期发布 Radeon Software for Linux 套件,其中包括开源和专有组件。开源组件不是必需的,专有组件从最新的 ubuntu lts 版本重新打包。它们发布在 AUR 的 amdgpu-pro-installer 包组中。
评论 来自 AMD 的 John Bridgman 解释了他们为什么仍然打包闭源驱动程序
- 如今,我们打包的驱动程序主要面向
- 使用较慢的企业/LTS 发行版且不会自动获取最新图形驱动程序的客户 - 我们为他们提供开源和专有/工作站选项
- 使用工作站应用程序且需要工作站导向驱动程序的额外性能/认证的客户(尽管 Marek 去年在提高 Mesa 在工作站应用程序上的性能方面做了很多出色的工作)
- 第三个目标受众是寻找即用型 OpenCL 的客户,无论是在打包的开源/闭源驱动程序中使用,还是在最新发行版中基于上游的堆栈中使用。
有几个专有组件:OpenGL、OpenCL、Vulkan 和 AMF。有时您可能想要使用这些组件,因为开源组件可能缺乏某些特定功能。
AMDGPU PRO OpenGL 是一个专有的二进制用户空间驱动程序,它在开源 amdgpu 内核驱动程序之上工作。来自 Radeon Software 18.50 vs Mesa 19 基准测试 文章:当涉及到 OpenGL 游戏时,RadeonSI Gallium3D 驱动程序完全优于专有的 AMD OpenGL 驱动程序。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-installer 包组。它包含以下所有软件包
- amdgpu-pro-oglpAUR:用于专有 OpenGL 实现
- lib32-amdgpu-pro-oglpAUR:用于专有 OpenGL 实现 32 位应用程序支持
- vulkan-amdgpu-proAUR:用于专有 Vulkan 实现
- lib32-vulkan-amdgpu-proAUR:用于专有 Vulkan 实现 32 位应用程序支持
- amf-amdgpu-proAUR :用于高级媒体框架实现
有关可用的 OpenCL 实现,请参阅 GPGPU#AMD/ATI。
使用
使用专有 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#Selecting via AMD Vulkan Prefixes。
使用高级多媒体框架
请参阅 FFmpeg#AMD AMF
故障排除
Intel + AMD 混合显卡
对于同时使用 Intel GPU 和 AMD GPU 的混合设置用户,由于不同的 MESA 实现,专有的 AMDGPU Pro Workstation Driver 可能无法按预期工作。
症状如下:当您启动机器时,您会得到一个黑屏,但您的鼠标光标可以正常移动。
不幸的是,Reverse PRIME 不是解决方案。请参阅开发者回复。
卸载软件包
如果您遇到问题,例如,由于黑屏而无法登录系统,您可以通过卸载所有与 AMDGPU PRO 相关的软件包来恢复原状。
切换到虚拟控制台(例如使用 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.
然后确保您正在使用 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#Enable Southern Islands (SI) and Sea Islands (CIK) support。
固件和 AMD 驱动
AMD 驱动程序和固件(尤其是最近的固件)可能会失去同步并产生问题或完全无法工作。您可以在日志中搜索 VCN
system VCN FW Encode interface version=1.9, expected version=1.8
降级固件似乎可以解决问题。
- 截至 2024-01-29 linux-firmware-gitAUR 版本 20240126.8fa621d2-1 适用于 23.40 (6.0.1) 驱动程序。