Linux下ViaAc97声卡驱动程序编译

发表于:2007-07-04来源:作者:点击数: 标签:
总算使自己的Via Ac97集成声卡发声了,除 MI DI外其他播放正常,以下是摸索出来的一点心得,希望对大家有点帮助。 首先,你必须下载驱动程序及支持库文件,我下载的是: 1. alsa-driver-0.5.9c.tar.bz2 2. alsa-lib-0.5.9.tar.bz2 3. alsa-utils-0.5.9b.tar.

  总算使自己的Via Ac97集成声卡发声了,除MIDI外其他播放正常,以下是摸索出来的一点心得,希望对大家有点帮助。
  首先,你必须下载驱动程序及支持库文件,我下载的是:
  1. alsa-driver-0.5.9c.tar.bz2
  2. alsa-lib-0.5.9.tar.bz2
  3. alsa-utils-0.5.9b.tar.bz2
  4. alsaconf-0.4.3b.tar.gz
  
  大家可以到http://www.alsa-project.org/下载最新版本驱动程序文件。
  
    安装详细过程如下:
  1 最好先重新编译内核,大多数情况下需要:
  1)进入/usr/src/linux/目录,运行命令make menuconfig进入编译状态,但不要做任何修改,直接退出即可,系统会问你存不存盘,回答YES,存盘退出。
  2)运行命令rm -rf /lib/modules/删除已前的modules文件。
  3)连续运行命令make dep、make clean、make install,这个过程会用较长时间。
  4)运行命令make modules重新编译模块,这一步因为编译会用较长时间
  5)运行命令make modules_install安装modules。
  
  2 使用root用户登录
  1)进入下载的目录,把alsa-driver-0.5.9c.tar.bz2和其它三个文件拷贝到一子目录中,输入命令:
    cp alsa-driver-0.5.9* /root
  2)解压缩文件。
    输入命令:
    bzip2 -dv alsa-driver-0.5.9c.tar.bz2
    此时用“ls”命令查看,当前目录里面只有alsa-driver-0.5.9c.tar,说明bzip压缩已经解除。
    输入命令:
    tar vfx alsa-driver-0.5.9c.tar
    程序自动生成一个名为alsa-driver-0.5.9c的子目录。
    对其它两个软件包重复此步骤,解开压缩。使用ls命令查看,就会发现相应的目录了。
    如果你对命令行不够熟悉,可以查看帮助信息和书籍。也可以启动X-Window窗口环境,在文件管理程序里面选择相应压缩文件,然后在文件菜单里面选择解压缩命令就可以了。
  3 安装驱动文件。 (alsa-driver-0.5.9.tar.bz2)
  1)打开内核中的声卡支持
    绝大多数情况下,此步骤可以忽略,因为基本所有Linux发行版本内核默认状态都是支持声卡设备的。
  2)运行脚本。
    输入命令:
    ./configure
    如果你的声卡属于ISA即插即用类型,请输入下面的命令:
  ./configure --with-isapnp=yes
  然后输入如下命令:
  make install
    注意:此步骤操作时间较长,请耐心等候。如果一切正常,程序最后会提示模块编译成功!并且警告声卡默认的状态是静音,需要使用“amixer”等实用程序调节音量。
    amixer等命令正是alsa-utils-0.5.9a.tar.bz2附带的,需要编译才能使用。
    如果make命令不能执行,那么你需要找出Linux安装盘,把有关开发编译的文件包安装进系统。具体操作请参考软件手册。
  输入命令:
  ./snddevices
    脚本程序会在/dev目录自动创建有关声卡设备。
  
  3)安装库文件和实用程序。
  由于amixer等程序需要找到对应的库文件才能编译,所以需要首先安装alsa-lib-0.5.9.tar.bz2。
    进入相应的子目录alsa-lib-0.5.9,输入命令:
    ./configure
    输入命令:
    make install
    这两步做好后,回到上层目录,进入alsa-utils-0.5.9b子目录,输入命令:
    ./configure
    完成后输入命令:
    make install
  4)设置声卡参数(alsaconf-0.4.3b.tar.gz)
    到alsaconf-0.4.3b目录,运行命令:
    ./alsaconf
    选择你自己的声卡,然后就设置Mpu Port(一般为0X300),接着设置playback_frame_size(一般为128Kb),capture_frame_size(一般为64Kb),设置完毕,但此时退出后,alsaconf会告诉你声卡并未检测到,经本人摸索后,原因如下:
    alsaconf在/etc/conf.modules文件中添加如下内容:
  # --- BEGIN: Generated by ALSACONF, do not edit. ---
  # --- ALSACONF verion 0.4.3b ---
  alias char-major-116 snd
  alias snd-card-0 snd-card-x
  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-pcm-oss
  alias sound-service-0-8 snd-seq-oss
  alias sound-service-0-12 snd-pcm-oss
  options snd snd_major=116 snd_cards_limit=1 snd_device_mode=0666
  (接上行)snd_device_gid=0 snd_device_uid=0
  options snd-card-x snd_index=0 snd_id=CARD_0 snd_mpu_port=0x300
  (接上行)snd_joystick=0x300 snd_pbk_frame_size=128 snd_cap_frame_size=64
  # ---END: Generated by ALSACONF, do not edit. ---
  重新启动系统后,系统启动声卡失败,并提示snd-card-x模块不存在,由于我将上述内容修改如下:
  # --- BEGIN: Generated by ALSACONF, do not edit. ---
  # --- ALSACONF verion 0.4.3b ---
  alias char-major-116 snd
  alias snd-card-0 snd-card-via686a
  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-pcm-oss
  alias sound-service-0-8 snd-seq-oss
  alias sound-service-0-12 snd-pcm-oss
  options snd snd_major=116 snd_cards_limit=1 snd_device_mode=0666
  (接上行)snd_device_gid=0 snd_device_uid=0
  options snd-card-via686a snd_index=0 snd_id=CARD_0 snd_mpu_port=0x300
  options snd_joystick=0x300 snd_pbk_frame_size=128 snd_cap_frame_size=64
  # ---END: Generated by ALSACONF, do not edit. ---
  重新启动系统后,声卡启动正常,可能你还听不到声音,因为声卡默认情况下音量为0,启动任务栏上混音器(kmid)调节音量,然后打开X11Amp播放Mp3,将音量调节适中后(X11Amp默认情况下音量也为0),你听到优美的音乐了。
    以上在Bluepoint 2.0中编译成功,希望对大家有所帮助。
  但每次启动系统后,均需调节音量,由于本人属于新手,还望哪位高手指点如何保存音量设置,在此表示感谢。
  

原文转自:http://www.ltesting.net