Home | Linux | Sound | Guestbook | Me

ALSA (Advanced Linux Sound System)

Alsa is a soundsystem for Linux, way better than OSS is and I personally recommand it to everybody I know. So how to setup Alsa on an Archlinux system? Here is howto :)

First download the packages: pacman -S alsa-driver alsa-lib alsa-utils
Next is to find out which driver you need, sometimes you know it, sometimes you don't. If you don't know which driver to use take a look at <this> site. Let's say we own a Terratec EWX 24/96 (ghihi I do I do :)) the sites tells us that we need the ice1712 drivers. Just replace ice1712 to the name of the driver that you need for your soundcard. First let's test the soundcard to see if it really works just typ in the following commands:

  • modprobe snd-ice1712
  • modprobe snd-pcm-oss
  • modprobe snd-mixer-oss

Now you have loaded the drivers, and the oss emulation! Any sound can be played with these drivers, but to need to be root! Does everything work? great! if not, try to build your own Alsa drivers with the ABS (Arch Build System) and try the modprobes again.

head over to /etc/modules.conf and edit that file using your favorite editor, add the following lines:

# ALSA
alias char-major-116 snd
alias snd-card-0 snd-ice1712

# OSS
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

Now go to your home directory and make a file called .asoundrc In this file add the following lines

pcm.ice1712 {
type hw
card 0
}
ctl.ice1712 {
type hw
card 0
}
# ICE1712 spdif
pcm.spdif {
type plug
ttable.0.0 1
ttable.0.1 1
slave.pcm ice1712
}

The last part about the spdif output is only usefull for an ice1712 based card, but it shows you that you can copy audio form one alsa channel to another. Use the alsamixer util to find out what channels your soundcards supports, alsamixer is part of the alsa-utils package. Now you can tell KDE to use ice1712 or spdif to play files (yes the part after pcm.). The stock arts package isn't compiled with alsa support so you have to make your own packahe with ABS.

Now place the modules that you've tested with the modprobe comnmand in your /etc/rc.d file in the modules part and ALSA is loaded everytime you start Linux!

One last note: your channels are MUTED so you have to UNMUTE them before you can hear anything, unmuting can be doen with alsamixer or kmix or whatever mixer, well... it has to support Alsa :)

  Wasted space