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 Biostar's M7VKB
Would you like to have your article published online? Send them in to newfiles@linuxnewbie.org
|