|
|
ALSA,高级Linux声音构架, 是一个致力于开发高质量Linux声音子系统的软件项目。在2.6系列内核中, 它已经替换OSS(Open Sound System,开放声音系统)作为默认的声音子系统。
ALSA为所有类型的音频接口提供高效的支持,它完全模块化,支持对称多处理(SMP),具有多线程安全性, 并且提供名为alsa-lib高质量的用户空间库以简化应用程序编程。ALSA同样提供OSS的向下兼容层。
gentoo的中文文档中同样有alsa的安装文档,但是并不是完全适用,在这里写出我的安装办法,希望能给那些遇到声卡支持问题的朋友一点参考。
alsa一般要安装的三个组件:alsa-driver,alsa-utils,alsa-lib,也可以选择安装对oss向下兼容的alsa-oss,这些东西都在portage里,但alsa-driver的安装就不是那么容易了
先emerge alsa-driver,提示要将alsa支持编入内核,在内核中选上
Device Drivers-->Sound-->Sound card support
Device Drivers-->Sound-->Advanced Linux Sound Architecture--> Advanced Linux Sound Architecture
Device Drivers-->Sound-->Advanced Linux Sound Architecture--> CI devices(或USB devices)-->选上自己的声卡型号
然后make modules&&make modules_install,soundcore这个模块是必须要有的,其他的不确定
再emerge alsa-driver时却提示ALSA is already compiled into the kernel. This is the recommended configuration, don't emerge alsa-driver.
只好自己下载ALSA-driver进行编译,完了以后还是不行,amixer运行没有任何结果,重启发现提示信息alsa启动失败,错误的内核模块,再次编译alsa-driver,看到返回信息中有请使用新模块启动的字样,这才恍然大悟,不过我的/boot不是自动挂载的,因此还要把现在的 /boot里的东西拷出来,挂载以后再拷进去,新内核应该是vmlinuz打头的,这下alsa的模块成功载入,但还是没有还声音。搜索了半天,找到一个alsaconf的命令,执行以后选择自己的声卡,然后听到音响轻响了一下,成功了!不过不知道为什么,我的调节音量的程序为mixer而不是amixer。
然后将alsaconf的输出中的那几个模块的名字添加到自动加载列表中,搞定,如果不清楚添加了哪几个模快,可以lsmod查看。 |
|