What is the difference between softwares like JACK, PulseAudio, ALSA, etc? And how does these relate to audio server and audio device driver in a linux system?


1 Answer 1


Very briefly:

ALSA contains the actual device drivers (in the kernel source), and a library to access those drivers. You use sound perfectly fine with just ALSA alone.

PulseAudio implements an additional audio routing level on top of ALSA, including volumes and conversions. Most distros use the PulseAudio + ALSA combo as the default.

JACK is intended for high fidelity minimal latency applications, like a digital audio workstation (DAW). It uses a single audio card as a master clock (while Pulseaudio automatically converts between formats, bit rates, and clock skew between cards). Like PulseAudio, you can also route audio between devices. Unlike PulseAudio, it also handles MIDI.

Today, JACK also uses mostly the ALSA drivers.

"Audio server" isn't a particular well-defined concept. ALSA is a library, PulseAudio and JACK both run a server process. You can have other "audio servers" on top of that, depending on your definition.

Details are easy to find on the internet, e.g. with the link mentioned above in the comments.

  • Thank you for the clarification
    – User
    Jan 30, 2021 at 14:15

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .