http://blog.csdn.net/lupengcheng2025/archive/2011/01/15/6141652.aspx
每次给fedora安装ALSA驱动都是件痛苦的事,极其的繁琐,从编译,调试,修改配置。步步都充满 “危险”,甚至比编译内核还要让人抓狂.不幸的是fedora14也没有改观,甚至比之前的还要麻烦!所以为了今后不再遭受这痛苦把安装流程记录下来,方便自己,也能帮帮他人。
首先请到ALSA官网下载以下源码包,版本号会不断更新,用最新的好了:
alsa-driver,alsa-lib, alsa-utils
alsa-driver就是声卡驱动程序,因为fedora基于2.6内核的发行版,在编译其内核时都启用了ALSA声卡驱动模块,也就是驱动程序已经安装好了。所以如果你不希望更新驱动程序可以不编译这份源码,也不需下载它。
这就奇怪了 驱动程序都安装好了为什么不能发声呢???
原来在ALSA驱动体系里面用户态的应用程序是通过 alsa-lib与 alsa-driver进行通信的, alsa-lib包含了一系列供用户态程序调用的API借口,从而把用户态程序的命令,请求,数据传递给 alsa-driver, alsa-driver与底层硬件通信。
alsa-utils是alsa的一个工具包,里面包含有声卡测试和音频编辑的工具.一些应用程序也会依赖它。
这3个模块之间的关系如图:
usr APP(各种音频应用程序)
--------------------|-------------------
| alsa-utils
-----------------------
alsa-lib
----------------------------------------------------
alsa-driver
-------------------------------------------------------
alsa-driver位于内核态,依赖于其他内核组件,所以编译它之前,你必须获取包含对应你当前系统版本的内核的内核源码树,然后编译内核,这将生成部分 alsa-driver依赖的目标文件。
接着在 alsa-driver的configure中指定你刚编译过的内核源码的路径。接下来,make,make install就行了,中途如果遇到问题请直接google!
接着编译,alsa-lib 中途会遇到一些小问题,但google一下都能解决的。
最后编译 ,alsa- utils 也会遇到一些小问题,google!!
编译完 alsa- utils 后在中断输入:/usr/sbin/alsaconf,设置,启用ALSA吧。理论上说经历以上步骤就可以正常使用音频了。
但是 fedora14太让人抓狂了,光这样还不行!!!有可能是使用到的内核版本问题,没有自动加载声卡驱动模块,所以我们必须命令它加载!
在/etc/modprobe.d/目录下添加一个alsa-base.conf文件,在文件中添加一下脚本:
options snd-hda-intel model=auto
重启电脑,终于能发声了,繁复从史前时代进入了文明时代..........
另外如果做音视频软件开发的话,都会,接触/dev/dsp,/dev/mixer,/dev/audio这几个设备文件,但在fedora14中是找不到这几个设备文件的,怎么办?
打开 /etc/modprobe.d/dist-oss.conf注释掉里面的脚本,重启电脑就行了。