当前位置:Linux教程 - Linux文化 - 让Quake3在Linux下顺利运行

让Quake3在Linux下顺利运行


前言

花了不少时间,总算让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了。