linux音频驱动
⑴ linux查看声卡驱动
在终端输入 alsamixer
就可以看到了,顺便还可以调节下系统声音的大小 :)
⑵ 为什么Linux的音频驱动位于sound目录下而不是driver/sound
1、早期的2.4内核所有的音频驱动和其他驱动一样都是位于drivers目录下的:drivers/sound
2、到了2.5开发版内核,所有的音频驱动包括音频框架代码由drivers/sound移到了sound目录下:
(1)2.6内核之前的git记录查找:http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=summary
(2)音频驱动代码被移动的git提交:
http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commit;h=
author Jaroslav Kysela <[email protected]>
Wed, 13 Feb 2002 03:32:11 +0000 (19:32 -0800)
committer Jaroslav Kysela <[email protected]>
Wed, 13 Feb 2002 03:32:11 +0000 (19:32 -0800)
commit
tree tree | snapshot
parent commit | diff
[PATCH] ALSA patch for 2.5.4
Integrate ALSA into v2.5.4
Jaroslav
这个提交是在2.5.4~2.5.5-pre1之间发生的
从这个提交信息可以看出,是在Linux内核正式引入ALSA音频构架的时候,所有的代码都被移动到了drivers/sound下。
也就是在同一天,音频子系统的维护由原来的Alan Cox转为Jaroslav Kysela:
http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commit;h=
Make Jaroslav the sound maintainer, remove Alan on his request.
author Linus Torvalds <[email protected]>
Wed, 13 Feb 2002 04:05:43 +0000 (20:05 -0800)
committer Linus Torvalds <[email protected]>
Wed, 13 Feb 2002 04:05:43 +0000 (20:05 -0800)
commit
tree tree | snapshot
parent commit | diff
Make Jaroslav the sound maintainer, remove Alan on his request.
所以这个代码的移动应该是在ALSA那个分支开发的时候就已经是这样的了
⑶ linux如何安装声卡驱动呢
在Linux系统上有两种驱动程序可以弥补Linux系统的不足。一种是OSS(开放声音系统),一种是ALSA(先进Linux声音架构)。OSS是一个商业声卡驱动程序,需要花钱购买,否则每次启动后,你只可以免费使用240分钟;ALSA是自由软件,可以免费使用。
一、安装ALSA声卡驱动程序
1.ALSA包含下面四个软件包:
alsa-driver-0.5.9.tar.bz2
alsaconf-0.4.3b.tar.gz
alsa-lib-0.5.9.tar.bz2
alsa-utils-0.5.9.tar.bz2
2.先安装alsa-driver-0.5.9.tar.bz2这个文件:
(1)cp alsa-driver-0.5.9.tar.bz2 /tmp
将alsa-driver-0.5.9.tar.bz2 拷到/tmp目录下。
(2)bunzip2 alsa-driver-0.5.9.tar.bz2
解压缩这个文件,会在/tmp目录下生成一个文件叫做alsa-driver-0.5.9.tar。
(3)tar xvf alsa-driver-0.5.9.tar
将会在/tmp目录下产生一个子目录叫做alsa-driver-0.5.9,alsa的所有文件就存放在这个目录下。
(4)cd alsa-driver-0.5.9
进入alsa的驱动程序所存放的目录,准备配置和编译它。这时你可以看一下目录下的INSTALL文件来了解安装的步骤和注意事项。
(5)依次运行下面三个命令:
./configure
make install
./snddevices
3.编辑/etc/ moles.conf文件
这个文件的配置虽然比较麻烦,但用alsaconf-0.4.3b.tar.gz也可以配好它,运行命令:
(1)cp alsaconf-0.4.3b.tar.gz /tmp
将alsaconf-0.4.3b.tar.gz 拷到/tmp目录下。
(2)tar zxvf alsaconf-0.4.3b.tar.gz
解压缩这个文件,会在/tmp目录下生成一个子目录叫做alsaconf-0.4.3b。
(3)./alsaconf
会出现一个窗口叫你选择声卡,像SoundBlaster及ESS1868、S3_SonicVibes_PCI、Ensoniq_AudioPCI_ES1370 1371等,很多目前的kernel还不支持的声卡它都可以支持了。
选好声卡之后系统会问你一些问题,都回答OK,然后会回到第一个画面问你要不要继续设第二张声卡,选“No_more_cards”退出即可。完成这个步骤之后,/etc/moles.conf这个文件就基本上自动配置好了,重新启动电脑后声卡就可以发声了。
4.如果还不行,那么你就还需要安装alsa-lib和alsa-utils,安装方法和alsa-driver一样,注意要先安装alsa-lib,再安装alsa-utils。将文件拷到/tmp目录,解压缩,然后运行命令make和make install,具体请参照上面alsa-driver的安装步骤。
安装后到alsa-utils(解开alsa-utils-0.5.9.tar.bz2会产生该目录)目录下的alsamixer子目录执行
./alsamixer
二、安装OSS声卡驱动程序
1、OSS声卡只有一个安装包:osslinux393q-2217-UP.tar.gz。
2.启动Linux,把下载下来的osslinux393q-2217-UP.tar.gz拷到一个临时目录中,如:
cp osslinux393q-2217-UP.tar.gz /tmp/
cd /tmp
tar zxvf osslinux392v-glibc-2212-UP.tar.gz
此时文件已经解开,你可以看到在当前目录下有四个文件:INSTALL、LICENSE、oss-install和oss.pkg文件,其中INSTALL是安装帮助文件,如果你是第一次安装一定要好好看一看。
3.配置
以root用户身份运行oss-install:
./oss-install
如果出现了“No such file or directory”的错误信息,那是因为你下载的OSS驱动程序的版本和你用的Linux不匹配,可以重新到上述站点,下载相应的驱动程序就可以了。
这时候一般会提示:你的Linux以模块的形式加载了声卡驱动程序,要不要安装程序自动将它去掉?选择去掉就可以了。
接下来就是处理过程、协议及一大堆东西,接受协议安装,使用默认安装路径即可(/usr/lib/oss)。oss一般可以自动检测出大部分声卡,你可以看看结果是不是和你的声卡相符,如果相符,直接在菜单中选择“Save changes and Exit..”即可。对于那些不能直接探测到的声卡,你就只有用手工方法选择了。如对Yamaha OPL3-SAX (YMF715/YMF719) chip 可以选择:“Generic Yamaha OPL3-SAx (YMF715/YMF719) non-PnP”driver。
4.打开/关闭声卡
在默认的安装目录/usr/local/bin里有一个soundon命令,它可以用来打开oss驱动,同样的你也可以用soundoff命令关闭oss驱动。
5.疑难解决
有时也可能出现这样的情况,你的声卡检测到了,而且安装过程也好像一切正常,但是声卡就是不能正常工作。不要急,OSS还有可以让你手工调节设置参数的地方,其实,在“Save changes and Exit”的同一个窗口中,还有一个选项“Manual Configuration”,它就是让你手工调整设置参数的,你可以在这里设置声卡的IO、DMA等参数。