跳转至内容

图形处理单元

来自 ArchWiki
(重定向自 OpenGL graphics driver)

一个图形处理单元 (GPU) 是您计算机中生成显示屏上视频信号的硬件。它们存在于两种设备类型中:集成图形处理器 (IGP) 和独立 (或分立) 图形,也称为显卡。这个缩写经常被滥用,用来指代整个显卡。

它们易于执行并行计算,催生了图形处理单元通用计算 (GPGPU)。

安装

Linux内核包含开源视频驱动程序和对硬件加速帧缓冲区的支持。然而,用户空间需要支持OpenGLVulkanXorg的2D加速和硬件视频加速

首先,确定显卡 (Subsystem 输出显示具体型号)

$ lspci -v -nn -d ::03xx
提示 这里的::03表示"显示控制器 PCI 设备类别",而xx代表"该类别的任何子类"。

然后,需要安装其视频驱动程序。有关三大供应商的信息,请参阅下表。

对于32位软件,请启用multilib仓库并安装以lib32-为前缀的用户空间驱动程序,例如lib32-mesalib32-vulkan-radeonlib32-nvidia-utils等。

对于X11,其他设备依赖X (DDX)驱动程序可以在xorg-drivers组中找到,或搜索xf86-video。在大多数情况下,您无需安装任何DDX驱动程序;详情请参阅Xorg#Drivers

AMD (前ATI)

AMD支持开源驱动程序。以前提供了一个专有驱动程序,但它已不再打包。[1][2]

提示 有关模型名称 (例如,Radeon RX 6600) 到GPU系列 (例如,RDNA 2) 的翻译,请参阅Wikipedia:List of AMD graphics processing units#Features overview

有关每个GPU系列VA-API支持的详细信息,请参阅Hardware video acceleration#Comparison tables

文档 GPU系列 DRM驱动 OpenGL Vulkan DDX驱动
AMDGPU GCN 3及更高版本 (例如,RDNA 1-4) 包含在Linux mesa vulkan-radeon xf86-video-amdgpu²
AMDGPU¹ / ATI GCN 1&2 取决于所选驱动程序
ATI R300 至 TeraScale xf86-video-ati²
R100 & R200 mesa-amber
Rage 4 及更早版本 不可用 [3][4]
  1. linux≥6.19起默认启用,否则可手动选择
  2. 据报道,使用modesetting驱动程序可以正常工作

Intel

Intel提供并支持开源驱动程序,但PowerVR GXM3600系列显卡除外,它们不受支持。

提示 Intel的Gen N硬件不指代CPU的代数,而是指GPU的代数,这与CPU的代数不同。

有关每个GPU系列VA-API支持的更多详细信息,请参阅Hardware video acceleration#Comparison tables,下面仅列出软件包。

文档 GPU系列 DRM驱动 OpenGL Vulkan DDX驱动 VA-API
Intel显卡 Gen 12.1 及更高版本 包含在Linux mesa vulkan-intel¹ xf86-video-intel² intel-media-driver
Gen 8 至 11 intel-media-driver
或旧版libva-intel-driver
Gen 7 & 7.5 libva-intel-driver
Gen 5 & 6
Gen 3 至 4.5
Gen 2 mesa-amber
  1. Gen 7 和 7.5 的支持不完整,Gen 8 仅限于 Vulkan 1.3。
  2. 推荐对 Gen 3 及更高硬件使用modesetting DDX驱动程序。详情请参阅Intel graphics#Installation

NVIDIA

NVIDIA不支持完全开源的驱动程序。他们在2022年转向了混合方法 (包含开源DRM驱动和闭源用户空间)。

提示 有关模型名称 (例如,RTX 4060) 到GPU系列 (例如,NV190) 的翻译,请参阅nouveau wiki的代码名称页面

有关支持哪些API的详细信息,请参阅Hardware video acceleration#NVIDIA;有关每个GPU系列的详细信息,请参阅Hardware video acceleration#VDPAU drivers

许可证 文档 GPU系列 DRM驱动 OpenGL Vulkan DDX驱动
开源 Nouveau¹ Kepler (NVE0/GKXXX)及更新型号 包含在Linux mesa vulkan-nouveau xf86-video-nouveau²
Fahrenheit (NV04/05)Fermi (NVC0/GF1XX)
开源DRM驱动,闭源用户空间 NVIDIA¹ Turing (NV160/TUXXX)及更新型号 nvidia-open nvidia-utils
专有 Maxwell (NV110/GMXXX)
Ada Lovelace (NV190/ADXXX)
nvidia-580xx-dkmsAUR nvidia-580xx-utilsAUR
Kepler (NVE0/GKXXX) nvidia-470xx-dkmsAUR nvidia-470xx-utilsAUR
Fermi (NVC0/GF1XX) nvidia-390xx-dkmsAUR nvidia-390xx-utilsAUR nvidia-390xx-utilsAUR
Tesla (NV50/G80-90-GT2XX) nvidia-340xx-dkmsAUR nvidia-340xx-utilsAUR nvidia-340xx-utilsAUR
Curie (NV40/G70) 及更早版本 已不再打包
  1. 有关启用NVIDIA Optimus的笔记本电脑 (使用集成显卡和独立GPU),请参阅NVIDIA Optimus
  2. 推荐对NV50 (G80)及更新型号使用modesetting DDX驱动程序。详情请参阅Nouveau#Installation

加载

大多数驱动程序内核模块应在系统启动时自动加载。

如果未加载,则

监控

监控您的GPU通常用于检查温度、核心和VRAM利用率以及GPU的P状态。

CLI

  • amdgpu_top - 显示AMDGPU使用情况的工具
https://github.com/Umio-Yasuno/amdgpu_top || amdgpu_top
  • nvtop - AMD、Intel和NVIDIA的GPU进程监控
https://github.com/Syllo/nvtop || nvtop
  • radeontop - GPU利用率查看器,包括总活动百分比和各个块。适用于ATI的R600及更新的GPU以及使用AMDGPU驱动程序的显卡
https://github.com/clbr/radeontop || radeontop
  • nvidia-smi - Fermi及更新的NVIDIA GPU的命令行监控工具,随NVIDIA专有驱动程序一起提供
https://docs.nvda.net.cn/deploy/nvidia-smi/index.html || nvidia-utils

GUI

  • amdgpu_top - 显示AMDGPU使用情况的工具
https://github.com/Umio-Yasuno/amdgpu_top || amdgpu_top
  • AmdGuid - 一个完全用Rust编写的基础风扇控制GUI。
https://github.com/Eraden/amdgpud || amdguid-wayland-binAUR, amdguid-glow-binAUR
  • Radeon Profile — 一个 Qt5 工具,用于读取和更改 AMD Radeon 显卡的当前时钟。
https://github.com/emerge-e-world/radeon-profile || radeon-profile-gitAUR
  • TuxClocker — 一个 Qt5 监控和超频工具。
https://github.com/Lurkki14/tuxclocker || tuxclockerAUR
  • Plasma System Monitor - 一个用于监控系统传感器、进程信息和其他系统资源的界面。与KDE Plasma捆绑。
https://apps.kde.org/plasma-systemmonitor/ || plasma-systemmonitor
  • LACT - 在Linux系统上控制您的AMD、Nvidia或Intel GPU。
https://github.com/ilya-zlobintsev/LACT || lact