5.2.显卡驱动
摘要:识别你的显卡,找到提供驱动的 Port,安装它,然后通过 sysrc(8) 启用,以便在后续启动时运行。
在 FreeBSD 能够渲染显卡环境之前,需要内核模块来驱动显卡处理器。显卡驱动发展迅速且跨平台,因此它们是单独开发和发布的,而不随 FreeBSD 基本系统一起分发。
下表显示了 FreeBSD 支持的不同显卡处理器、对应的内核模块以及提供驱动的 Port:
支持的驱动技术包括:
直接渲染驱动),支持 PRIME 卸载(offload)。PRIME 能让多个显卡处理器共存。有关 PRIME 的详细说明,请参见 显卡配置。
内核模式设置(KMS),能让驱动直接指定显示模式。使用 vt(4) 控制台驱动时,这对于支持挂起和恢复是必须的。
要识别系统中安装的显卡处理器,可以使用以下命令:
% pciconf -lv | grep -B3 display
输出示例:
vgapci1@pci0:0:2:0: class=0x030000 rev=0x0c hdr=0x00 vendor=0x8086 device=0x46a6 subvendor=0x1028 subdevice=0x0b29
vendor = 'Intel Corporation'
device = 'Alder Lake-P GT2 [Iris Xe Graphics]'
class = display
详细的驱动安装和启用说明在后续小节中给出。
如果显卡处理器不受 Intel®、AMD® 或 NVIDIA® 驱动支持,则应使用 SCFB 或 VESA 模块。UEFI 模式下必须使用 SCFB 模块;BIOS 模式下必须使用 VESA 模块。可用以下命令检查启动模式:
% sysctl machdep.bootmethod
输出示例:
machdep.bootmethod: UEFI
5.2.1. Intel® 显卡
包 graphics/drm-kmod 间接提供了一系列用于 Intel® 显卡的内核模块。最新版本的这些模块可以与其他显卡处理器在 PRIME 中协同使用,无需特殊配置。
安装 Intel® 显卡驱动:
# pkg install drm-kmod
然后通过以下命令将模块添加到 /etc/rc.conf 文件:
# sysrc kld_list+=i915kms
5.2.2. AMD® 显卡
graphics/drm-kmod 包间接提供一系列 AMD® 显卡处理器的内核模块。根据硬件代数,可使用 amdgpu
或 radeonkms
模块。FreeBSD 项目维护了一份 AMD 显卡支持列表,用于确定应使用的驱动。
安装 AMD® 显卡驱动:
# pkg install drm-kmod
启用当前模块,将其添加到 /etc/rc.conf:
# sysrc kld_list+=amdgpu
对于旧型号显卡(HD7000/Tahiti 之前),请启用兼容模块:
# sysrc kld_list+=radeonkms
5.2.3. NVIDIA® 显卡
NVIDIA® 提供了专有驱动以支持其独立或独显处理器。FreeBSD Ports 提供了对近十多年的 NVIDIA 显卡驱动支持。
管理员应安装其硬件支持的最新驱动。
支持的 NVIDIA® 驱动版本、内核模块及支持的硬件如下:
安装最新 NVIDIA® 驱动:
# pkg install nvidia-drm-kmod
启用驱动,将模块添加到 /etc/rc.conf:
# sysrc kld_list+=nvidia-drm
这是直接渲染的 KMS 驱动。
内核模式设置用于在内核中设置显卡模式。通过以下 loader.conf(5) 可永久启用:
hw.nvidiadrm.modeset="1"
PRIME 和 Wayland 均需要内核模式设置。
旧版本驱动不支持直接渲染。使用模块 modesetting
:
# sysrc kld_list+=nvidia-modeset
对于 390 之前版本的 NVIDIA 驱动,不支持内核模式设置,因此必须与兼容 sc(4) 控制台驱动和 1.20 之前版本的 x11/xorg-server 一道使用。
在 /etc/rc.conf 中启用:
# sysrc kld_list+=nvidia
最后更新于