|
发表于 2002-6-26 21:54:25
|
显示全部楼层
让quake3在linux下顺利运行[转帖于LINUXBYTE]
1 前言
2 alsa驱动的安装
3 Nvidia驱动的安装
4 运行quake3
5 感谢
1 前言
花了不少时间,总算让quake3在redhat linux 7.1下顺利运行了,于是想把我的经历写出来,和大家一起分享.我的机器硬件环境如下2 400,TNT2 M64,YMH724+ES1869,HY 128M PC 100.操作系统:redhat linux 7.1.
2 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之类的音乐,顺便调节音量.
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的文件,注意,在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了.
5 感谢
感谢Dr.Watson,hubertzou,张子,他们的精彩文章给了我很大帮助.感谢www.linuxbyte.net,感谢alsa小组,quake3 for linux开发组,nvidia driver for linux开发组,感谢世界上所有为linux做出贡献的公司,个人和团体.
daweicheng
来源:linuxbyte |
|