本篇介紹如何在 CentOS Linux 7 的系統中,安裝 NVIDIA 顯示卡的驅動程式,啟用 OpenGL 加速功能。


Step 1
使用 lshw 指令檢查一下系統資訊,確認顯示卡的型號:

lshw -numeric -C display
  *-display
       description: VGA compatible controller
       product: GP107GL [Quadro P620] [10DE:1CB6]
       vendor: NVIDIA Corporation [10DE]
       physical id: 0
       bus info: pci@0000:0f:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: vga_controller bus_master cap_list rom
       configuration: driver=nouveau latency=0
       resources: irq:79 memory:fa000000-faffffff memory:d0000000-dfffffff memory:ce000000-cfffffff ioport:ec00(size=128) memory:fbe00000-fbe7ffff

Step 2
NVIDIA 網站 下載最新的顯示卡驅動程式,或是從 Unix Driver Archive 上面直接下載指定版本的驅動程式。

Step 3
安裝編譯器等基本開發工具:

# 安裝開發相關工具
yum groupinstall "Development Tools"

安裝 Linux 核心開發套件,並啟用 EPEL 套件庫:

# 安裝核心開發套件、啟用 EPEL
yum install kernel-devel epel-release

安裝動態核心模組支援(Dynamic Kernel Module Support,DKMS),若不想使用 DKMS 功能,亦可省略這一項:

# 安裝 DKMS
yum install dkms

Step 4
停用 nouveau 這個開放原始碼的顯示卡驅動程式,使用管理者權限編輯 /etc/default/grub 這個 GRUB 設定檔:

# 修改 GRUB 設定
sudo vi /etc/default/grub

GRUB_CMDLINE_LINUX 的參數後方加上 nouveau.modeset=0

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet nouveau.modeset=0"
GRUB_DISABLE_RECOVERY="true"

Step 5
執行 grub2-mkconfig 產生新的 GRUB 設定檔,以下是適用於 BIOS 與 UEFI 的兩個指令,請依照自己的狀況選擇:

# 更新 GRUB 設定檔(BIOS)
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg

# 更新 GRUB 設定檔(UEFI)
$ sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

Step 6
重新啟動作業系統。接著使用 lshw 指令再檢查一下系統資訊,確認 nouveau 已被停用:

lshw -numeric -C display

Step 7
安裝 NVIDIA 驅動程式之前,必須將 X Window 停止,切換成文字模式:

# 停止 X Window
sudo systemctl isolate multi-user.target

Step 8
執行剛剛下載的 NVIDIA 驅動程式安裝檔案:

# 執行 NVIDIA 驅動程式安裝檔案
sudo bash NVIDIA-Linux-x86_64-*.run

Step 9
安裝完成後,重新啟動系統,就可以正常使用 NVIDIA 顯示卡的 OpenGL 加速功能了。

若需要調整顯示卡的細部設定,可以執行 nvidia-settings 這個指令;若要查看 NVIDIA 顯示卡的硬體狀態,可以使用 nvidia-smi 這個指令。

參考資料:LinuxConfig.orgnixCraft