軟硬兼施 Linux 系統(tǒng)下如何配置nVIDIA顯卡
一、準備工作
在配置nVIDIA顯卡 之前, 您需要了解所安裝的系統(tǒng)的下列信息:顯示器規(guī)格,顯示卡的芯片類型,顯示卡的顯存容量, 顯示器的規(guī)格被 X11 用來決定顯示的分辨率和刷新率。這些規(guī)格通?梢詮娘@示器所帶的文檔中, 以及制造商的網(wǎng)站找到。 需要知道兩個數(shù)字范圍:垂直刷新率和水平刷新率。 顯示卡的芯片類型將決定 X11 使用什么模塊來驅(qū)動圖形硬件。 絕大多數(shù)的硬件都能被自動檢測,但是了解它在自動檢測出錯的時候還是很有用處的。顯示卡的顯存大小決定了系統(tǒng)支持的分辨率和顏色深度。了解這些限制非常重要。因為安裝驅(qū)動程序可能需要配合核心來編譯,所以會使用到內(nèi)核源代碼,此外,也需要編譯器 ( compiler ) 的幫助,因此,先確定您的 Linux 系統(tǒng)當(dāng)中已經(jīng)下列軟件的存在 :kernel-source 、kernel 、gcc 、make。 打開一個終端,使用命令檢查:
# rpm -qa | grep gcc;rpm -qa | grep make;rpm -qa | grep kernel |
二、 Linux 下3D顯卡相關(guān)知識
·The XFree86 Project
XFree86是由X11R6發(fā)展出來的最初專門給Intel X86 結(jié)構(gòu)PC機使用的X Window的系統(tǒng)。而后XFree86發(fā)展成為幾乎適用于所有類UNIX操作系統(tǒng)的X Window系統(tǒng)。XFree86是一個開放源代碼的基于X11的桌面基礎(chǔ)構(gòu)架。Red Hat 9中使用的X Window系統(tǒng)就是 XFree86 4.3。XFree86從2004年發(fā)布的版本4.4起不再遵從GPL許可證發(fā)行,而是遵循新的XFree86 1.1 許可證。由于XFree86不再遵從GPL許可證發(fā)行,導(dǎo)致許多發(fā)行套件不再使用XFree86,轉(zhuǎn)而使用Xorg。
·The XOrg Foundation(X.org)
Xorg 是由 X.Org 基金會發(fā)行的開放源代碼 X Window 系統(tǒng)實現(xiàn)的 X 服務(wù)。Xorg 遵從GPL許可證發(fā)行。Xorg 基于 XFree86 4.4RC2 和 X11R6.6 的代碼。X.Org 基金會在 2004 年 4 月發(fā)布了 X11R6.7。在 2005 年 2 月發(fā)布了 X11R
·3D API
API是Application Programming Interface的縮寫,是應(yīng)用程序接口的意思,而3D API則是指顯卡與應(yīng)用程序直接的接口。3D API能讓編程人員所設(shè)計的3D軟件只要調(diào)用其API內(nèi)的程序,從而讓API自動和硬件的驅(qū)動程序溝通,啟動3D芯片內(nèi)強大的3D圖形處理功能,從而大幅度地提高了3D程序的設(shè)計效率。
如果沒有3D API在開發(fā)程序時,程序員必須要了解全部的顯卡特性,才能編寫出與顯卡完全匹配的程序,發(fā)揮出全部的顯卡性能。而有了3D API這個顯卡與軟件直接的接口,程序員只需要編寫符合接口的程序代碼,就可以充分發(fā)揮顯卡的不必再去了解硬件的具體性能和參數(shù),這樣就大大簡化了程序開發(fā)的效率。 同樣,顯示芯片廠商根據(jù)標(biāo)準來設(shè)計自己的硬件產(chǎn)品,以達到在API調(diào)用硬件資源時最優(yōu)化,獲得更好的性能。有了3D API,便可實現(xiàn)不同廠家的硬件、軟件最大范圍兼容。比如在最能體現(xiàn)3D API的游戲方面,游戲設(shè)計人員設(shè)計時,不必去考慮具體某款顯卡的特性,而只是按照3D API的接口標(biāo)準來開發(fā)游戲,當(dāng)游戲運行時則直接通過3D API來調(diào)用顯卡的硬件資源。 目前個人電腦中主要應(yīng)用的3D API有DirectX和OpenGL。DirectX目前已經(jīng)成為游戲的主流,市售的絕大部分主流游戲均基于DirectX開發(fā),例如《帝國時代3》、《孤島驚魂》、《使命召喚2》、《Half Life2》等流行的優(yōu)秀游戲。而OpenGL目前則主要應(yīng)用于專業(yè)的圖形工作站,在游戲方面歷史上也曾經(jīng)和DirectX分庭抗禮,產(chǎn)生了一大批的優(yōu)秀游戲,例如《Quake3》、《Half Life》、《榮譽勛章》的前幾部、《反恐精英》等,目前在DirectX的步步進逼之下,采用OpenGL的游戲已經(jīng)越來越少,但也不乏經(jīng)典大作,例如基于OpenGL的《DOOM3》以及采用DOOM3引擎的《Quake4》等,無論過去還是現(xiàn)在,OpenGL在游戲方面的主要代表都是著名的ID Software。
·OpenGL
繼DirectX后,OpenGL可說是下一個最受歡迎的3D API。其實OpenGL比DirectX存在的時間更久,相對于DirectX只可以應(yīng)用在微軟的平臺,OpenGL則可以應(yīng)用在很多不同的操作系統(tǒng)上。目前,大多數(shù)Linux下的3D加速游戲采用的都是OpenGL,因此對于nVIDIA最新的驅(qū)動程序,只需做很小的改動就可以適于大多數(shù)的游戲。Linux下的3D API是基于OpenGL的。OpenGL是個專業(yè)的3D程序接口,是一個功能強大,調(diào)用方便的底層3D圖形庫。OpenGL的前身是SGI公司為其圖形工作站開發(fā)的IRIS GL。IRIS GL是一個工業(yè)標(biāo)準的3D圖形軟件接口,功能雖然強大但是移植性不好,于是SGI公司便在IRIS GL的基礎(chǔ)上開發(fā)了OpenGL。
OpenGL的英文全稱是“Open Graphics Library”,顧名思義,OpenGL便是“開放的圖形程序接口”。雖然DirectX在家用市場全面領(lǐng)先,但在專業(yè)高端繪圖領(lǐng)域,OpenGL是不能被取代的主角。 OpenGL是個與.硬件無關(guān)的軟件接口,可以在不同的平臺如Windows 95、Windows NT、Unix、Linux、MacOS、OS/2之間進行移植。因此,支持OpenGL的軟件具有很好的移植性,可以獲得非常廣泛的應(yīng)用。由于OpenGL是3D圖形的底層圖形庫,沒有提供幾何實體圖元,不能直接用以描述場景。但是,通過一些轉(zhuǎn)換程序,可以很方便地將AutoCAD、3DS等3D圖形設(shè)計軟件制作的DFX和3DS模型文件轉(zhuǎn)換成OpenGL的頂點數(shù)組。
OpenGL不是自由軟件,它的版權(quán)、商標(biāo)(OpenGL這個名字)都歸SGI公司所有。但在Linux下有OpenGL的取代產(chǎn)品:Mesa。Mesa提供和OpenGL幾乎完全一致的接口,對利用OpenGL API編程的人來說,幾乎感覺不到任何差異。Mesa是遵循GPL協(xié)議(部分遵循LGPL協(xié)議)的自由軟件,而且,正是由于Mesa的自由性,它在對新硬件的支持度等方面都超過了OpenGL。Mesa可以從取得。在Linux下開發(fā)OpenGL程序,最常用的工具是GLUT(The OpenGL Utility Toolkit)。它可以創(chuàng)建一個或多個OpenGL窗口,響應(yīng)、處理用戶的交互操作、簡單的彈出式菜單以及一些內(nèi)置的繪圖和字體處理功能。GLUT和OpenGL一樣,可以移植于多種平臺。由于它良好的表現(xiàn),現(xiàn)在它已經(jīng)成為Mesa發(fā)布的標(biāo)準套件之一。
·DRI,全稱 Direct Rendering Infrastructure,是 X 窗口系統(tǒng)里允許應(yīng)用程序以一種安全有效的方式直接訪問顯示設(shè)備的框架。它包括對 X 服務(wù)器,某些X客戶端庫和內(nèi)核的改動。DRI 的第一個主要應(yīng)用是創(chuàng)建快速的 OpenGL 實現(xiàn)。DRI 是 XFree86 4.x 以及其后繼者 X.org 的組成部分,也是 Mesa -個 OpenGL API 的開源實現(xiàn)-的組成部分。有一些3D加速驅(qū)動是按照 DRI 標(biāo)準寫成的,包括 ATI,Matrox,3DFX 和 Intel。 DRI 最初是由 Precision Insight, Inc. (PI) 公司在 Red Hat Inc. 和 SGI 的合作和部分資助下開發(fā)的。隨著 PI 被 VA Linux 所收購,以及后來 VA Linux 退出 Linux 領(lǐng)域,DRI 現(xiàn)在由Tungsten Graphics Inc.公司繼續(xù)維護。該公司由當(dāng)初 PI 公司的一些 DRI 開發(fā)者所創(chuàng)建。Tungsten Graphics 是目前所有 DRI 開發(fā)的焦點,許多開源開發(fā)者通過 sourceforge 上的 DRI 項目繼續(xù)為 DRI 貢獻代碼。