Chinaunix

标题: 终于有声音了 [打印本页]

作者: gotspook    时间: 2008-04-27 23:23
标题: 终于有声音了

困扰我许久的声音问题,终于解决了,多亏了Ubuntu中文社区的clarezoe大侠。

查看原贴

在此之前我以试过无数方法,alsa,oss,自动安装,手动编译等等。

下面是我的声卡驱动安装步骤。

查看声卡的chip类型

lspci -v|grep audio

我的是:
00:04.0 Multimedia audio controller: nVidia Corporation CK804 AC’97 Audio Controller (rev a2)

Alsa-project
找到我声卡的类型

安装源里的驱动

1. 删除声卡相关的全部驱动,包括配置文件。

sudo apt-get --purge remove linux-sound-base alsa-base alsa-utils

重新安装alsa

sudo apt-get install linux-sound-base alsa-base alsa-utils

***删除alsa-utils的时候会同时删除gdm和ubuntu-desktop,意味着将失去桌面,所以得重新安装桌面***

sudo apt-get install gdm ubuntu-desktop

重启电脑

2. 在alsamixer中取消静音,显示MM的即是被静音的

3. 打开一个声音文件看能不能出声,如果没有声音,进行下一步

3.1测试"ac97_quirk="的值
我的问题就是这个值,我想大多数没声音的问题也是因为这个。这个值是-1~6之间的一个整数值

3.1.1 在这一步需要我们测试这七个值中哪一个值适合你的声卡,为了避免重复重启电脑,我们可以用命令卸载内核模块,然后重新加载

3.1.1a 卸载内核模块
sudo /sbin/rmmod snd_MODEL

MODEL是你的声卡驱动类型,我的是intel8×0,下同
所以我用
sudo /sbin/rmmod snd_intel8x0

如果提示
ERROR: Module snd_intel8x0 is in use

请找关闭所有你正在使用声卡的程序,一个小tip就是你在面板删除那个小喇叭,应该就好了。
然后再运行上面的命令。

3.1.1b 加载内核模块,这里要加上ac97_quirk=*的参数
sudo /sbin/modprobe snd-intel8x0 ac97_quirk=*

所以我们现在运行
sudo /sbin/modprobe snd_intel8x0 ac97_quirk=6

加载内核模块后运行alsamixer取消所有静音,并适当调整音量
然后打开一个声音文件看有没有声音,如果没有,就重复3.1.1a步,然后换其它值加载内核模块 (3.1.1b步)

3.2 找到ac97_quirk的值后,在/etc/modprobe.d/alsa-base中添加一个选项
sudo gedit /etc/modprobe.d/alsa-base

添加

options snd-intel ac97_quirk=*

我的*参数值是4,所以我加的是
options snd-intel8x0 ac97_quirk=4


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/66980/showart_602256.html




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2