FreeBSD NVIDIA驱动

警告

NVIDIA的FreeBSD驱动似乎不支持 wayland显示服务器协议 ,因为我在官方 FreeBSD x64 Graphics Driver Archive 显卡驱动文档中没有找到配置方法,也没有提到Wayland。

另外,参考 FreeBSD Handbook: Chapter 6. Wayland 配置,启动 sway - i3兼容Wayland compositor 总是报相同的错误,找不到显卡无法构建后端。这个问题我尝试了两次都没有成功,现在暂时放弃

NVIDIA公司提供了官方 FreeBSD x64 Graphics Driver Archive 显卡驱动,不过如果不是追求最新版本,可以采用FreeBSD发行版内置 pkg 管理安装驱动(版本接近最新)。

  • 搜索NVIDIA驱动:

    pkg search nvidia
    
  • 安装最新NVIDIA驱动:

安装NVIDIA驱动
# 安装驱动
# pkg install nvidia-driver

# 我的笔记本显卡 "[GeForce GT 750M Mac Edition]" 太古老,只能使用指定的470.xx驱动
pkg install nvidia-driver-470

也可以同时安装 nvidia-xconfig 提供xorg环境配置:

安装nvidia-xconfig
pkg install nvidia-xconfig

# 生成配置
nvidia-xconfig

备注

上述 nvidia-driver 会安装大量依赖软件包,会同时安装 xorg-server 以及 wayland ,也就是说NVIDIA驱动会同时支持两种图形系统

  • 执行以下命令在启动时加载NVIDIA驱动:

配置启动时加载nvidia驱动
sysrc kld_list+=nvidia-modeset

如果不想重启生效,可以执行以下命令先手工加载驱动:

kldload nvidia-modeset
  • 可选(需要安装 nvidia-xconfig ): 生成X配置文件:

    nvidia-xconfig
    
  • 然后测试X server:

    startx
    

注意,对于比较旧的NVIDIA显卡,使用最新的驱动( 例如我最初没有指定版本,使用了 pkg install nvidia-deiver 默认安装的是最新 550.120 版本 )会无法启动 X Window显示服务器协议 服务,此时检查 /var/log/Xorg.0.log 会看到如下错误:

我的笔记本显卡太老不能使用最新的550版本驱动
[    33.248] (WW) NVIDIA(0): The NVIDIA GeForce GT 750M GPU installed in this system is
[    33.248] (WW) NVIDIA(0):     supported through the NVIDIA 470.xx Legacy drivers. Please
[    33.248] (WW) NVIDIA(0):     visit http://www.nvidia.com/object/unix.html for more
[    33.248] (WW) NVIDIA(0):     information.  The 550.120 NVIDIA driver will ignore this
[    33.248] (WW) NVIDIA(0):     GPU.  Continuing probe...
[    33.248] (EE) No devices detected.
[    33.248] (EE)
Fatal server error:
[    33.248] (EE) no screens found(EE)
[    33.248] (EE)

解决方法是回滚安装旧版本 nvidia-driver :

回滚 nvidia-driver470.161.03 版本以适配 GeForce GT 750M Mac Edition
pkg remove nvidia-driver
pkg install nvidia-driver-470

此时应该看到一个简陋的 twm 图形界面,如果没有问题,则可以:

参考