在Gentoo Linux下輕松安裝ALSA
ALSA是The Advanced Linux Sound Architecture的簡稱,是目前Linux下最棒的聲卡驅動之一,雖然和商業的OSS驅動相比還尚有差距,但它完全遵守GPL和LGPL版權,並准備加入Linux的 2.6內核中成為Linux聲卡驅動的標准,可謂前途無量,呵呵。
言歸正轉,利用Gentoo強大的軟件包管理系統Portage,讓我們開始alsa的安裝之旅吧:)
1.首先必需確認,把聲卡的支持也就是“Sound Card Support”編譯為模塊加入內核,僅此而已,其他的聲卡驅動一個也不要選。
2.做好了以上步驟,我們開始編譯安裝alsa-drivers.如果你用的是PCI聲卡的話,在這之前可以用以下命令察看一下它的型號:
#grep audio /proc/pci
知道了聲卡的型號後(如果還是不清楚的話,可以參考以下連接:
http://www.alsa-project.org/alsa-doc ),可以直接用以下命令只編譯你聲卡的驅動,以加快編譯的速度。
比如我的聲卡是CS4620的,ALSA的驅動模塊為cs46xx,我就這麼做:
#env ALSA_CARDS='cs46xx' emerge alsa-driver
如果你有一塊以上的聲卡,可以這麼:
#env ALSA_CARDS='xxxx xxxx xxxx' emerge alsa-driver
如果你需要OSS兼容性驅動的話,
#emerge alsa-oss
就可以了,不過這不在我們今天的討論范圍內。
3.驅動編譯完畢後,我們來配置ALSA,讓它為我們“無私”的工作:)
a.用你自己喜歡的編輯器打開/etc/modules.d/alsa文件,以下是我的文件:
# Alsa 0.9.X kernel modules' configuration file.
# $Header: /home/cvsroot/gentoo-x86/media-sound/alsa-driver/files/alsa-modules.conf-rc,v 1.1 2002/12/21 06:31:52 agenkin EXP $
# ALSA portion
alias char-major-116 snd
# OSS/Free portion
alias char-major-14 soundcore
##
## IMPORTANT:
## You need to customise this section for your specific sound card(s)
## and then run `update-modules' command.
## Read alsa-driver's INSTALL file in /usr/share/doc for more info.
##
## ALSA portion
## alias snd-card-0 snd-cs46xx (去掉前面的兩個#號,並把snd-cs46xx改為snd-xxxx你的聲卡驅動模塊)
## alias snd-card-1 snd-ens1371 (如果你有一塊以上聲卡的話,修改方法同上)
## OSS/Free portion
## alias sound-slot-0 snd-card-0
## alias sound-slot-1 snd-card-1
##
# OSS/Free portion - card #1
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
## OSS/Free portion - card #2
## alias sound-service-1-0 snd-mixer-oss
## alias sound-service-1-3 snd-pcm-oss
## alias sound-service-1-12 snd-pcm-oss
alias /dev/mixer snd-mixer-oss
alias /dev/dsp snd-pcm-oss
alias /dev/midi snd-seq-oss
# Set this to the correct number of cards.
options snd cards_limit=1 (這裡是設置ALSA驅動聲卡的數目,如果你有一塊以上的聲卡可以在這裡做相應修改)
b.確認文件修改無誤後,執行以下命令更新系統模塊:
# update-modules
c.察看/etc/devfsd.conf,確認alsa設備的權限設置的正確與否。
# ALSA/OSS stuff
# Comment/change these if you want to change the permissions on
# the audio devices
LOOKUP snd MODLOAD ACTION snd
LOOKUP dsp MODLOAD
LOOKUP mixer MODLOAD
LOOKUP midi MODLOAD
REGISTER sound/.* PERMISSIONS root.audio 660
REGISTER snd/.* PERMISSIONS root.audio 660
默認此文件設置 /dev/sound權限為 root和audio,如此一來,普通用戶要使用的話,要把他們的帳戶加入audio組。
4.開始使用ALSA
a.首先把alsasound加入boot運行級
#rc-update add alsasound boot
b.立即開始啟動ALSA,並調整音量
# /etc/init.d/alsasound start
此時ALSA還不能工作,因為alsa默認音量是關閉的。我們需要alsa工具來調整
# emerge alsa-utils
# amixer
# amixer set Master 100 unmute
# amixer set PCM 100 unmute
#aplay xxx.wav (你可以隨便找一個wav文件來試驗一下)
如果一切順利的話,現在ALSA已經可以正常工作了:)
對了,如果你使用xmms聽歌的話,記得#emerge alsa-xmms來讓xmms支持ALSA
最後,要說明一下,如果你重新編譯了內核或升級了新的內核的話,你需要重新編譯alsa-driver並,僅此而已,其他的諸如alsa-oss alsa-utils都不需要重新編譯。Enjoy with Gentoo