FreeBSD 已從 Linux 移植了顯示卡驅動,理論上,A 卡 N 卡均可在 amd64 架構上正常執行。
支援情況
對於 FreeBSD 11,支援情況同 Linux 核心 4.11;
對於 FreeBSD 12,支援情況同 Linux 核心 4.16;
對於 FreeBSD 13,支援情況同 Linux 5.4,最高可以支援 Intel 第十二代處理器。
詳細情況可以看
Graphics - FreeBSD Wiki
英特爾核顯 / AMD 獨顯
安裝驅動
注意,如果要通過 ports 安裝必須先取得系統原始碼。請見第二十一章。
FreeBSD 12.0:#pkg install drm-fbsd12.0-kmod
注意:除了 12.0,對於任意 12.X 均應該安裝 drm-fbsd12.0-kmod
,但應該使用 port 在本地重新構建而不應該使用 pkg 進行安裝,否則不會正常執行。
FreeBSD 13:# pkg install drm-fbsd13-kmod
FreeBSD 14:# cd /usr/ports/graphics/drm-kmod/ && make BATCH=yes install clean
載入顯示卡
開啟/etc/rc.conf
:
如果為 intel 核芯顯示卡,新增kld_list="i915kms"
如果為 HD7000 以後的 AMD 顯示卡,新增kld_list="amdgpu"
如果為 HD7000 以前的 AMD 顯示卡,新增kld_list="radeonkms"
視訊硬解
# pkg install xf86-video-intel libva-intel-driver
英偉達顯示卡
#安裝幾個 nvidia 相關的包
# pkg install nvidia-driver nvidia-settings nvidia-xconfig
#配置驅動
# sysrc kld_list+="nvidia-modeset"
重啟 這時候應該已經可以點亮圖形介面了……
# 檢視驅動資訊
$ nvidia-smi
如果發現系統沒有使用 nvidia 驅動 需要自動生成配置檔案
# Xorg -configure #生成配置檔案。注意,該步驟不是必要!
# cp /root/xorg.conf.new /etc/X11/xorg.conf
然後重新啟動就可以發現正常使用 nvidia 驅動了
注意: 預設情況下,通過 pkg 安裝的 nvidia-driver 是包含 linux
相容層支援的, 如果要使用 Linux 軟體,需要執行以下命令,(實際上使用linux相容層,以下命令是必須的。) 如果不需要使用 Linux 相容層,則不需要執行。
# sysrc linux_enable="YES"
當然如果使用官方的 pkg 包,安裝好驅動重啟後
$ kldstat
會發現系統自動載入 linux.ko
模組。如果覺得太臃腫,不需要 Linux 相容層 可以自己編譯 nvidia-driver ports
,去掉 linux compatibility support