当前位置:操作系统 > Unix/Linux >>

FedoraCore下声卡驱动全功略

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了。
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,