隨著3D圖形顯示芯片的激烈市場競爭,S3、3Dfx、Matrox 、Trident等一些老牌3D顯示芯片生產(chǎn)廠商已經(jīng)漸漸退出了市場。nVIDIA、ATi、Intel三家生產(chǎn)廠商占有95%以上的市場份額。在Linux安裝3D顯卡的驅(qū)動是有一定難度的。升級Linux驅(qū)動程序需要做一系列的決定,包括正確識別處理器配置狀況,查明驅(qū)動程序工作在什么樣的Linux內(nèi)核當(dāng)中。在Linux中使用的圖形顯示系統(tǒng)是X-Window,但是由于與常見的MS Windows系統(tǒng)有很大的差異,所以在使用時,即使有時面對的是很小的問題,卻不知才能如何解決,比如無法驅(qū)動顯卡,顯示器參數(shù)錯誤,花屏,圖形界面無法啟動等。這里首先向大家講述,X-Window的概述,如何安裝主流3D顯卡的驅(qū)動程序,相關(guān)的配置文件,以及參數(shù)調(diào)整等內(nèi)容。本文應(yīng)用環(huán)境是Redhat Linux 9.0。
一、X-Window和顯卡配置文件的概述
XFree86是X Window系統(tǒng)的一種開放源代碼的實現(xiàn)。它提供了一種對鼠標(biāo)、鍵盤、顯卡和窗口圖形環(huán)境的Client-Server接口。所以客戶端程序可以運行在不同的主機上,由一臺服務(wù)器提供X Window的Server服務(wù)。X Client將希望顯示的圖形發(fā)送到X Server,X Server將圖形顯示在顯示器上,同時為X Client提供鼠標(biāo)鍵盤的輸入服務(wù)。可以將X的Server和Client分別運行在兩臺計算機上,使用startx命令可以啟動X-Window,在同一臺計算機上同時運行的Server和Client,通常運行startx后,首先啟動的是XFree86,它是Linux平臺最常用的X的Server端,然后,又運行X的Client程序,如startkde(KDE的啟動程序)或gnome-session(GNOME的啟動程序),他們利用X協(xié)議連接本機的X Server,將圖形顯示出來。X-Window的 C/S結(jié)構(gòu)還擁有網(wǎng)絡(luò)特性這是微軟操作系統(tǒng)沒有的,以將X的Server和Client分別運行在兩臺計算機上,甚至可以安裝一些軟件,讓W(xué)indows作為X Server,讓Linux作為Client,將KDE或GNOME等桌面環(huán)境顯示到Windows主機上來。圖1是X-Window工作原理圖。
![]("http://linux.chinaitlab.com/imgfiles/2005.10.18.11.52.59.14.1.jpg")
Linux的X Server程序就是XFree86,它的任務(wù)是驅(qū)動顯示卡、顯示器、鼠標(biāo)、鍵盤等設(shè)備,為X Client提供顯示服務(wù)、輸入服務(wù)等。XFree86的主要文件是:
/usr/X11R6 XFree86文件所在的主要目錄
/usr/X11R6/bin XFree86的可執(zhí)行程序文件
/usr/X11R6/lib/modules/drivers XFree86自帶的驅(qū)動程序所在的目錄
/etc/X11 X的配置文件及啟動腳本所在目錄
/etc/X11/XF86Config 或 XF86Config-4 XFree86的啟動配置文件
XFree86自帶了一些設(shè)備的驅(qū)動,具體位置在 /usr/X11R6/lib/modules/drivers,如果你的顯示卡太新無法使用X-Window,你可以考慮升級XFree86。目前當(dāng)前的XFree86成熟的版本是4.5.0,下載站點ftp://ftp.xfree86.org/pub/XFree86/4.5.0/ ,XFree86官方的版本下載網(wǎng)站是http://www.xfree86.org/downloads.html ,中國的鏡像網(wǎng)站是:http://xfree86.linuxforum.net/downloads.html 。
兩個組織:由于下面筆者安裝Linux顯卡驅(qū)動時要涉及兩個組織XFree86 和XOrg。這里簡單介紹一下:
www.xfree86.org :XFree86是對 X11 的一個開放源碼的實現(xiàn)。最初它開發(fā)運行在 Intel x86 PC 上,因此得名。現(xiàn)在,它可以運行在主要的硬件架構(gòu)和操作系統(tǒng)上,包括 Linux、OS/2,Darwin,Mac OS X 和 Windows。最新版本:2005年3月16日發(fā)布的4.5.0 。下載站點:ftp://ftp.xfree86.org/pub/XFree86/4.5.0/
www.X.Org:XOrg基金會的X11開源實現(xiàn) (XOrg Foundation Open Source Public Implementation of X11) 它是X Window System的官方參考實現(xiàn)。當(dāng)前的發(fā)布版本是X11R6.8.2,發(fā)布于2005年2月10日。它是開放源代碼的自由軟件。這個項目由X.Org基金會運作,存放于freedesktop.org的主機上。由于在XFree86 4.4最終版本采用新許可證問題上的分歧,Xorg服務(wù)器的第一個版本X11R6.7.0從XFree86 4.4 RC2派生出來,并加入了X11R6.6的一些改動。最新版本:X11R6.8.2。
在Linux中使用以上兩個組織的驅(qū)動都可以實現(xiàn)3D加速,本文以前者為準(zhǔn)。
其它術(shù)語:
什么是 DRI?
Direct Rendering Infrastructure (dri.sourceforge.net),也被稱為 DRI,中文名稱直接著色基礎(chǔ)結(jié)構(gòu)。它是一個安全且有效率地直接對顯示硬件存取的方法。它包含對 X server、一些 client 函數(shù)庫、以及內(nèi)核的變更。DRI 的第一個主要目的就是提供高效能的 OpenGL 支持。
二、安裝前準(zhǔn)備工作
因為安裝驅(qū)動程序可能需要配合核心來編譯,所以會使用到內(nèi)核源代碼,此外,也需要編譯器 ( compiler ) 的幫助,因此,先確定您的 Linux 系統(tǒng)當(dāng)中已經(jīng)下列軟件的存在 :kernel-source 、kernel 、gcc 、make、qt。 打開一個終端,使用命令檢查:
# rpm -qa | grep gcc;rpm -qa | grep qt;
rpm -qa | grep make;rpm -qa | grep kernel
三、nVIDIA顯卡安裝
當(dāng)前主流3D顯卡市場上,nVIDIA公司已經(jīng)是寡頭稱雄排名第一,nVIDIA出品的Linux驅(qū)動安裝軟件工具包將自動檢查計算機的各種細(xì)節(jié),并能自動安裝好各種驅(qū)動程序。這里介紹一下驅(qū)動安裝、升級的簡單過程。XFree86自帶的驅(qū)動程序只包括了nVIDIA 2D加速,如果需要獲取更好的3D加速效果,需要安裝nVIDIA專用驅(qū)動軟件工具包。3D 硬件加速在需要繪制三度空間對象的時候是非常寶貴的,例如游戲、3D CAD、以及 3D 成像。 首先測試安裝3D驅(qū)動程序前的顯卡速度,打開一個桌面終端運行見圖2.
#glxgears
![]("http://linux.chinaitlab.com/imgfiles/2005.10.18.11.53.9.14.3.jpg")
圖2 顯卡性能測試界面
glxgears是一個測試你的Linux是否可以順利運行2D、3D的測試軟件,這個程序彈出一個窗口,里面有三個轉(zhuǎn)動的齒輪。屏幕將顯示出每五秒鐘轉(zhuǎn)動多少柵,所以這是一個合理的性能測試。窗戶是可以放縮的,柵數(shù)多少極大程度上依賴于窗口的大小。如果你的顯示卡夠好,而且你的驅(qū)動程序也配合得很好,那齒輪就跑得越快。有些極品顯卡(SLI 6800 Ultra)執(zhí)行g(shù)lxgears之后,快到連齒輪都看不清。這里請記錄下FPS數(shù)字(每秒的幀速度)以鑒別3D加速效果。
由于nVIDIA公司的產(chǎn)品線非常長,所以需要根據(jù)你使用的顯卡芯片型號選擇合適的驅(qū)動程序(官方Linux驅(qū)動網(wǎng)址:http://www.nVIDIA.com/object/unix.html)。最新版本的驅(qū)動程序是:7676。適合的顯卡芯片:第四代GeForce顯卡芯片到 GeForce 6800 Ultra。另外還要中央處理器型號選擇驅(qū)動類型,使用LGA775 64位Intel Pentium4 、Pentium D 、CeleronD 中央處理器和Turion64、64位Sempron 、Athlon64 的AMD中央處理器使用Linux AMD64/EM64T驅(qū)動程序:IAnVIDIA-Linux-x86_64-1.0-7676-pkg2.run ,其他X86處理器使用IA32驅(qū)動程序。本文以后者為例,下載鏈接:http://download.nVIDIA.com/XFree86/Linux-x86/1.0-7676/nVIDIA-Linux-x86-1.0-7676-pkg1.run ;但是如果你使用教老的顯卡芯片比如:RIVA TNT、RIVA TNT2/TNT2 Pro 、RIVA TNT2 Ultra、Vanta/Vanta LT 、RIVA TNT2 Model 64/Model 64 Pro、Aladdin TNT2 、GeForce 256 、 GeForce DDR 、Quadro 、GeForce2 GTS/GeForce2 Pro 、GeForce2 Ti 、 GeForce2 Ultra 、 Quadro2 Pro 。請使用舊版本驅(qū)動程序:如4363。下載鏈接:http://cosoft.org.cn/html/osl/download.php?file_id=7980&f=nVIDIA-Linux-x86-1.0-4363.run&g_u_n=nx4d 。
1.安裝過程:
關(guān)閉SElinux
使用Fedora Core 3 、Fedora Core 4 Linux或Red Had Enterprise Linux 4 的用戶要首先關(guān)閉SElinux,方法是修改/etc/selinux/config文件中的SELINUX="" 為 disabled ,然后重啟服務(wù)器。
2.切換到命令行工作環(huán)境安裝
使用命令或組合鍵“Ctrl+shift+Backspace”退出X-window,進入命令行:
#init 3
#./nVIDIA-Linux-x86-1.0-7676-pkg1.run
系統(tǒng)會自動連接到WWW.nVIDIA.COM 網(wǎng)站檢查驅(qū)動程序是否需要更新,如果需要會自動進行更新并且安裝,見圖-3。
![]("http://linux.chinaitlab.com/imgfiles/2005.10.18.11.53.26.14.4.jpg")
圖3 nVIDIA顯卡驅(qū)動安裝界面
3.修改配置文件
修改配置文件:/etc/X11/xorg.conf把“Driver "nv"”(或者Driver "vesa"、 Driver "fbdev")修改為Driver "nVIDIA";在Section "Module" 字段:
刪掉 Load "dri" 和 Load "GLCore",加入Load "glx"。
4.測試
使用命令“startx”重新啟動X-windw。然后運行
#glxinfo | grep rendering
direct rendering: Yes #OpenGl已經(jīng)打開
另外可以使用glxinfo查看AGP總線、GPU型號等信息。下面還要使用glxgears查看安裝3D驅(qū)動程序后的FPS數(shù)字(每秒的幀速度)以鑒別3D加速效果。
5.使用nVIDIA-settins工具
7676版本的nVIDIA驅(qū)動集成了一個圖形化的顯卡設(shè)置工具,使用方法是在X-window運行見圖4:
#nVIDIA-settings
![]("http://linux.chinaitlab.com/imgfiles/2005.10.18.11.53.18.14.5.jpg")
圖4 nVIDIA設(shè)置工具界面
具體如何設(shè)置請請教游戲玩家筆者就不贅述了。設(shè)置結(jié)束后要保存設(shè)置否則下次系統(tǒng)啟動時,會失效。方法是編輯/etc/X11/xinit/xinitrc玩家加入一行:nVIDIA-settins -1