For the complete documentation index, see llms.txt. This page is also available as Markdown.

5.2.显卡驱动

摘要:识别你的显卡,找到提供驱动的 Port,安装它,然后通过 sysrc(8) 启用,以便在后续引导时运行。

在 FreeBSD 能够渲染图形环境之前,需要内核模块来驱动图形处理器。显卡驱动发展迅速且跨平台,因此它们是单独开发和发布的,而不随 FreeBSD 基本系统一起分发。

下表显示了 FreeBSD 支持的不同图形处理器、对应的内核模块以及提供驱动的 Port:

表 1. 支持的图形设备

类型
许可证
模块
Port

Intel®

开源

i915kms

AMD®

开源

amdgpuradeonkms

NVIDIA®

专有

nvidia-drmnvidia-modesetnvidia

系统控制台帧缓冲

开源

scfb

VESA BIOS 扩展

开源

vesa

VirtualBox®

开源

vboxvideo

VMware®

开源

vmwgfx

支持的驱动技术包括:

  • 直接渲染驱动,支持 PRIME 卸载(offload)。PRIME 能让多个图形处理提供者共存。有关 PRIME 的详细说明,请参见 显卡配置

  • 内核模式设置(KMS),能让驱动直接指定显示模式。使用 vt(4) 控制台驱动时,这对于支持挂起和恢复是必须的。

  • 用户模式设置,这是最古老的驱动类别,仍然受到支持,但只能用于 sc(4) 控制台和较旧版本的 Xorg(1) 图形环境。

要识别系统中安装的图形处理器,可以使用以下命令:

% 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 模块。可用以下命令检查引导模式:

输出示例:

5.2.1. Intel® 显卡

graphics/drm-kmod 包间接提供了一系列用于 Intel® 显卡的内核模块。近期版本的这些模块可以与其他图形处理器在 PRIME 中协同使用,无需特殊配置。

安装 Intel® 显卡驱动:

然后通过以下命令将模块添加到 /etc/rc.conf 文件:

5.2.2. AMD® 显卡

graphics/drm-kmod 包间接提供一系列 AMD® 图形处理器的内核模块。根据硬件代次,可使用 amdgpuradeonkms 模块。FreeBSD 项目维护了一份 AMD 图形支持矩阵,显示支持级别并确定应使用的驱动。

安装 AMD® 显卡驱动:

启用当前模块,将其添加到 /etc/rc.conf

对于旧型号显卡(HD7000/Tahiti 之前),请启用旧版模块:

5.2.3. NVIDIA® 显卡

NVIDIA® 生产独立显卡处理器,并为 FreeBSD 提供专有驱动。FreeBSD Ports 提供了十余年的 NVIDIA 显卡驱动支持。

管理员应安装其硬件支持的最新驱动。

支持的 NVIDIA® 驱动版本、内核模块及支持的硬件如下:

表 2. 支持的 NVIDIA® 显卡驱动版本

安装最新 NVIDIA® 驱动:

启用驱动,将模块添加到 /etc/rc.conf

这是直接渲染的 KMS 驱动。

内核模式设置用于在内核中设置显卡模式。通过以下 loader.conf(5) 可调参数可在后续引导时启用:

PRIME 和 Wayland 均需要内核模式设置。

旧版本驱动不支持直接渲染。请改用 modesetting 模块,执行以下命令:

对于 390 之前版本的 NVIDIA 驱动,请注意它们不支持内核模式设置,因此必须与旧版 sc(4) 控制台驱动和 1.20 之前版本的 x11/xorg-server 配合使用。

/etc/rc.conf 中启用:

某些显卡需要下载特殊固件才能正常工作。fwget(8) 工具可以下载并安装所需文件到 /boot/firmware 目录下。fwget(8) 会扫描 'PCI' 设备并为需要固件的设备下载相应的固件。

最后更新于