分页: 1 / 1

小白安裝ALSA-1.0.21,內核2.6.31 on asus-w7sg成功

发表于 : 2009-09-29 16:27
平凡達人
聽說很多前輩裝了新的驅動感覺都不錯
閒來無事,小弟也來裝裝看

第一,查看 ALSA 版本,如果最新,就不用重新安装了,仔细查看一下配置吧。

代码: 全选

alsactl -v
如果打印出: alsactl version 1.0.21,那么 ALSA 已经是最新了。
我的是1.0.18,ubuntu9.04預設的版本

第二,在 ALSA 官方网站 http://www.alsa-project.org 上,下载最新的 ALSA 驱动,怎么解压我就不说了吧。
alsa-driver-1.0.21.tar.bz2
alsa-lib-1.0.21.tar.bz2
alsa-utils-1.0.21.tar.bz2


第三,查看自己的内核版本和声卡解码芯片是否被支持。
查看支持的内核版本
查看SUPPORTED_KERNELS文件,我的內核是2.6.31不再支持列表內,管他的豁出去

查看自己声卡解码芯片(如果系统不能识别声卡,可能无法由下面两个查到,那么查看你电脑配置单吧)

代码: 全选

tail -2 /proc/asound/oss/sndstat

代码: 全选

head -1 /proc/asound/card0/codec#0
我的是

代码: 全选

$ head -1 /proc/asound/card0/codec#0
Codec: Realtek ALC660-VD
在 alsa-driver-1.0.21/sound/Documentation/ALSA-Configuration.txt
中查找自己声卡解码芯片对应的 model 名字,比如我的 ALC660-VD 对应的就是
HD-Audio-Models.txt文件內的

ALC861VD/660VD
==============
3stack 3-jack
3stack-dig 3-jack with SPDIF OUT
6stack-dig 6-jack with SPDIF OUT
3stack-660 3-jack (for ALC660VD)
3stack-660-digout 3-jack with SPDIF OUT (for ALC660VD)
lenovo Lenovo 3000 C200
dallas Dallas laptops
hp HP TX1000
asus-v1s ASUS V1Sn
auto auto-config reading BIOS (default)

對應的就是ALSA-Configuration.txt文件的
Module snd-hda-intel 模塊

第四,准备好编译环境,安装 gcc, libc 等等工具,还需要下载 Linux header,这是编译 ALSA 驱动必须的。

代码: 全选

sudo apt-get install build-essential ncurses-dev gettext
sudo apt-get install linux-headers-`uname -r`

在编译替换之前,必须首先停止当前的ALSA服务:

代码: 全选

sudo /etc/init.d/alsa-utils stop
sudo /etc/init.d/alsasound stop
第五,编译安装,一般的 ./configure, make, make install 流程。注意的是驱动编译时候需要 module 名字,就是第三步中找到的 modle 对应的 module 名字,去掉 snd-即可。比如我的 ALC660-VD 对应的 modle 是 3stack-660,对应的 module 是 snd-hda-intel,那么 configure 时候需要加上 --with-cards=hda-intel。编译安装时遇到问题请仔细阅读源码附带的 INSTALL。

代码: 全选

cd alsa-driver-1.0.21
./configure --with-cards=MODULE_NAME(我的--with-cards=hda-intel)
make
sudo make install
cd ../alsa-lib-1.0.21
./configure
make
sudo make install
cd ../alsa-utils-1.0.21
./configure
make
sudo make install
如果遇到此編譯失敗

代码: 全选

configure: error: panelw library not found
輸入以下命令

代码: 全选

sudo ln -s libpanelw.so.5 /usr/lib/libpanelw.so
sudo ln -s libformw.so.5 /usr/lib/libformw.so
sudo ln -s libmenuw.so.5 /usr/lib/libmenuw.so
sudo ln -s libncursesw.so.5 /lib/libncursesw.so
如果遇到此編譯失敗

代码: 全选

[alsactl_init.7] Error
輸入以下命令

代码: 全选

sudo apt-get install xmlto
好了,编译完成,剩下的就是替换掉原有的alsa驱动

代码: 全选

sudo modprobe -r snd-hda-intel && sudo modprobe snd-hda-intel

第六,配置 ALSA。
如果以前系统中没有使用 ALSA 驱动,可能需要 alsaconf 来配置,还要将 ALSA 加入内核模块中,我没有经验;
如果系统原来已经有 ALSA 驱动,但是没有识别声卡或者声音驱动有问题。那么理论上只需要在两个地方做改动:

添加 /etc/modprobe.d/sound 文件,内容为:

代码: 全选

alias snd-card-0 snd-MODULE_NAME
alias snd-slot-0 snd-MODULE_NAME
比如我的就是:

代码: 全选

alias snd-card-0 snd-hda-intel
alias sound-slot-0 snd-hda-intel
在 /etc/modprobe.d/alsa-base 中最后一行添加:

代码: 全选

options snd-MODULE_NAME model=MODEL_NAME
比如我的就是

代码: 全选

options snd-hda-intel model=3stack-660
第七,重新启动查看效果,可以使用 alsamixer 调节声音设置。

其它都好,话筒没声
如果您已经安装了 alsa 驱动,话筒没声的问题可以通过设置解决。命令行输入 alsamixer:
1. Digital 那列,设置为 Analog I。
2. 点击 tab 制表键,在第一个 Capture 上点空格,显示出来红色的 "Capture, LR"字样表示选中,并把音量设置为 0。
3. Digital 那列,将音量设置为 67,这样能减少杂音。

以上參考來自http://www.5dlinux.com/article/1/2007/linux_9925.html

Re: 小白安裝ALSA-1.0.21,內核2.6.31 on asus-w7sg成功

发表于 : 2009-09-29 16:30
hcym
哎,你这一说还提醒我

这两天声音是好不少,回头看看版本

Re: 小白安裝ALSA-1.0.21,內核2.6.31 on asus-w7sg成功

发表于 : 2009-09-29 16:55
hcym
:em06

只装了pulseaudio-module

没装爱尔莎

Re: 小白安裝ALSA-1.0.21,內核2.6.31 on asus-w7sg成功

发表于 : 2009-09-29 16:58
tenzu
alsa,很不错,哼哼

Re: 小白安裝ALSA-1.0.21,內核2.6.31 on asus-w7sg成功

发表于 : 2009-09-30 2:31
hower
请问LZ用的是什么显卡?
更新完2。6。31 kernel后,ATI显卡 3D能否工作正常呢?

Re: 小白安裝ALSA-1.0.21,內核2.6.31 on asus-w7sg成功

发表于 : 2009-09-30 14:04
平凡達人
hower 写了:请问LZ用的是什么显卡?
更新完2。6。31 kernel后,ATI显卡 3D能否工作正常呢?
我的是NVIDIA-9300M
跟換核心後官方驅動都要從新安裝的

Re: 小白安裝ALSA-1.0.21,內核2.6.31 on asus-w7sg成功

发表于 : 2010-11-27 14:04
lanzhujun
比如我的 ALC660-VD 对应的 modle 是 3stack-660,对应的 module 是 snd-hda-intel,那么 configure 时候需要加上 --with-cards=hda-intel。编译安装时遇到问题请仔细阅读源码附带的 INSTALL。



到底是 3stack-660 还是 hda-intel