讓quake3在linux下順利執行(轉)

ba發表於2007-08-12
讓quake3在linux下順利執行(轉)[@more@]本文做參考

1 前言
2 alsa驅動的安裝
3 Nvidia驅動的安裝
4 執行quake3
5 感謝

1 前言

花了不少時間,總算讓quake3在redhat linux 7.1下順利執行了,於是想把我的經歷寫出來,和大家一起分享.我的機器硬體環境如下:P2 400,TNT2 M64,YMH724+ES1869,HY 128M PC 100.作業系統:redhat linux 7.1.

2 alsa驅動的安裝

首先,安裝alsa驅動.(為什麼呢?redhat linux 7.1不是有oss驅動可以支援這兩塊音效卡麼?其實我一開始也是用的自帶的驅動,但是在quake3下,除了demo的那個場景,其他場景在執行時居然讓quake3程式掛起,表現為畫面停滯,聲音不停重複)先到下載 alsa-driver-0.5.11.tar.bz2
alsa-utils-0.5.10.tar.bz2
alsa-lib-0.5.10b.tar.bz2
三個軟體包.用bunzip2 alsa-driver-0.5.11.tar.bz2和tar vfx alsa-driver-0.5.11.tar解開軟體包,另外兩個包做同樣處理.如果是redhat linux 7.1,在安裝之前,執行以下命令:cd /usr/src
ln -s linux-2.4.2 linux,將linux-2.4.2做個鏈結.
然後進入alsa-driver-0.5.11的目錄,連續執行以下三個命令:
./configure
(如果你的音效卡屬於ISA即插即用型別,請輸入./configure --with-isapnp=yes)
make install(這一步耗時n久,需要耐心等待)
./snddevices
之後進入alsa-lib-0.5.10b, 連續執行以下兩個命令:
./configure
make install
再後進入alsa-utils-0.5.10,連續執行以下兩個命令:
./configure
make install
下面該編輯/etc/modules.conf檔案了,如果你只有一塊音效卡,在其中加入這麼幾行alias char-major-116 snd
alias snd-card-0 snd-card-xxx # 注:其中xxx是你的音效卡型號,如ymfpci
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
由於我有兩塊音效卡,所以我加入的內容如下:
# ALSA portion
alias char-major-116 snd
# OSS/Free portion
alias char-major-14 soundcore
# ALSA portion
alias snd-card-0 snd-card-ymfpci
# OSS/Free portion
alias sound-slot-0 snd-card-0
# OSS/Free portion - card #1
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
# ALSA portion
alias snd-card-1 snd-card-es18xx
# OSS/Free portion
alias sound-slot-1 snd-card-1
# OSS/Free portion - card #2
alias sound-service-1-0 snd-mixer-oss
alias sound-service-1-1 snd-seq-oss
alias sound-service-1-3 snd-pcm-oss
alias sound-service-1-8 snd-seq-oss
alias sound-service-1-12 snd-pcm-oss
如果你也有兩塊音效卡,只需將兩塊音效卡的型號換成你的就可以了.
之後,執行:alsamixer,於是看見了有條狀圖形的混音器,按 上下左右 游標鍵調節,注意,如果條狀圖上有"MM"的字樣,說明是靜音,按 m 鍵將靜音去掉.調號之後,按esc退出(如果有兩塊音效卡,用alsamixer -c 0來調節第一塊,用alsamixer -c 1來調節第二塊)下面要儲存剛才的配置了:alsactl store 這樣設定被儲存.如果以後在圖形介面的混音器將音量調亂了,可以用alsactl restore恢復儲存了的設定.
好了,現在音效卡驅動安裝完成,可以試聽一些mp3,cd,midi之類的音樂,順便調節音量.

3 Nvidia驅動的安裝

下面要安裝Nvidia的驅動了(其實redhat linux 7.1的光碟裡的MesaGL驅動也能"執行"quake3,但速度太慢了.如果是其他顯示卡,可以去網上下載相應的驅動,然後看看readme之類的檔案,按照說明安裝,以獲得最佳效果)先去nvidia的主頁下載兩個rpm包:NVIDIA_GLX-1.0-1251.i386.rpm,第二個rpm包要按照你的系統情況下載,如果是redhat linux 7.1,one CPU, uniprocessor kernel,下載NVIDIA_kernel-1.0-1251.rh71up.i386.rpm,如果是RedHat 7.1, SMP kernel,下載NVIDIA_kernel-1.0-1251.rh71smp.i386.rpm,我的核心是單處理器版本,我下載的是前者.這兩個rpm包需要xfree86 4.x的支援,版本低的話不能安裝.在linux沒有執行xwindow的情況下,執行:
rpm -Uvh NVIDIA_kernel-1.0-1251.rh71up.i386.rpm
rpm -Uvh NVIDIA_GLX-1.0-1251.i386.rpm
如果安裝linux時選了MesaGL驅動,安裝第二個包時會有個警告,告訴你他將有衝突的檔案改了名稱.檢查/etc/conf.modules或modules.conf(redhat 7.0開始採用) 有沒有這麼一句:alias char-major-195 NVdriver ,沒有的話自己加上.接著,修改/etc/X11/XF86Config-4,把
Driver "nv"
改為
Driver "nvidia"
看看在Section "Module" 段中有沒有Load "glx"這行,沒有的話加上.
如果有Load "dri"
Load "GLcore"
這兩行,請在這兩行前面加個#號將這兩行註釋掉.
此時執行startx,如果失敗,則需要在/etc/X11/XF86Config-4中的Section "Screen" 段中加上:Option "NvAgp" "0" ,再startx應該沒問題了.至此,顯示卡驅動安裝完成.

4 執行quake3

現在去到網上下載一個linuxq3a-1.27g-beta1.tar.gz的檔案,注意,在上的最新版程式是個升級版,少了一些檔案,而且還要安裝,所以建議下載linuxq3a-1.27g-beta1.tar.gz.用
tar zxvf linuxq3a-1.27g-beta1.tar.gz解開打包的檔案.將會生成目錄quake3,子目錄baseq3和missionpack.在主目錄下的檔案quake3.x86就是可執行檔案.現在把quake3的光碟放進光碟機,將baseq3下的pk0.pk3複製到Q3A for linux的baseq3子目錄下(如果你的硬碟不夠大,可以將pk0.pk3做個符號連結到baseq3下.)執行quake3.x86,便可以在linux下跑quake3了,如果你有quake3 team arena的光碟,把光碟中missionpack目錄下的pk0.pk3複製到(或做連結)Q3A for linux的missionpack下,這樣你就能玩quake3 team arena了.

5 感謝

感謝Dr.Watson,hubertzou,張子,他們的精彩文章給了我很大幫助.感謝,感謝alsa小組,quake3 for linux開發組,nvidia driver for linux開發組,感謝世界上所有為linux做出貢獻的公司,個人和團體.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-949844/,如需轉載,請註明出處,否則將追究法律責任。

相關文章