BBS水木清华站∶精华区

发信人: ClearMind (我是谁?), 信区: Linux        
标  题: 哥们,还在为您的AC97伤脑筋么?[英文] 
发信站: BBS 水木清华站 (Sun Oct 22 15:31:12 2000) 
 
URL: http://www.linuxnewbie.org/nhf/intel/hardware/southbridge_alsa.html 
===========================Begin========================= 
   Installing ALSA for the VT82C686 integrated sound 
   Written By: Chris High 
   based on the NHF by Todd Davis for Yamaha 
 
   This tutorial is specifically tailored towards installing ASLA and 
   getting it configured for the VT82C686 [Apollo Super AC97/Audio] aka 
   Southbridge integrated sound, with an effort to include information on 
   how to locate the particulars for other sound systems. This tutorial 
   is meant to supplement, not replace, ALSA's own documentation files. 
 
   ASLA stands for Advanced Linux Sound Architecture, and was developed 
   as a method of modularizing and standardizing sound for Linux. If your 
   Linux distribution already supports your sound card, then you don't 
   need ALSA. Be aware that Via Technologies does release drivers for 
   this sound device for Redhat and Caldera, see the end of the tutorial 
   for a reference on where to pick them up at. 
 
   This tutorial assumes several things: 
   * You have Linux installed and working 
   * You are using an X based desktop, such as KDE or Gnome 
   * You are logged in as Root, or have used 'su' 
   * You know what a terminal window is, and can enter commands 
   * You have been able to acquire the ALSA 0.5.8a (or newer) source 
   files, and that they reside in your home directory; ALSA web site is: 
   http://www.alsa-project.org/ 
   * You have no soundcard card and are using the integrated sound chips 
   on your mb, and those chips are the Southbridge set. 
 
   There are 3 packages available for ALSA: 
   * alsa-driver-0.5.9c.tar.bz2 
   * alsa-lib-0.5.9.tar.bz2 
   * alsa-utils-0.5.9b.tar.bz2 
 
   You will need at least 5.9 to pickup the VT82C686 
 
   The only package that we need for sound, and the only one that we be 
   covered here, is the driver package. It is assumed that this file is 
   in your home directory, if not you will need to 'cd' to wherever it is 
   located. Let's begin. 
 
   Start by opening a terminal window. Type: 
 
   ls 
 
   This should give you a listing of all the files and folders in your 
   home directory. You should see the asla-driver-0.5.8a.tar.gz file in 
   this list. If you have a newer version of this file, then note down 
   that name, as you will be using it in place of the 0.5.8 references 
   made here. Type: 
 
   bzip2 -d alsa-driver-0.5.9c.tar.bz2 
 
   This will uncompress the zipped up file, leaving you with a file 
   called asla-driver-0.5.9c.tar. Now we can extract those files by 
   typing: 
 
   tar xvf alsa-driver-0.5.9c.tar 
 
   At this point, a directory called alsa-driver-0.5.9c has been created, 
   and the source code has been placed in the directory. Switch to the 
   new directory by typing: 
 
   cd alsa-driver-0.5.9c 
 
   You may wish to type an ls command to make sure that there are files 
   in this directory. I recommend that you read any README and INSTALL 
   files to make sure there is no new information necessary to install 
   ALSA. 
 
   ALSA will configure the source code for your system automatically by 
   typing: 
 
   ./configure 
 
   Note that the "./" is part of the command and is necessary. The 
   'configure' script has several options that can assist you in 
   customizing the source to your system and sound card. For the 
   VT82C686, you will not need them. Those of you with an older, ISAPNP 
   sound card may need to run configure with this switch (./configure 
   --with--isapnp=yes). Read the included docs for other options 
   available. 
 
   Once configure is complete, we need to compile the source to produce 
   the binary files. This is done by typing: 
 
   make 
 
   The compile process can take a while, depending on the speed of your 
   computer. It is normal for small 'warnings' to come up during the 
   compile process, which should not stop the compile, and should not 
   alarm you. If the process encounters a fatal error, the compile will 
   halt and alert you. At that point, you will need determine the problem 
   and try to resolve it before recompiling. 
 
   Assuming the process was successful, type: 
 
   make install 
 
   to install the ALSA binaries. We are now halfway done (roughly). 
   Incidentally, if you have downloaded the ALSA lib and utils packages, 
   you may follow the same basic above procedure to install those 
   packages as well, but they are not needed for sound. 
 
   ALSA has provided a script file that will create the new sound devices 
   for us, and it will put them in the /dev directory. To run this 
   script, type: 
 
   ./snddevices 
 
   This is the part of the install that causes the most confusion for 
   people, and the documentation provided by ALSA is sparse and 
   confusing. It is necessary to modify Modprobe's configuration file 
   with the necessary ALSA information. This file resides under the /etc 
   directory, and depending on what version of Modprobe you have 
   installed, it may be called either 'conf.modules', or 'modules.conf'. 
   For newbies, the easiest way to locate and edit this file is to use 
   the graphical file manager in KDE or Gnome (or whatever) to locate 
   this file, and click on it to open up a text editor. There may already 
   be a few lines of text in there, which we don't want to disturb. 
 
   Let me take a moment here to recommend that you make a backup copy of 
   this file before proceeding. A backup 'should' automatically be 
   created later, but just to be safe, do it by hand. Name it 
   conf.modules.old or something similar to that, and put it in a safe 
   place, just in case. Always backup any file you edit by hand. 
 
   If you are using something other than VT82C686, you have have to 
   figure out what ALSA call your card, and what, if any snd_id you will 
   need for the interwave entry.  Many sound cards have listed in the 
   ALSA doc what you should use but many of the newer "cards" dont. If 
   not, try the following: 
 
   Where $Install is where you've placed your ALSA install (perhaps 
   /usr/local/alsa), 
   cd $Install/alsa-driver-0.5.9c/modules 
   ls 
 
   These are the possible values you can replace snd-card-via686a with. 
 
   To determine if your card requires the extra snd_id parm: 
   cd $Install/alsa-driver-0.5.9c/cards 
   grep Card: YOURDRIVERFILE.c 
 
   This should list the possible id's your card might take; for the 
   via686a this returns nothing, this means you don't have to specify 
   that parameter. You might also find that grep "Card identification 
   stuff" *.c in this dir will help you figure out which driver works for 
   your card. The trick is that some of the module names leave off 
   "card", so you still have to go to the module dir to figure out which 
   name you should specify in the configuration file. 
 
   Once you have the conf.modules file open in your text editor, move the 
   text cursor to the line after any other existing entries, and add 
   these lines to the file: 
 
   # ALSA native device support 
   alias char-major-116 snd 
   options snd snd_major=116 snd_cards_limit=1 
   alias snd-card-0 snd-card-via686a 
   #next line might need to have snd_id, if so... 
   options snd-card-interwave snd_index=0 # see below 
 
   # OSS/Free setup 
   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 
   #----------> end add to /etc/conf.modules 
 
   Some cards require something more like this on the interwave. 
   options snd-card-interwave snd_index=0 snd_id="YMF724" 
 
   #I also found I had to remove: 
   alias sound-slot-0 sb 
   options sound dmabuf=1 
   alias midi opl3 
   options opl3 io=0x388 
   options sb io=0x240 irq=5 dma=1 
   #---------> end remove /etc/conf.modules 
 
   Save this file under the same name. If your first guess at snd_id and 
   snd_card dont work, keep trying variations. 
 
   Almost done now. Switch back to the console, and enter the following 
   command: 
 
   modprobe snd-card-via686a 
 
   For all intents and purposes, your ALSA driver is now setup and ready 
   to go, but there are a few things you should be aware of. First of 
   all, reboot. It's a pain, but I like to take the side of caution and 
   make sure that everything loads and works as it should. 
 
   NOTE: This is important. When the driver is first installed, it sets 
   all the mixer channels to "Mute". You must use a mixer app of some 
   sort to turn the volume up on the various sound channels. I use KDE, 
   and the mixer app built into the status bar works just fine. If you 
   downloaded the ALSA utils also, there is a mixer app in there that you 
   can use as well. 
 
   Finally, you may want or need to setup "aslasound" as a startup 
   service. It is beyond the scope of this document to discuss each 
   distro's method of doing this. However, most distros now come with 
   utilities to help you setup your startup services using a GUI of some 
   sort. If not, you may need to edit your /etc/rc.local file by hand. 
 
   Have fun with ALSA. So far, it has worked 100% with my KDE sounds, 
   playing CD's and starcraft had sound with no problems. 
 
   Some non-ALSA help for Southbridge: 
   For folks running redhat or caldera, you can pickup drivers at VIA 
   Technologies's web site, 
   http://www.via.com.tw/drivers/index.htm 
   Look in the section that discusses enabling the VT82C686A Southbridge 
   Audio Drivers 
 
   Incidentally, the MB I had which has this chipset is Biostart's M7VKB 
   Would you like to have your article published online? Send them in to 
   newfiles@linuxnewbie.org 
 ========================End=================================== 
 
谁有空翻译或者改编一把好了。呵呵... 
 
-- 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 210.73.87.125] 

BBS水木清华站∶精华区