linuxnewbie.org.gif
Tuesday, 12-Dec-2000 10:32:09 EST
Newbized Help Files articles discussion board bookshelf sensei's log advertising info
Installing ALSA for the Yamaha DS-XG Sound Card
By Todd Davis

This tutorial is specifically tailored towards installing ASLA and getting it configured for the Yamaha DS-XG card, however many of the concepts involved in ALSA's installation the configuration are similar for most sound cards. I will attempt, whenever possible, to leave some notes to help users of other cards to properly setup ALSA for their cards as well. 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. Those of us with Yamaha DS-XG cards have been unable to produce sound in Linux for a long time, because Yamaha has been slow to release the necessary information needed to develop drivers for the DS- XG. The only solution up until now was a retail driver package known as OSS. With the release of ALSA v0.5.8a, the XG is now supported, and in the "open source" format.

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
* You have a Yamaha DS-XG card (and no other installed sound cards)

There are 3 packages available for ALSA:
* alsa-driver-0.5.8a.tar.bz2
* alsa-lib-0.5.8.tar.bz2
* alsa-utils-0.5.8.tar.bz2

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.8a.tar.bz2

This will uncompress the zipped up file, leaving you with a file called asla-driver-0.5.8a.tar. Now we can extract those files by typing:

tar xvf alsa-driver-0.5.8a.tar

At this point, a directory called alsa-driver-0.5.8a 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.8a

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 DS-XG, 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.

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-ymfpci
options snd-card-interwave snd_index=0 snd_id="YMF724"

# 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

Save this file under the same name. If you are attempting to install ALSA for a card other than the DS-XG, then the lines containing "snd-card-ymfpci" and "YMF724" will be different. You will need to search the ALSA documentation for the proper file names. In the case of the DS-XG, these were not listed in the docs yet, so I had to search the sound card config files that came with the source code, and keep trying variations until it worked.

Almost done now. Switch back to the console, and enter the following command:

modprobe snd-ymfpci

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. I know that Linux users hate that word, but I like to take the side of caution and make sure that everything loads and works as it should. Besides, on my system, I needed to reboot, even though the driver loaded, it still really didn't activate.

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 MP3's, and even Quake III and Unreal Tournament had sound with no problems.



We would like to hear your feedback.
[-NHF Control Panel-]
The Linux Channel at internet.com
Linux Planet
Linux Today
Linux Central
Linuxnewbie.org
PHPBuilder
Just Linux
Linux Programming
Linux Start
BSD Today
Apache Today
Enterprise Linux Today
BSD Central
All Linux Devices
SITE DESCRIPTIONS
[-What's New-]
Order a Linuxnewbie T-Shirt
Easy Webcam NHF
Directory Navigation NHF
Installing Snort 1.6.3 on SuSE 6.x-7.x
Customizing vim
The SysVinit NHF
Installing ALSA for the VT82C686 integrated sound
USB Creative Video Blaster II for Linux
Configuring the Intellimouse Explorer in XFree86 V4+
The beginnings of a distro NHF
Getting Past Carnivore?
Getting and Installing PGP
Getting your ATI Rage 128 Working
How to create a multiple partition system
Using Fdisk
Introduction to Programming in C/C++ with Vim
Adding a Hard drive in Linux -- In five steps
Installing ALSA for the Yamaha DS-XG Sound Card
Getting your Diamond Rio Mp3 Player to work with Linux
Bash Programming Cheat Sheet
Installing NVIDIA Drivers for Mandrake
Setting up Portsentry
Hard Drive Speed Tweak for Linux
Sensei's Log
Chat room
Join: Linuxnewbie.org SETI Black Belts!
Send in your news
Click the image to add Linuxnewbie.org to your MyNetscape Page
[-LNO Newsletter-]

[-Archive-]
The beginnings of a distro NHF
Connecting to the Internet using KPPP
Getting your SBLive to work
Unreal Tournament NHF
LWE Day 2 Pictures
LWE Day 1 Pictures
The LNO FAQ!
WoW (Words of Wisdom)
Other sites news
What is Linux?
What is Linux? part deux (ups & downs)
Search newsgroups
The List
ALS Report
Feedback Form
jobs.linuxtoday.com.gif
Match: Format: Sort by:
Search:
[-Quick Links-]

Copyright 2000 internet.com Corp. All Rights Reserved. Legal Notices Privacy Policy

internet.com.gif