ALSA,即Advanced Linux Sound Architecture。它是一款优秀的声卡驱动,能驱动大部分的声卡,而且支持多音频流,支持多声卡等等。使我们能在linux下享受到美妙的音乐。
安装步骤:
一 ALSA的安装需要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需要内核支持声卡。一般现在的发行版大多已做了相应配置,自己毋须再做。
确认方法:cd /usr/src/linux
ls -a 看是否有.config这个文件。有的话一般表明系统已做好了相应的设置。
注意:用rh8的朋友,可在linux源码包目录下的configs目录下看到一些config文件,请选取与自己cpu相应的config文件,复制一份放至linux源码包目录下,并改名为.config即可。如我用xp1700+,则:
cp /usr/src/linux/configs/kernel-2.4.20-athlon.config /usr/src/linux/.config
而以下操作仅供内核没有打开相应设置的朋友操作。
进入内核源码包目录,执行:make xconfig
在Sound项下的Sound card support和OSS sound modules需要以模块选中。 (sound以外的选项请自己决定)
保存退出后,执行:make dep
做完这一步就可以了。
注意:用redhat9.0的朋友,rh9自带的源码包不能使alsa正确安装,即使重新编译新内核也如此。安装alsa时总是提示snd.o(alsa的核心)unresolved symbol 。我是到www.kernel.org
下了一个2.4.20的源码包,重新编译内核才搞定。有哪位老大知道使用rh9自带源码包就可以安装alsa的,请不吝赐教。
二 去www.alsa-project.org下载alsa的源码包
ftp://ftp.alsa-project.org/pub/driv...r-0.9.2.tar.bz2
ftp://ftp.alsa-project.org/pub/lib/...b-0.9.2.tar.bz2
ftp://ftp.alsa-project.org/pub/util...s-0.9.2.tar.bz2
其余还有两个我不大用,有兴趣的可以自己下来试。
把包放进一个目录,以后所有操作均在该目录下执行。
解压,执行:
tar jxvf alsa-driver-0.9.2.tar.bz2
tar jxvf alsa-lib-0.9.2.tar.bz2
tar jxvf alsa-utils-0.9.2.tar.bz2
三 编译alsa 执行:
cd alsa-driver-0.9.2
./configure
注:如果你知道自己声卡的模块名称,则可以用: ./configure --with-cards=模块名称 如我的是8235芯片的软声卡,则为:./configure --with-cards=via82xx 但如果不清楚的话,还是请用./congfigure 以编译alsa所支持的所有声卡。
如果声卡是ISA的pnp声卡,请用./configure --with-isapnp=yes
./configure 的详细参数可用./configure --help浏览。
之后
make install
做完这一步后,alsa驱动便编译完了。之后便是配置声卡。
./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 id="随便填"
# 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-声卡模块名称。
四 配置
因为linux默认静音,所以需要配置音量、保存设置并每次启动后加载。
1.配置音量
推荐使用alsactl+alsamixer或alsactl+gamix 调整选项很丰富。方法如下:
a. 进入alsa-lib-0.9.2目录,执行:
./configure
make
make install
以上安装alsalib。
b.进入alsa-utils-0.9.2目录,执行:
./configure
make
make install
以上安装alsactl、alsamixer、amixer、aplay工具。
c.下载gamix
http://www1.tcnet.ne.jp/fmurata/lin...1.99.p13.tar.gz
解压:tar zxvf gamix-1.99.p13.tar.gz
cd gamix-1.99.p13
./configure
make
make install
以上安装gamix
d.以alsactl+gamix为例:
执行:gamix
调整合适音量,之后退出。
2.保存当前音量配置
执行:alsactl store
3.每次启动加载
提供三种方法。
第一种方法:(最简单,往系统加入alsasound服务,使用alsa本身的脚本进行控制,第一推荐)
执行:chkconfig --add alsasound
之后重启即可。
第二种方法:(也很简单)
编辑/etc/rc.d/rc.local
加上这一行:alsactl restore
保存重启即可。
第三种方法:(最早想到,所以也放上来了)
GNOME桌面
从这里开始-首选项-更多首选项-会话
在会话面板中选启动程序,点增加,在启动命令框中输入:alsactl restore ,然后确定,关闭。
KDE桌面
运行混音器(kmix),文件-将当前音量保存为默认值-退出。
之后重启即可。
4.注意:用KDE的朋友,需要关闭aRTs服务。
运行控制中心,声音和多媒体-声音系统-aRTs ,取消在KDE启动时启动aRTs声音服务器即可。