How-To : Install NVIDIA graphics driver

Last Update - 04 / 25 / 2008 By DarkRanger .

環境 :

Fedora Core 6

Kernel = 2.6.18-1.2798.fc6

NVIDIA graphics driver 1.0-9746


其實要用 Linux 玩遊戲並沒有那麼困難 , 不過如果是 3D 遊戲的話 , 就必須先確認 Linux 系統是否有完整支援 3D 繪圖的能力 , 而對於 NVIDIA 繪圖晶片的使用者而言 , NVIDIA 公司已經提供了良好的 Linux 驅動程式支援 , 就算不玩 3D 遊戲 , 安裝官方的驅動程式對視窗繪圖的穩定度與準確度也都大有幫助 , 至於安裝部份也頗容易 , 以 Fedora Core 來說 , 安裝方式可分為兩種 : installeryum , yum 是最方便也是 DR 最推薦的安裝方法 ( 有關 yum 的安裝方法請直接參閱第九節 ) , 由於 installer 在流程上會比較繁複 , 以下會先就 installer 作較多的說明 .

( 附註 : 兩種方法都會利用 yum 作套件安裝 , yum 的設定請先參閱此 How-To , 另外提醒一下 , 以下有許多指令都必須要有 root 的權限才行 . )

1. 確認安裝環境 .

首先安裝 kernel-devel 套件 , 這個套件必須要與核心版本吻合 :

# yum install kernel-devel

接著要確認是否有安 裝 pkgconfig 和 xorg-x11-server-sdk 這兩個套件 , 可以用 rpm 這個指令來搜尋 :

#  rpm -q pkgconfig xorg-x11-server-sdk

例如 DR 就缺了 xorg-x11-server-sdk :

#  yum install xorg-x11-server-sdk

除此之外 , 可以先執行 glxgears 這個 3D 測試指令 , 它會列出繪圖的每秒張數 ( FPS ) , 可以先記錄下來 , 看看安裝驅動程式前後的效能差異 :

# glxgears 

2. 下載  Linux 驅動程式 .

請 至 NVIDIA Unix Drivers 或者是 nV News 討論區 下載 , 注意 : TNT / TNT2 / GeForce 256 / GeForce 2 系列晶片用的是 legacy 版的驅動程式 , 詳情請參閱 README .

3. 安裝 .

安裝之前你必須要關閉 X , 可以用 Ctrl + Alt + F1 切換到文字介面 , 然後下這個指令 :

# init 3 

然後執行 installer 進行安裝 :

# sh NVIDIA-Linux-x86_64-1.0-9746-pkg2.run

4. SELinux .

有啟用 SELinux 的使用者必須注意 ( DR 預 設都是關閉的 ) , 要成功啟動 NVIDIA 驅動程式 , 第一個方法就是關閉它 , 而第二個方法則必須執行以下指令 .

x86 系統 :

# chcon -t texrel_shlib_t /usr/lib/xorg/modules/drivers/nvidia_drv.so
# chcon -t texrel_shlib_t /usr/lib/xorg/modules/extensions/libglx.so.1.0.9746
# chcon -t texrel_shlib_t /usr/lib/tls/libnvidia-tls.so.1
# chcon -t texrel_shlib_t /usr/lib/libGLcore.so.1.0.9746

x86-64 系統 :

# chcon -t texrel_shlib_t /usr/lib64/xorg/modules/drivers/nvidia_drv.so
# chcon -t texrel_shlib_t /usr/lib64/xorg/modules/extensions/libglx.so.1.0.9746
# chcon -t texrel_shlib_t /usr/lib64/libGLcore.so.1.0.9746
# chcon -t texrel_shlib_t /usr/lib64/tls/libnvidia-tls.so.1

5. 編輯與設定 

安裝了驅動程式之後 , 還必須編輯 X 的設定檔使其生效 , 通常安裝程式最後會詢問是否要自動編輯 , 按是的話它就會自動更改 X 的設定 , 如果之後要再執行自動編輯 , 只要下達這個指令 :

# nvidia-xconfig

如果打算手動編輯 , 或是確認編輯是否正確 , 可以開啟 /etc/X11/xorg.conf 這個文件 :

# vi /etc/X11/xorg.conf

第一步先確認顯示卡 的驅動程式是否為 nvidia :

Driver "nvidia"

然後在 Section "Module" 的部份確認這行有存在 :

Load "glx"

另外根據測試 , Module 部份還必須加上這行 :

Load "extmod"

這樣諸如 Beryl 的 3D 視窗管理器或是一些遊戲才能正常運作 , 最後並再確認是否已刪 除了這兩行 :

Load "dri"
Load "GLCore"

如果做了任何更改 , 別忘了要存檔 .

6. 啟動與測試

DR 曾經在自編核心上碰到無法正常啟動 X 的問題 , 後來的解決方法是在安裝之後下這個指令 :

# modprobe nvidia

啟動 X 的指令 :

# init 5

或是 :

# startx

開頭出現 NVIDIA 標誌的話 , 就表示驅動程式載入成功 , 進入 X 後 , 可以使用這個指令來查閱 3D 繪 圖的運作情形 :

# glxinfo | grep direct

回報 yes 的話就應該沒有問題才是 , 另外也可以執行 glxgears 來看看張數是否有所提升 , 至於 NVIDIA 所提供的設定工具為 :

# nvidia-setting


效能測試部份還可以找一些遊戲來作測試 , 例如免費的 Wolfenstein : Enemy Territory 等等 .

7. 進階編輯

如果繪圖效能上出現問題 , 可能得研究一下 AGP 的部份 , 可以在 xorg.conf 內 , Section "Device" 的最後面加入 :

Option "NvAGP " "1"

參數部份 :
0 = 關閉 AGP 支援
1 = 使用 NVIDIA 的 NVAGP 模組
2 = 使用核心內建的 AGPGART 模組
3 = 先嘗試用 AGPGART , 如果不行則改用 NVAGP ( 3 為預設值 )

一般來說 AGPGART 的穩定度與效能都較佳 , 有問題才考慮使用 NVAGP .

如果要啟動驅動程式內建的超頻工具 , 在 Section "Device" 的最後面加入 :

Option "Coolbits" "1"

存檔並重新啟動 X 後 , 再執行設定工具就會出現運作時脈的調整選項 :



如果欲使用 NVClock 作超頻 , 請參考這篇  How-To .

做了任何變更後 , 都必須要重新啟動 X , 快速指令為 :

# init 3 ; init 5

8. 移除驅動程式

如果更新了 Xorg 套件 ,  可能會影響官方驅動程式的運作 , 通常只要先移除驅動程式再重新安裝即可 , 移除的指令如下 :

# nvidia-installer --uninstall

9. yum 的安裝方法 :

非常簡單 , 只要參照開頭連結的 How-To 設定 livna 站台後 , 下這個安裝指令再重新啟動 X 即可 .

# yum install kmod-nvidia

10. 問題的參考資源

如果還有其它問題 , 建議可先參閱官方的 README 以及底下的參考網站 .

參考網站 :

http://www.nvidia.com

http://www.phoronix.com

http://www.icculus.org/lgfaq/

http://www.nvnews.net/vbulletin/forumdisplay.php?f=14

http://www.mjmwired.net/resources/mjm-fedora-fc5.html#nvidia

http://www.linux-gamers.net/modules/wiwimod/index.php?page=HOWTO+NVidia&back=HOWTO+INDEX+Hardware

Back to DarkRanger.no-ip.org