Cleaning up the Linux Desktop Audio Mess

Desktop audio on Linux is a mess. There are just too many competing, incompatible sound systems around. Most current audio applications have to support every sound system in parallel and thus ship with sound abstraction layers with a more or less large number of back-end plug-ins. JACK clients are incompatible with ALSA clients, which in turn are incompatible with OSS clients, which in turn are incompatible with ESD clients, and so on. "Incompatible" often means "exclusive;" e.g., if an OSS application gets access to the audio hardware, all ALSA applications cannot access it.

Apple MacOS X has CoreAudio, Microsoft Windows XP has a new user-space audio layer; both manage to provide comprehensive APIs that make almost every user happy, ranging from desktop users to pro audio people. Both systems provide fairly modern, easy-to-use audio APIs, and a vast range of features including desktop audio "bling."

On Linux we should be able to provide the same: a common solution that works on the desktop, in networked thin-client setups and in pro audio environments, scaling from mobile phones to desktop PCs and high-end audio hardware.

...

Download PDF.