1.了解你的声卡
声卡如同计算机的喉舌和耳朵,负责计算机音频的输入、信号转换、输出的工作,有了声卡,我们才能通过电脑欣赏美妙的音乐,才能对着话筒怒吼。99年后,随着计算机的进一步发展,声卡已经由独立的板卡变为PC主板上的一部分,而且声卡已经由独立的DSP芯片模块组变为了一颗小小的dsp信号I/O codec,而原来DSP的处理工作就移交给CPU完成,所以一般我们集成主板的dsp就称为“软声卡”,这类声卡工作时的系统开销比较大,甚至会严重影响系统速度。
关于AC97
AC'97是Audio Codec'97的缩写,它所定义的是一种在主流PC中实现音频特性的方法,后来又扩展了实现Modem的功能。AC'97利用核心芯片组的功能和外围的模拟设备共同实现音频卡/Modem的功能。目前主要有三种AC'97设备:
Audio Codec,通常缩写为AC'97或AC;
Modem Codec,通常缩写为MC'97或MC;
Audio/Modem合成Codec,通常缩写为AMC'97或AM
AC97只是一种规范,不是声卡的名称,并不是说不符合AC97规范的就不是好声卡,比如SoundBlaster AWE这样的古董级ISA声卡,其性能指标在现在也是非常了得;而像MAYA等专业级声卡也不符合AC97的规范。
AC97也不是软声卡的代名词,YAMAHA的YMF724、744、创新的CT5880(PCI128)、SB live系列、FortMedia FM801等性能极佳的“硬”声卡,也符合AC97规范
你的声卡是什么?
我们要如何知道我们主板上的声卡是什么呢?方法很简单,在linux的终端下,运行lspci | grep audio,比如我的机器运行命令后得出结果:
00:0b.0 Multimedia audio controller: Yamaha Corporation YMF-724F [DS-1 Audio Controller] (rev 03)
很明显,这是一块YAMAHA的YMF724声卡
如果是一块AC97的“软声卡”呢?
比如我在一块KT333主板上测试:
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235 AC97 Audio Controller (rev 50)
主板上的AC97 codec为瑞昱的ALC650,而系统直接给出了南桥芯片的型号,这样更验证了AC97 codec并不是一块独立运行的DSP芯片模块,此时我们选择声卡驱动,应以主板南桥为基准:http://www.linuxsir.org/bbs/showthread.php?s=&threadid=76509
2、通过简单设置在fedora下让你的声卡发声
想检测并启动声卡,安装后就会有一个向导做指示,多数朋友就可以使自己的声卡工作了,这个图形界面的配置程序在系统设置-声卡检测中
如果你需要一个文本界面的声卡检测软件,可以下载:
http://mirrors.kernel.org/fedora/cor……70-2.i386.rpm
并安装上,这样在终端下输入sndconfig就可以检测声卡了。如果你的声卡是ISA的,还需要手动分配IRQ等主板资源。
如果这样还不行?
如果声卡检测程序不能正常检测你的声卡或不能使用,此时应该了解一下你的声卡是否已经接好,音频线联接是否正确。如果确认以上的情况都正常,那你需要上Redhat官方网站了解一下你的声卡是否被支持:http://hardware.redhat.com/hcl/
另一方案:官方驱动 (未测试)
首先你必须确认你已经装了内核源码(即内核开发软件包集合)
如果你的主板AC97 codec为CMI9738/9739,且内核内建驱动不能运行 的朋友,可以下载驱动:
http://www.cmedia.com.tw/driver/Linu……dio-041.tar.gz
解压,命令终端中进入驱动目录,里面有Readme.txt说明,先运行modprobe soundcore
然后
make
make install
如果成功,安装就完成了,此时还要修改/etc/modules.conf
alias sound-slot-0 cmaudio
post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1 || :
pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1 || :
重启计算机后就可使用。
VIA AC97combo for Linux驱动
如果你的主板是VIA的主板,
http://downloads.viaarena.com/driver……o-2.3-1.tar.gz
下载后解压,进入驱动目录里会有一个viaudiocombo-2.3-1.src.rpm
运行rpmbuild ——rebuild viaudiocombo-2.3-1.src.rpm
成功的话二进制rpm文件会在/usr/src/redhat/RPMS/i386里,安装后便可直接使用。
Aureal AU8820(帝盟S90)驱动
看看这里的方法:http://www.linuxfans.org/nuke/module……ninfo&did=1611
注意!:如果内核声卡驱动已经加载并已经可以正常使用,官方驱动很可能根本无须安装,也无法安装。
以上方法如果都无法驱动你的声卡,您还有两种选择:一是花几十元买一块像YMF724、744、FM801、CM8738那样的声卡,Linux环境下支持绝对没问题,而且占用主板资源远小于AC97 codec,二就是花4元钱买一张D版的windows安装盘(我推荐您花1XXX元买正版,利国利民),不再指望用Linux听音乐。
3、一些小技巧
1,不支持多分频流怎么办?
答:内核驱动不能很好的支持多分频流,但是只要我们用esound等声音进程,也可以使用多分频。
XMMS下菜单-选项-首选项-音频输入输出插件中,输出插件选esound输出插件就可以了。
Gaim下,首选项-声音-声音方式改为ESD.
注意:MPlayer不能很好支持esound,还是使用OSS的模块好些
2,如果KDE下没有声音,可能是KDE的arts占用了声卡资源。可以先在控制中心-声音系统中关闭arts声音系统,并运行如下命令:
killall artsd
esd &
这样在KDE环境下也能用esound了。
3、XMMS不能播放音乐(MP3)
这是个头疼的问题,如果你声卡检测正常通过,却不能播放MP3.不过这并不是声卡或系统的问题,你可以下载一个新版本的xmms:http://www.xmms.org/files/1.2.x/rpm/……2.8-1.i386.rpm
先把旧版的卸载了,rpm -e ——nodeps xmms
再安装新的。
如果你有一块ALS4000这样的声卡呢?恐怕我们要出动ALSA了。