1

How can I correctly configure a soundcard in linux for use with a softphone. What´s the diference or correlation with ALSA, OSS and ESD. Which one controls what?

I´m trying without success to configure various softphones, and I can´t control audio correctly...

Some advice would be greatly appreciated!

2 Answers2

3

Before proceeding, which Linux distro are you using?

First, some definitions:

This is the oldest sound driver architecture. It is depreciated, although most kernels keep it around because very old sound cards will have OSS drivers.

This is the replacement for OSS. It is somewhat newer and supports newer cards. If you're playing sound locally on your workstation, and you're not using ESD or PulseAudio, then it's probably a direct connection to the card via ALSA.

This is a form of software mixer, called esound. The idea behind ESD is that sound is no longer tied to the hardware directly but to a network transport, which may or may not play locally. Sound is mixed and then sent to the appropriate destination to be played, where it is "dropped" into an OSS or ALSA driver for playback. There are some shortcomings with ESD and it is slowly being depreciated.

This is a separate project that will eventually replace ESD. It provides a single interface for network sound transport while being backwards-compatible with OSS, ALSA, and ESD. It separates sound inputs (called "sources", which are microphones or other network streams) from outputs (called "sinks", which are usually other clients or a hardware soundcard). Ubuntu has started using this and while it has rough edges, each release handles sound a bit better and the release (I think) is approaching its 1.0 quickly.

The main advantage with PulseAudio is that not only does it have backwards-compat with older software that wants ALSA or OSS, but it also provides a sound API that will remain consistent, while providing a network transport to thin clients or other remote sessions. There are some known shortcomings, especially with heavily-loaded systems or sound processing that requires real-time priority. These issues are being actively worked on.

For configuration, if you're running a Red Hat variant (Red Hat Linux, CentOS, Fedora) you can use the sndconfig command to set up your sound, although I think this method is a bit old-in-the-tooth and will eventually be replaced. You will want to run this command as root, or use sudo, as it will make changes that are system-wide.

For Ubuntu installations, sound is typically auto-configured at installation. Starting with 8.04, the default sound is driven through PulseAudio.

For Debian installations, you will need to add the appropriate people to the appropriate groups to activate sound for them. That's right, using sound is a privilege on Debian systems (to prevent pranking by other users on a multiuser system) and you need to be a member of a group (I believe it's "sound", haven't had to do this in awhile), to get sound to work.

Other distros will have separate instructions for sound setup.

Avery Payne
  • 14,326
  • 1
  • 48
  • 87
3

This would have been a comment for Avery Payne's answer, but I'm still too new here to comment apparently.

OSS in itself is absolutely not deprecated. It went closed source for a while and is not updated in the Linux kernel any more, but is still the way to go for many other *nixes. As for Linux support it is also very much still there, you just have to install it yourself.

As for the state in general in regards to sound systems on Linux, you can read the most excellent article by Insane Coder available at http://insanecoding.blogspot.com/2009/06/state-of-sound-in-linux-not-so-sorry.html.

Mikael Auno
  • 942
  • 6
  • 12
  • I wasn't clear with my "depreciation" remark. My gist was that most folks are gravitating away from OSS over time. Yes, it's still there, and yes, it's still actively used, but over time, this will be buried under the abstraction of PulseAudio, which is thundering onto the scene... – Avery Payne Jun 29 '09 at 22:48
  • oh, and +1 for spotting the issue, providing additional info, and a link. :) Hope that gets you to comment mode soon... – Avery Payne Jun 29 '09 at 22:49