花了不少時間,總算讓quake3在redhat linux 7.1下順利運行了,於是想把我的經歷寫出來,和大家一起分享.我的機器硬件環境如下:P2 400,TNT2 M64,YMH724+ES1869,HY 128M PC 100.操作系統:redhat linux 7.1。
alsa驅動的安裝
首先,安裝alsa驅動.(為什麼呢?redhat linux 7.1不是有oss驅動可以支持這兩塊聲卡麼?其實我一開始也是用的自帶的驅動,但是在quake3下,除了demo的那個場景,其他場景在運行時居然讓quake3程序起,表現為畫面停滯,聲音不停重復)先到http://www.alsa-project.org/下載 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之類的音樂,順便調節音量。
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應該沒問題了.至此,顯卡驅動安裝完成。
運行quake3
現在去到網上下載一個linuxq3a-1.27g-beta1.tar.gz的文件,注意,在www.quake3arena.com上的最新版程序是個升級版,少了一些文件,而且還要安裝,所以建議下載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了。