
Advanced Linux Sound Architecture 的简称为 ALSA,译成中文的意思是 Linux 高级声音体系,ALSA不仅仅是包括对声卡的支持和驱动;
它的特征如下:
1、对所有音频接口的高效支持,从普通用户的声卡到专业级别多路音频设备;
2、声卡驱动完全模块化设计;
3、SMP and thread-safe design.
4、开发库(alsa-lib) 为程序设计提供了简单、方便,并且拥有有高级的效果和功能;
5、支持旧版本的OSS API 结口,能为大多数的OSS应用程序提供兼容;OSS是一个商业性的驱动,OSS有一个简装本的代码已经移入内核和ALSA,其中alsa-oss就是;OSS公司据说目前已经并不存在了;我们没有必要用OSS 公司提供的商业版本;用ALSA和OSS简装版足够;
如何查看硬件芯片;
在Linux *** 作系统中,所有的硬件都是以芯片组来区分的,品牌并不是最重要的;硬件最重要的标识是芯片组;所以您在讨论区求助的时候,只说硬件品牌,而不提供芯片组,大家是帮助不了您的,切记;
我们查看硬件的芯片组是的命令是 lspci -v 或者是dmesg,由于dmesg输出的信息不太多,不够直观;所以经常用的还是lspci -v ;也可以用lshal 获取;最方便的还是lspci -v;初学者还是用 lspci -v 更好一点;
代码:
[root@localhost beinan]# lspci -v
我们运行lspci -v 后,如果查看声卡芯片组,发会现有类似下面的一段;
[root@localhost beinan]# lspci -v
Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M)
AC'97 Audio Controller (rev 03)
Subsystem: Hewlett-Packard Company: Unknown device 3080
2.6.11-1.1369_FC4 i686 i686 i386
上面的表示的是系统的内核版本,处理器架构等;lsmod 查看已经加载的内核模块;
如果一个设备在内核的编译中是以模块方式加载的,主要是通过lsmod 来查看;
[root@localhost beinan]# lsmod
可能初学Linux的弟兄会问,内核的module存放在哪里,我们能不能自己来手工加载模块;内核的模块放在 /lib/modules/内核的版本/kernel/ ,比如在Fedora 4.0 中,我们可以看到如下的:
[root@localhost beinan]# ls /lib/modules/2.6.11-1.1369_FC4/kernel/
arch/crypto/ drivers/ fs/ lib/ net/ sound/其中,sound 就是声卡模块存放目录,大多数的硬件驱动放在 drivers目录,fs 是文件系统模块的目录;net是与网络有关的存放目录,比如一些网络协议支持的模块、防火墙支持的模块等;arch 是cpu方面 ... ...
如果我们想自己加载模块,就到这些目录中查看相应模块的信息,然后用 modprobe 来加载;
[root@localhost beinan]# modinfo snd-intel8x0
查看一个模块的信息,我们用 modinfo 来查看,所要查看的模块不要带 .ko 或者.o 之类的;比如查看到类似下面的信息;
description: Intel 82801AA,82901AB,i810,i820,i830,i840,i845,MX440SiS 7012Ali 5455
通过这个我们足可以知道这是Intel 集成声卡,通过lspci -v 得到的声卡信息,感觉他们很相近;所以就能尝试用这个模块来驱动;
[root@localhost beinan]# modprobe snd-intel8x0
用 modprobe 加载了模块,然后我们通过 lsmod 就能看到了;对于声卡模块是这么加载的,其它设备的驱动模块也是如此。
装了几次Linux OS,当然也装了几次声卡驱动,一般来说都是安装ALSA(Adcance Linux Sound Architecture)驱动,多装几次以后就会发现非常的简单的。
首先,先决条件,也就是依赖关系,我记得需要安装kernal-source(我用过的几个Linux OS都默认不安装这个,在你的OS 的软件包管理程序那里可以搜索这个关键词,选上进行安装,记得要插入系统光盘。),gcc我不记得要不要装,好像没有其他的了。
要安装驱动,你得先去下载alsa驱动,网址是:www.alsa-project.org,个人认为为了保证最大的兼容性,最好去下载最新版本。一般来说,只需要下载安装以下三个包就可以了,
driver
lib
utils
当然最好是要同一个版本的,我上传了一个所有需要的包,1.0.16 版的,有需要的用户请到这里来下载
URL : http://www.box.net/shared/0t5z8nao8c 不知道是否长久有效!
为了保证能完全安装成功,建议切换到root用户下执行安装。
我是在X Window 下执行的安装,解压上述下载有的压缩包是用鼠标右键单击解压的,我想能熟练用shell命令来解压文档的Linux User是不需要来我这里看声卡驱动的安装的
先安装下载回来的driver那个包,解压,然后在终端中转到解压后的那个文件夹,按照顺序执行以下命令。
1 ./configure
2 make
3 make install
4 ./snddevices
一般来说都能顺利执行完上述命令的,如果不能的话,请查看返回的信息,这里需要特别说明一下,这几个过程都比较耗时,无论你的硬件配置如何,这个我没有办法解释原因,经验之谈。
安装到了这里,就需要配置系统文件了,怎么配置,手动的我也不知道,但是我知道有一个工具可以帮我们高效且几乎不出错的完成这个任务,那就是alsaconf工具了,这个工具在utils文件包里面。
解压下载回来的utils文件包,同样需要在终端中执行命令,在终端中转到解压后的目录,然后执行如下命令。
./alsaconf
然后就会出现一个比较像GUI的界面,会让你选择几次OK键之后,开始搜索声卡类型,搜索完了以后,就列出声卡列表,选择你的实际芯片组,然后再敲几次OK键,最后问你是否让他帮你写入配置文件,当然要拉。至此,如果幸运的话,重启之后就能你的声卡就能工作了。
如果重启之后还不能工作的话则继续往下看。
还不能工作的话,一般需要安装剩下的那两个包了,但是,有顺序的,先安装lib再安装utils
方法都差不多,都要在终端中执行安装,命令都一样。
1 ./configure
2 make
3 make install
安装完最后的utils时再运行。
./alsaconf
再配置一次声卡,个别的系统还要在X Window下的系统管理工具那里设置一下声卡,不过都简单了。
重启系统,你的声卡应该能工作了,祝贺你。
在Linux系统上有两种驱动程序可以弥补Linux系统的不足。一种是OSS(开放声音系统),一种是ALSA(先进Linux声音架构)。OSS是一个商业声卡驱动程序,需要花钱购买,否则每次启动后,你只可以免费使用240分钟;ALSA是自由软件,可以免费使用欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)