红联Linux门户
Linux帮助

教你怎样让Quake 3在Linux下顺利运行

发布时间:2006-09-25 10:34:49来源:红联作者:yinzelei
  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程序挂起,表现为画面停滞,声音不停重复)先到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
文章评论

共有 2 条评论

  1. yinzelei 于 2006-09-25 10:36:40发表:

      如果你也有两块声卡,只需将两块声卡的型号换成你的就可以了。

      之后,运行: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的情况下,运行:

    [code]rpm -Uvh NVIDIA_kernel-1.0-1251.rh71up.i386.rpm
    rpm -Uvh NVIDIA_GLX-1.0-1251.i386.rpm[/code]

      如果安装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了。

  2. yinzelei 于 2006-09-25 10:35:29发表:

      再后进入alsa-utils-0.5.10,连续运行以下两个命令:

      ./configure
      make install

      下面该编辑/etc/modules.conf文件了,如果你只有一块声卡,在其中加入这么几行:

    [code]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[/code]

      由于我有两块声卡,所以我加入的内容如下:

    [code]# 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[/code]