图形处理单元
一个图形处理单元 (GPU) 是您计算机中生成显示屏上视频信号的硬件。它们存在于两种设备类型中:集成图形处理器 (IGP) 和独立 (或分立) 图形,也称为显卡。这个缩写经常被滥用,用来指代整个显卡。
它们易于执行并行计算,催生了图形处理单元通用计算 (GPGPU)。
安装
Linux内核包含开源视频驱动程序和对硬件加速帧缓冲区的支持。然而,用户空间需要支持OpenGL、Vulkan、Xorg的2D加速和硬件视频加速。
首先,确定显卡 (Subsystem 输出显示具体型号)
$ lspci -v -nn -d ::03xx
然后,需要安装其视频驱动程序。有关三大供应商的信息,请参阅下表。
对于32位软件,请启用multilib仓库并安装以lib32-为前缀的用户空间驱动程序,例如lib32-mesa、lib32-vulkan-radeon、lib32-nvidia-utils等。
对于X11,其他设备依赖X (DDX)驱动程序可以在xorg-drivers组中找到,或搜索xf86-video。在大多数情况下,您无需安装任何DDX驱动程序;详情请参阅Xorg#Drivers。
AMD (前ATI)
AMD支持开源驱动程序。以前提供了一个专有驱动程序,但它已不再打包。[1][2]
有关每个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] | ||||
- 自linux≥6.19起默认启用,否则可手动选择
- 据报道,使用modesetting驱动程序可以正常工作
Intel
Intel提供并支持开源驱动程序,但PowerVR GXM3600系列显卡除外,它们不受支持。
有关每个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 |
- Gen 7 和 7.5 的支持不完整,Gen 8 仅限于 Vulkan 1.3。
- 推荐对 Gen 3 及更高硬件使用modesetting DDX驱动程序。详情请参阅Intel graphics#Installation。
NVIDIA
NVIDIA不支持完全开源的驱动程序。他们在2022年转向了混合方法 (包含开源DRM驱动和闭源用户空间)。
有关支持哪些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) 及更早版本 | 已不再打包 | |||||
- 有关启用NVIDIA Optimus的笔记本电脑 (使用集成显卡和独立GPU),请参阅NVIDIA Optimus。
- 推荐对NV50 (G80)及更新型号使用modesetting DDX驱动程序。详情请参阅Nouveau#Installation。
加载
大多数驱动程序内核模块应在系统启动时自动加载。
如果未加载,则
监控
监控您的GPU通常用于检查温度、核心和VRAM利用率以及GPU的P状态。
CLI
- amdgpu_top - 显示AMDGPU使用情况的工具
- nvtop - AMD、Intel和NVIDIA的GPU进程监控
- radeontop - GPU利用率查看器,包括总活动百分比和各个块。适用于ATI的R600及更新的GPU以及使用AMDGPU驱动程序的显卡
- nvidia-smi - Fermi及更新的NVIDIA GPU的命令行监控工具,随NVIDIA专有驱动程序一起提供
GUI
- amdgpu_top - 显示AMDGPU使用情况的工具
- AmdGuid - 一个完全用Rust编写的基础风扇控制GUI。
- Radeon Profile — 一个 Qt5 工具,用于读取和更改 AMD Radeon 显卡的当前时钟。
- TuxClocker — 一个 Qt5 监控和超频工具。
- Plasma System Monitor - 一个用于监控系统传感器、进程信息和其他系统资源的界面。与KDE Plasma捆绑。
- LACT - 在Linux系统上控制您的AMD、Nvidia或Intel GPU。