admin管理员组

文章数量:1531792

2024年4月6日发(作者:)

Linux中用ALSA驱动声卡流程详解-电脑资料

一、什么是ALSA ;

Advanced Linux Sound Architecture 的简称为 ALSA ,译成中

文的意思是 Linux 高级声音体系(这是我直译的,可能译的不对);

一谈到体系就有点范围就太大了,所以ALSA不仅仅是包括对声卡的

支持和驱动;

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简

装版足够;

二、关于硬件驱动驱动的必备基础 ;

1、如何查看硬件芯片;

在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

Flags: bus master, medium devsel, latency 0, IRQ 5

I/O ports at 1c00 size=256

I/O ports at 18c0 size=64

Memory at e0100c00 (32-bit, non-prefetchable) size=512

Memory at e0100800 (32-bit, non-prefetchable) size=256

Capabilities: [50] Power Management version 2

2、系统内核版本;

[root@localhost beinan]# uname -r -m -p -i

2.6.11-1.1369_FC4 i686 i686 i386

上面的表示的是系统的内核版本,处理器架构等;

提示:如果您自己编译内核,还要安装kernel-devel (或

kernel-source), 这个是在系统光盘或者映像文件中有带;如果您想

自己用 下载内核,自己编译,然后再来驱动声卡,也可以

到 上下载最新的内核源码;

一般情况下,如果系统默认的内核不能驱动声卡,大多得更换内

核,我们建议您先从发行版所提供的升级包来升级内核及源码;比如

Fedora 的扩展项目软件包更新速度极快,我们能通过apt和yum进

行kernel的升级;在启用新内核时,我们不建议您删除老内核;因为

现在Fedora / Redhat 引入apt和yum 更新工具,系统的完整性极为

重要;如果系统被破坏,用更新工具变得极为困难;

本文标签: 声卡驱动内核系统芯片组