(轉貼請不要刪除作者,尊重作者的勞動,謝謝!)
本文是以VIA KM400顯卡芯片為例,介紹在紅旗Linux6.0 SP1中如何安裝開源OpenChrome顯卡驅動,分別成功將顯卡2D和3D功能驅動。當然本文也可以為以下顯卡芯片:UniChrome和UniChromePro顯示芯片組(CLE266, KN400, KM400,K8M800, PM800, CN400, VN800,K8M890)作參考。
一,編譯安裝OpenChrome 2D
1,下載OpenChrome
先建一個目錄,名為openchrome,進入該目錄運行以下命令下載OpenChrome源代碼
svn co http://svn.openchrome.org/svn/trunk/
有時會出現svn: Unrecognized URL scheme for 'http://svn.openchrome.org/svn/trunk'的錯誤信息,說URL不正確,請多試幾次,或隔幾天再試。不信可以用浏覽器看看http://svn.openchrome.org/svn/trunk,顯示的內容就是源碼。我也不知道如何解決這個問題。本人也是在第二天才下載下來的。
2,預編譯OpenChrome
確認自己仍在openchrome目錄下,運行以下命令預編譯源碼
./autogen.sh --prefix=/usr/
3,編譯OpenChrome
確認自己仍在openchrome目錄下,運行以下命令編譯源碼
make
4,安裝OpenChrome
確認自己仍在openchrome目錄下,且確保當前的用戶有對/usr目錄的寫權限,如果不清楚,請切換到root用戶再運行以下命令安裝OpenChrome
make install
5,設置顯卡配
確認當前用戶有對/etc/X11/xorg.conf 配置文件的寫權限,如果沒有請切換到root用戶再操作。安全起見請先備份一下/etc/X11/xorg.conf 配置文件。當修改有誤時就可以立即還原到以前正確配置了。
用kwrite文本工具打開/etc/X11/xorg.conf 配置文件,
找到Section "Device"
將其中的Driver "via" 改成 Driver "openchrome"
由於該驅動還沒有3D功能,所以
找到Section "Module"
刪除或用#屏蔽該行 Load "dri"
重啟電腦,能夠進入系統,證明2D驅動成功。
二,編譯安裝OpenChrome 3D
要驅動3D還需要編譯drm和mesa這兩個東西
a,編譯安裝drm
1,下載drm源代碼
要下載drm源代碼,需要一個名叫git的工具,請到http://git.or.cz/下載安裝
,之後用下面命令下載。
git clone git://anongit.freedesktop.org/git/mesa/drm
下載完成後,在當前目錄就會出現drm的目錄。
2,預編譯drm源代碼
確認已在drm目錄中,用以下命令進行預編譯
./autogen.sh --prefix=/usr
3,編譯drm源代碼
確認已在drm目錄中,用以下命令進行編譯
make
4,安裝drm
確認自己仍在drm目錄下,且確保當前的用戶有對/usr目錄的寫權限,如果不清楚,請切換到root用戶再運行以下命令安裝drm
make install
5,編譯kernel模塊
進入drm目錄中的linux-core
運行以下命令進行編譯
make LINUXDIR=/lib/modules/`uname -r`/build DRM_MODULES=via
6,拷貝編譯好的模塊/lib/modules/`uname -r`/kernel/drivers/char/drm/
uname -r 在紅旗Linux6.0 sp1 中代表2.6.23.1-4也就算kernel的版本號。
確認自己在linux-core目錄中,且確保當前的用戶有對/lib/modules/`uname -r`/kernel/drivers/char/drm/目錄的寫權限,如果不清楚,請切換到root用戶再運行以下命令拷貝模塊
cp *.ko /lib/modules/`uname -r`/kernel/drivers/char/drm/
b,編譯安裝mesa
1,下載meas,大小有32M,由於網速很慢。需要耐心等待幾個小時才行哦。
用以下命令進行下載
git clone git://anongit.freedesktop.org/git/mesa/mesa
在編譯之前請多備份幾份mesa,因為在編譯是可能出錯,而出錯後進行了一些修改還是不能編譯通過,而只有用干淨的mesa源碼,提前修改才有效,這只是我在紅旗Linux6.0 sp1 上編譯的經驗。
2,設置環境變了
用以下命令設置環境變了,可選擇的值有
i810 i830 i915 mach64 mga r128 r200 radeon s3v savage sis tdfx trident unichrome r300。
命令
DRI_DIRS=unichrome
3,編譯mesa
在我的機器上src/mesa/drivers/dri/目錄下的 i830和i915兩個目錄編譯會出錯,由於我的顯卡芯片是VIA KM400,需要的只是unichrome,所以不想試驗的朋友可以直接刪除src/mesa/drivers/dri/目錄下的 i830和i915兩個目錄。並確認自己在mesa目錄下,運行下列命令編譯mesa。如果,一旦出現類似上面的錯誤,可以直接刪掉相應的文件夾。只要對應自己顯卡芯片的文件夾不出錯就好。向VIA KM400只要unichrome不錯就可以。
命令
make linux-dri-x86
4,安裝mesa 3D 驅動
確認自己在mesa目錄下,並確保當前的用戶有對/usr/lib/dri/目錄的寫權限,如果不清楚,請切換到root用戶再運行以下命令拷貝模塊
cp lib/*_dri.so /usr/lib/dri/
再將mesa/lib目錄裡非*_dri.so的文件拷貝到/usr/lib目錄中。
非*_dri.so的文件,意思就是說像libGL.so.1.2這樣,只要沒有_dri這樣的字樣就要拷過去。
5,設置顯卡配
確認當前用戶有對/etc/X11/xorg.conf 配置文件的寫權限,如果沒有請切換到root用戶再操作。安全起見請先備份一下/etc/X11/xorg.conf 配置文件。當修改有誤時就可以立即還原到以前正確配置了。
用kwrite文本工具打開/etc/X11/xorg.conf 配置文件,
找到Section "Module"
將被#屏蔽該行 Load "dri",去掉#而啟用dri
如沒有,就加上一行Load "dri"
就像這樣
Section "Module"
# Load "synaptics"
Load "dbe"
Load "freetype"
Load "extmod"
Load "record"
Load "v4l"
Load "type1"
Load "dri"
Load "glx"
EndSection
重啟電腦。此時可以用命令行看看3D效果如何
命令LIBGL_DEBUG=verbose glxinfo 或 直接glxinfo,此時出現了direct rendering: Yes且沒如何錯誤消息提示,證明3D驅動成功了。
命令glxgears可以看看3D性能,沒5秒會顯卡幀數。看看幀數是不是成倍提高了呢。呵呵,興奮吧。來再告訴你一個3D游戲的網址,體驗體驗linux下的3D游戲吧,和CS相似,還能internet隊戰哦!http://tremulous.net/
謝謝耐心看完本文,祝你成功!