Chinaunix首页 | 论坛 | 博客
  • 博客访问: 458388
  • 博文数量: 711
  • 博客积分: 3000
  • 博客等级: 中校
  • 技术积分: 4200
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-28 14:18
文章分类

全部博文(711)

文章存档

2011年(1)

2008年(710)

我的朋友

分类:

2008-10-29 11:56:13


  1 前言
  2 alsa驱动的安装
  3 Nvidia驱动的安装
  4 运行quake3
  5 感谢
  
  1 前言
  花了不少时间,总算让quake3在redhat 7.1下顺利运行了,于是想把我的经历写出来,和大家一起分享.我的机器硬件环境如下:P2 400,TNT2 M64,YMH724+ES1869,HY 128M PC 100.操作系统:redhat 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做出贡献的公司,个人和团体.
  
  
  
  
  
【责编:admin】

--------------------next---------------------

阅读(270) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~