This wiki tries to capture some of the sound issue corner cases. For general information regarding debugging sound issues, please refer to:
https://help.ubuntu.com/community/DebuggingSoundProblems
Compatibility
A word about compatibility: even though most sound cards are claimed to be SoundBlaster compatible, very few currently sold cards are compatible enough to work with the Linux SoundBlaster driver. [1]
Manual installation of sound drivers
Now figure out which module you need go to Sound Drivers and pick the manufacturer. With the information provided by previous commands it should be easy to find the right module.
To see if this module is available on your system (it usually is) try the following command:
$ modinfo [modulename]
This will also list the possible parameters for the module. For example some ISA cards require you to pass isapnp=0 to modprobe. It may also require the IRQ and IO of the card if that's the case, these can be found in the output of the aadebug script.
Now that you've figured out all this information, lets try loading the module
#modprobe example $ sudo modprobe snd_es18xx isapnp=0 port=0x220 mpu_port=0x330 dma1=1 dma2=5 irq=5 fm_port=0x388
If this doesn't return any errors, we can save the parameters.
$ echo options [module-name] [module-options] | sudo tee /etc/modprobe.d/[module-name]
Now we can test our setup
#aplay should now list your sound card root@ubuntu:/etc # aplay -l **** List of PLAYBACK Hardware Devices **** card 0: ES1878 [ESS AudioDrive ES1878], device 0: ES1878 [ESS AudioDrive ES1878] Subdevices: 1/1 Subdevice #0: subdevice #0 #the speaker should beep $ /usr/bin/speaker-test
Other problems & troubleshooting
PulseAudio
The recommended method is to use the pulseaudio daemon (esd replacement) and to leave/set applications to use ESounD output. See the Sound section in /usr/share/doc/mozilla-firefox/README.Debian
Flash
If you have issues with Flash playback and sound, see Restricted Formats - Troubleshooting.
Software Mixing
A much better way of getting esd to work with non-esd-aware apps is to make alsa use its software mixer.
sudo /etc/init.d/alsa-utils stop
Then edit
/var/lib/alsa/asound.state
and add the following text verbatim to the start of this file
# This text should be added to the beginning of # /var/lib/alsa/asound.state. You only need to add # it once -- it is saved across reboots. pcm.asymed { type asym playback.pcm dmix capture.pcm dsnoop } pcm.default { type plug slave.pcm asymed } pcm.dmix { type dmix ipc_key 5678293 ipc_key_add_uid yes slave { pcm 'hw:0,0' period_time 0 period_size 128 buffer_size 2048 format S16_LE rate 48000 } } pcm.dsnoop { type dsnoop ipc_key 5778293 ipc_key_add_uid yes slave { pcm 'hw:0,0' period_time 0 period_size 128 buffer_size 2048 format S16_LE rate 48000 } }
then
sudo /etc/init.d/alsa-utils start
Now as many programs as you want can all use the sound card simultaneously, both the output and the microphone! ESD-aware apps can use ESD, other apps will still work fine.
One notable misfeature of ESD is that it often ruins the A/V sync when playing videos. After setting up the software mixer, you might find it useful to turn esd off altogether (in tthe Sound control panel uncheck "Enable Software Mixing"). Now, especially with GStreamer 0.10, your movies should have perfect A/V sync.
It's a shame that software mixing isn't enabled on Ubuntu by default.
More on Software Mixing
A problem is the default config is OSS doesn't let 2 apps make sound at the same time. Here is a report of how it was dealt with: Basically get esd to relinquish control of the sound when its not in use. Then add mixing for oss so you can use multiple oss programs at once, like Quake3 and Teamspeak, or in my case, Wolfenstein and Teamspeak
First use section 3 here: Restricted Formats then do this: http://alsa.opensrc.org/index.php?page=DmixPlugin