AMDGPU PRO

出自 ArchWiki

本页面描述了 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 包组。它包含以下所有软件包

注意: OGLP 不是 OpenGL 的性能优化,而是一个从头开始编写的全新 GL 驱动程序代码库,基于 PAL 架构。在版本 > 22.20.5 中,它取代了 libgl

有关可用的 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) 驱动程序。

参见