用ALSA搞定声卡
LinuxByte注:本站有ALSA下载
在LINUX下驱动声卡是一件既简单又复杂的事情。简单之处在于如果安装的LINUX版本支持自己机子的声卡,那么一切都万事大吉。只需进入LINUX打sndconfig,选中符合自己机子的声卡,填上DMA、IRQ、IO参数即可。但是如果LINUX不支持的话,则:
安装ALSA(Advanced Linux sound Architecture)的声卡驱动程序。ALSA是免费的,安装也不复杂。下面以ESS Solol(es1938)声卡为例,介绍ALSA声卡驱动程序的安装方法。先到www.alsa-project.org下载最新的驱动程序。下载后用tar命令把它解压到任意目录下。在安装之前,应确认系统内核支持sound card module,验证方法是键入modprobe sound,如果显示Can’t locate sound module,则证明sound card module未被支持,需要新编译内核。叵支持则显示modprobe sound,运行:
./configure
make install
./snddevices
建立新的声音设备文件。ALSA声音设备文件名与原LINUX声音设备的名称不同。安装完毕后查看驱动程序安装情况可使用cat /proc/asound/sndstat而不是cat /dev/sndstat。
用任意文本编辑器编辑/etc/conf.modules,加入
#ALSA portion
alias char-major-116 snd
options snd snd_major=116 snd_cards_limit=1
alias snd-card-0 snd-card-es1938
options snd-card-es1938 snd_index=1 snd_id=”solol”
# OSS/Free portion
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-pcm1-oss
alias sound-service-0-12 snd-pcm1-oss
除把第四五行的snd-card-es1938和snd_id=”solol”稍做改动外其余不必改动。es1938改成具体的声卡名称,可参见解压后modules目录中相关名称。Solol改成具体的声卡名称即可(不超过15个字符)。
modprobe snd-es1938
此处es1938可做与上步同样的改动。重新启动后声卡驱动程序就已加载,若lsmod可见类似下面的输出:
Module Size Used by
snd-pcm1-oss 13964 1 (autoclean)
snd-mixer-oss 3804 0 (autoclean)
snd-card-es1938 2100 1 (autoclean)
snd-es1938 11272 0 (autoclean)
snd-pcm1 17372 0 (autoclean)
snd-timer 8476 0 (autoclean)
snd-mixer 25888 0 (autoclean)
snd-hwdep 2956 0 (autoclean)
snd-pcm 9644 0 (autoclean)
snd 39276 1 (autoclean)
soundcore 2564 5 [snd sound]
因为在缺省情况下mixer是无声的,需用一程序打开它。
KDE:multimedia----Sound Mixer Panel
GNOME: multimedia----Audio Mixer
Anotherlevel: utilities----Sound----Xmixer
发布人:netbull 来自:LinuxAid