我们要到 alsa-project.org 中下载 1.0.9的源码包;主要下载alsa-lib-1.0.9 和 alsa-utils-1.0.9a;不要卸载原来的RPM包;先安装 alsa-lib-1.0.9,然后再安装alsa-utils-1.0.9a ;编译方法无非是 tar zxvf file.tar.gz 或者 tar jxvf file.tar.bz2 ,然后是进入相应的解压目录 ./configure;make;make install ;
当然您要有安装开发工具、开发库等;如果不能进行源码包安装alsa等,所以我们要补装系统所缺少的软件;请参考 《Fedora / Redhat 软件包管理指南》
这样我们就有 alsaconf 工具可用了;这样编译 alsa也不会对系统造成破坏;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
中场休息:我已经精疲力尽,上面所提到的我都尝试了,但还是不能驱动声卡;我该怎么办?
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
如果上面的的内容您都明白了,那我得为您祝贺,说明您对硬件的驱动方法已经有所了解了;虽然声卡的问题还是没有解决,但您把基本的必备知识掌握,解决声卡的发声还不是什么难事;
您看到这里已经是很疲惫,呵,我写到这里也有点累;但为了初学者在Linux能听到音乐,我还得接着努力,直到把您的问题解决为止;
四、安装新版本的ALSA;
1、对ALSA软件包的说明;
通过上面的一系列工程,可能您发现还不能解决您的问题,这时我们有必要升级ALSA;至于是否升级内核,我们还得等完成这步,看是否有必要;比如在Fedora 4.0 中,我们通过 rpm -qa |grep alsa 查询时会发现没有 alsa-driver 这个包,这是怎么回事?
代码:
[root@localhost alsa]# rpm -qa |grep alsa
alsa-utils-1.0.9rf-2.FC4
alsa-lib-1.0.9rf-2.FC4
现就ALSA 相关的软件包做一说明(在alsa-project.org 上有列出);
alsa-lib 是alsa-driver 或者alsa其它包的时候,必须先安装这个包;
alsa-driver 是音频设备的驱动;一般内核都集成在里面,大多是以模块的方式,安装在了 /lib/modules/内核的版本/kernel/sound 或 /lib/modules/内核的版本/kernel/drviers/sound/ 中了;每个版本的内核都是如此;这也是我们没有在 Fedora Core 4.0 中没有发现 alsa-driver的原因 ;如果我们自己编译升级 alsa,其中 alsa-driver 也是被安装在 /lib/modules/内核的版本/kernel/sound 中或 /lib/modules/内核的版本/kernel/drviers/sound 中 ;明白了吧;
alsa-utils 这个包主要是一些声卡配置工具,比如 alsaconf 、 alsamixer等;
alsa-oss 这个包和alsa-driver 一样,也没有以独立的包出现在 Fedora Core 4.0 中,原因和alsa-driver 一样,是集成在内核了,这个包极有必要的;如果我们升级ALSA的话,有些声卡用ALSA是驱动不起来的,是必须用alsa-oss才行;alsa-oss 包括了oss驱动库;alsa-oss,我们自己安装一般是默认放在了 /usr目录中;
alsa-tools 这个是额外的工具包,不是必须的;是针对一些特别的声卡的工具或者解码器之类,您可以根据自己的声卡来安装;不安装也是可以的;
其它的包就不说了,到 alsa-project.org 上去看吧;比较重要的就是 alsa-lib 、alsa-driver、alsa-utils 、alsa-oss ;
2、ALSA的编译安装的前期准备;
编译安装ALSA,我们需要什么环境,就如同我们在Windows中打开一个file.doc文档一样,是需要先把Word安装上一样;Linux也是如此,我们必須先把软件包编译所需要的工具安装上;另外还要安装kerenel-devel或者其它一些支持的库,如果您没有安装这些,编译无法进行;这样开发工具都在系统安装盘中;如果您不知道如何安装,对于Fedora /Redhat 请参见 《Fedora / Redhat 软件包管理指南》
您也要在线升级内核及内核的源码包,以Fedora 4.0为例,必须保证kernel 和kernel-devel 包是同一个版本;可能您看到好多kernel的包,还有什么smp之类的;如果您只是单处理器的,就不要用smp的;看图作业(点击看大图,升级内核时,请选择图中标记的颜色对应的内核和源码升级,也就是说版本要对应)
重要:通过在线升级内核可能会解决您的声卡所存在的问题,要试着用前面所说的来尝试解决;您还可以通在在线升级alsa-lib ;alsa-tools ;alsa-utils 等包;
如果通过在线升级内核及alsa-lib;alsa-utils;alsa-tools 等能解决您的问题,请不必看以下的内容;
为什么说,通过在线长级内核能解决呢?因为通过内核的升级,内核包内置的alsa-driver 可能也得到了升级,如果打包的人升级了alsa-driver的话;如果是不能解决,说明alsa-driver 还是老版本;起重要作用的是alsa-driver ; 如果在线升级的过程中,alsa-lib没有新版本,肯定新内核中的alsa-driver 也没有更新,因为他们是配套的;明白了吧;
判断是否有必要重编内核:
代码:
[root@localhost beinan]# modinfo soundcore
filename: /lib/modules/2.6.11-1.1369_FC4/kernel/soundBAK/soundcore.ko
description: Core sound module
author: Alan Cox
license: GPL
alias: char-major-14-*
vermagic: 2.6.11-1.1369_FC4 686 REGPARM 4KSTACKS gcc-4.0
depends:
srcversion: E11490DC3F523551C4C2A6D
如果出现上面类似的信息,则不必编译内核;
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论