自己编译Ubuntu的ALSA驱动 取得更好的音质


很久没有用音箱听音乐,周末本来准备去买一对惠威M200 MK2,之前先试试已经服役7年的Creative Soundworks SW300,却发现T60的声卡在Ubuntu下的音质比Windows下差很多,买音箱的念头只好暂时作罢。

不甘心地在网上搜索了半天,找了个办法,自己编译一个ALSA驱动,更换Ubuntu自带的驱动,换上去听听,确实有了不小的进步,以下是操作步骤:

首先,获取编译需要的软件包:
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

现在创建一个目录,用于编译alsa的驱动
mkdir alsa-src
cd alsa-src

然后下载
wget ftp://ftp.alsa-project.org/pub/d ... r-1.0.14rc3.tar.bz2
wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.14rc3.tar.bz2
wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.14rc2.tar.bz2

解包
tar xvjf alsa-driver-1.0.14rc3.tar.bz2
tar xvjf alsa-lib-1.0.14rc3.tar.bz2
tar xvjf alsa-utils-1.0.14rc2.tar.bz2

在编译之前,还要下载对应的补丁文件
wget http://lenovo.dropshock.com/files/realtek6.tar.gz

用补丁文件替换源文件
tar xvzf realtek6.tar.gz
cp patch_realtek.c ~/alsa-src/alsa-driver-1.0.14rc3/alsa-kernel/pci/hda/

现在开始编译
cd alsa-driver-1.0.14rc3
./configure --with-cards=hda-intel
make
sudo make install

cd ../alsa-lib-1.0.14rc3
./configure
sudo make install

cd ../alsa-utils-1.0.14rc2
./configure
sudo make install

好了,编译完成,剩下的就是替换掉原有的alsa驱动

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

重新启动alsa
sudo /etc/init.d/alsa-utils restart
sudo /etc/init.d/alsasound restart

然后重新启动Ubuntu,可能会发现音量图标上有个红叉,需要在音量控制界面中将PCM的静音取消。再听听,音质果然好了不少。

相关内容