当前位置:Linux教程 - Linux - 用ALSA搞定声卡

用ALSA搞定声卡



        


    LinuxByte注:本站有ALSA下载

    在LINUX下驱动声卡是一件既简单又复杂的事情。简单之处在于如果安装的LINUX版本支持自己机子的声卡,那么一切都万事大吉。只需进入LINUX打sndconfig,选中符合自己机子的声卡,填上DMA、IRQ、IO参数即可。但是如果LINUX不支持的话,则:
    安装ALSA(Advanced Linux sound Architecture)的声卡驱动程序。ALSA是免费的,安装也不复杂。下面以ESS Solol(es1938)声卡为例,介绍ALSA声卡驱动程序的安装方法。先到www.alsa-project.org下载最新的驱动程序。下载后用tar命令把它解压到任意目录下。在安装之前,应确认系统内核支持sound card module,验证方法是键入modprobe sound,如果显示Can’t locate sound module,则证明sound card module未被支持,需要新编译内核。叵支持则显示modprobe sound,运行:
    ./configure
    make install
    ./snddevices
    建立新的声音设备文件。ALSA声音设备文件名与原LINUX声音设备的名称不同。安装完毕后查看驱动程序安装情况可使用cat /proc/asound/sndstat而不是cat /dev/sndstat。
    用任意文本编辑器编辑/etc/conf.modules,加入
    #ALSA portion
    alias char-major-116 snd
    options snd snd_major=116 snd_cards_limit=1
    alias snd-card-0 snd-card-es1938
    options snd-card-es1938 snd_index=1 snd_id=”solol”
    # OSS/Free portion
    alias char-major-14 soundcore
    alias sound-slot-0 snd-card-0
    alias sound-service-0-0 snd-mixer-oss
    alias sound-service-0-1 snd-seq-oss
    alias sound-service-0-3 snd-pcm1-oss
    alias sound-service-0-12 snd-pcm1-oss
    除把第四五行的snd-card-es1938和snd_id=”solol”稍做改动外其余不必改动。es1938改成具体的声卡名称,可参见解压后modules目录中相关名称。Solol改成具体的声卡名称即可(不超过15个字符)。
    modprobe snd-es1938
    此处es1938可做与上步同样的改动。重新启动后声卡驱动程序就已加载,若lsmod可见类似下面的输出:
    Module Size Used by
    snd-pcm1-oss 13964 1 (autoclean)
    snd-mixer-oss 3804 0 (autoclean)
    snd-card-es1938 2100 1 (autoclean)
    snd-es1938 11272 0 (autoclean)
    snd-pcm1 17372 0 (autoclean)
    snd-timer 8476 0 (autoclean)
    snd-mixer 25888 0 (autoclean)
    snd-hwdep 2956 0 (autoclean)
    snd-pcm 9644 0 (autoclean)
    snd 39276 1 (autoclean)
    soundcore 2564 5 [snd sound]
    因为在缺省情况下mixer是无声的,需用一程序打开它。
    KDE:multimedia----Sound Mixer Panel
    GNOME: multimedia----Audio Mixer
    Anotherlevel: utilities----Sound----Xmixer



    发布人:netbull 来自:LinuxAid