当前位置:操作系统 > Unix/Linux >>

声卡驱动ALSA安装指南(第三版)

版本更新:对安装细节再次进行增强,添加双声卡安装。以0.9.4为例(解决了rh9的安装使用问题)

  ALSA,即Advanced Linux Sound Architecture。它是一款优秀的声卡驱动,能驱动大部分的声卡,而且支持多音频流,支持多声卡等等。使我们能在linux下享受到美妙的音乐。

  当前ALSA最新版本为0.9.4。可于ALSA的官方网站www.alsa-project.org下载。本文以alsa-0.9.4为例。

  安装前准备。如果你曾安装oss商业驱动,需要在安装alsa前先停止oss服务。

  执行:ntsysv 在出现的终端图形配置界面中查询oss服务并取消它。

  之后对/etc/modules.conf进行编辑,将有关oss的部分删除。(可将/etc/modules.conf改名,做为备份。另将/etc/modules.conf.pre-oss改名为modules.conf。

  改名后如有其它设备不能加载,请参考原modules.conf对新的modules.conf进行修改)

  保存重启即可。

  ALSA安装步骤:

  一 ALSA的安装需要linux内核支持及有一个linux内核源码包。

  其实alsa的安装很容易,但关键在于对linux源码包的配置。有些朋友安装alsa不成功,大多问题出在linux源码包设置上。建议各位朋友认真对待这一步的操作。

  1.确认有无内核源码包

  到 /usr/src目录下看看是否有一个名字类似linux-2.x.x-x的目录,100多MB。如果没有就得自己装一个。发行版光盘中带有。

  2. 做一个源码包的链接。

  ln -s linux-2.x.x-x linux (其中linux-2.x.x-x为源码包的目录名称)

  注意:升级过内核的朋友请注意,做链接时应指向当前使用的内核的源码包。

  3.确认内核配置。alsa需要内核支持声卡。一般现在的发行版大多已做了相应配置,自己毋须再做。

  确认方法:执行:modinfo soundcore

  如果返回信息表明有soundcore这个文件,那么表明当前内核已经做了相应配置。可进行alsa的安装。

  另外,少数linux发行版本在安装alsa时可能需要.configure文件,请作以下确认

  执行:cd /usr/src/linux

  ls -a 看是否有.config这个文件。(当前流行的rh8、rh9等版本linux均不需要它。)

  而以下操作仅供内核没有打开相应设置的朋友操作。

  进入内核源码包目录,执行:make xconfig

  在Sound项下的Sound card support需要以模块选中。(sound以外的选项请自己决定)

  保存退出后,执行:make dep

  一般做完这一步就可以了。但之后编译alsa不成功的话,也许需要正式编译一个linux的新内核,以支持alsa的安装。

  注意:关于redhat发行版2.4.20-xx系列内核的问题。

  rehat发行版中,如果是使用最新的2.4.20-xx内核及其源码包,例如redhat9,应该安装alsa-0.9.4版本,而之前的0.9.x是不能安装使用的。虽然alsa能成功编译,但在alsa模块加载时会出错而不能使用。

  二 去www.alsa-project.org下载alsa-0.9.4的源码包

  ftp://ftp.alsa-project.org/pub/driv...r-0.9.4.tar.bz2

  ftp://ftp.alsa-project.org/pub/lib/...b-0.9.4.tar.bz2

  ftp://ftp.alsa-project.org/pub/util...s-0.9.4.tar.bz2

  ftp://ftp.alsa-project.org/pub/tool...s-0.9.4.tar.bz2

  ftp://ftp.alsa-project.org/pub/oss-...s-0.9.4.tar.bz2

  把包放进一个目录,以后所有操作均在该目录下执行。

  解压,执行:

  tar jxvf alsa-driver-0.9.4.tar.bz2

  tar jxvf alsa-lib-0.9.4.tar.bz2

  tar jxvf alsa-utils-0.9.4.tar.bz2

  另外两个我用得不多,有需要的可以自己试用。

  三 编译alsa 执行:

  cd alsa-driver-0.9.4

  ./configure

  注意:如果你知道自己声卡的模块名称,则可以用: ./configure --with-cards=模块名称 如我的是8235芯片的软声卡,则为:./configure --with-cards=via82xx 但如果不清楚的话,还是请用./congfigure 以编译alsa所支持的所有声卡的驱动。

  如果声卡是ISA的pnp声卡,请用./configure --with-isapnp=yes

  ./configure 的详细参数可通过执行:./configure ?help进行查询。

  之后:

  make

  make install

  ./snddevices

  cd utils

  ./alsaconf 之后出现一个终端图形配置界面,一路回车便可以配置好声卡了。

  如果alsaconf没能自动配置你的声卡,那么你可能需要手动配置/etc/modules.conf文件。

  请参考以下字段:

  # ISA PnP support (don't use IRQs 9,10,11,12,13)

  options isapnp isapnp_reserve_irq=9,10,11,12,13

  # ALSA native device support

  alias char-major-116 snd

  options snd major=116 cards_limit=1

  alias snd-card-0 snd-声卡模块名称

  options snd-声卡模块名称 index=0

  # OSS/Free setup

  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

  将以上几段加入/etc/modules.conf。

  之后执行:modprobe snd-声卡模块名称。

  注意:有时第一次执行alsa模块加载操作后,会出现一些出错信息,此时可重启一次系统,再加载一次模块看是否能解决问题。

  如果是双声卡,请手动编辑/etc/modules.conf文件。参考以下字段:

  # ISA PnP support (don't use IRQs 9,10,11,12,13)

  # it's only an example to reserve some IRQs for another hardware

  options isapnp isapnp_reserve_irq=9,10,11,12,13

  # ALSA native device support

  alias char-major-116 snd

  options snd major=116 cards_limit=2

  alias snd-card-0 snd-第一块声卡模块名称

  alias snd-card-1 snd-第二块声卡模块名称

  options snd-第一块声卡模块名称 index=0

  options snd-第二块声卡模块名称 index=1

  # OSS/Free setup

  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

  alias sound-slot-1 snd-card-1

  alias sound-service-1-0 snd-mixer-oss

  alias sound-service-1-3 snd-pcm-oss

  alias sound-service-1-12 snd-pcm-oss

  将以上字段加入/etc/modules.conf

  之后分别执行:modprobe snd-第一块声卡模块名称

  modprobe snd-第二块声卡模块名称

  四 配置

  因为linux默认静音,所以需要配置音量、保存设置并每次启动后加载。

  1.配置音量

  推荐使用alsactl+alsamixer或alsactl+gamix 调整选项很丰富。方法如下:

  a. 进入alsa-lib-0.9.4目录,执行:

  ./configure

  make

  make install

  以上安装alsalib。

  b.进入alsa-utils-0.9.4目录,执行:

  ./configure

  make

  make install

  以上安装alsactl、alsamixer、amixer、aplay工具。

  c.下载gamix

  http://www1.tcnet.ne.jp/fmurata/lin...1.99.p14.tar.gz

  解压:tar zxvf gamix-1.99.p14.tar.gz

  cd gamix-1.99.p14

  ./configure

  make

  make install

  以上安装gamix

  d.以alsactl+gamix为例:

  执行:gamix

  调整合适音量,之后退出。

  注意:在调节音量时,如果播放CD无声,应先检查CD音频线是否正确连接到声卡或主板上。

  至于无法播放mp3或无声,而系统为rh8、rh9的话,应到www.xmms.org下载一个mp3播放插件来支持mp3的播放。推荐使用播放wav文件来调节音量以避免以上情况。

  另外,还需要正确选择声音开/关选项。

  2.保存当前音量配置

  执行:alsactl store

  3.每次启动加载

  提供三种方法。

  第一种方法:(最简单,往系统加入alsasound服务,使用alsa本身的脚本进行控制,第一推荐)

  执行:chkconfig --add alsasound

  之后重启即可。

  第二种方法:(也很简单)

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,