12

I'm reading and trying to understand why would anyone want to use Pulse Audio and I'm failing to understand. I read this https://www.linux.com/news/hardware/drivers/8100-why-you-should-care-about-pulseaudio-and-how-to-start-doing-it, and I'm still not getting a convincing answer. I have a set up, with one sound card. ( I don't need to multiplex sounds from or to several sound cards). I know that all applications are written with different APIs, ALSA, OSS, JACK etc. So if I configure all those frameworks to route the sound through pulse audio, what benefit do I get, vs allowing all those frameworks talking directly to the sound card driver? In addition, I don't see that Pulse Audio has it's own Application API. So I need to choose a framework anyway (like ALSA). Thanks

  • 5
    For one thing, I know I used to have a problem where if programA used the soundcard, programB couldn't use it until programA was closed. Even if programA were no longer using it. In my case, that sort of thing went away as soon as pulseaudio came about. Perhaps I could have configured ALSA or OSS to also allow multiple programs access to the soundcard but I'd never figured out how. – terdon Dec 14 '15 at 18:51
  • 2
    They (pulseaudio) thought the solution to the many audiosystems on linux was to create yet another audiosystem. – ctrl-d Dec 14 '15 at 19:14
  • If this was a system that could emulate the others or if it had a simpler interface, it as the solution. It seems that this was not achieved. – schily Dec 15 '15 at 10:27
16

It's all about multiplexing.

I don't need to multiplex sounds from or to several sound cards

Ah, but you do! If you want to be able to play audio from two sources at once, ever, for any reason, you need multiplexing.

OSX and Windows handle Multiplexing in the Kernel (but still in software), which is why this never/rarely comes up on those platforms.

However, on Linux, with software like ALSA, multiplexing is left up to the specific sound card / implementation / driver.

Unfortunately, not all cards and all drivers actually support this out of the box.

That's where PulseAudio comes in, doing the multiplexing in software, regardless of your sound card / driver situation.

Without this functionality, if you were say, using ALSA directly sans-PulseAudio, with a sound card that had poor PCM multiplexing support on Linux, you would only ever be able to hear sound from one application at a time.

E.g. if you had a video playing in your web browser, and received a notification in Pidgin, you would not hear the notification sound because your web browser would already have control of your sound card.

By routing all sound through PulseAudio first, this problem is avoided.

Source: A long IRC conversation I once had with the Ubuntu maintainer for ALSA, where I asked them the exact same question you're asking now.

  • 5
    Thanks @Zee! That's a good answer! However I read this alsa-project.org/main/index.php/Asoundrc and I see that I can achieve exactly the same with ALSA configurations, using "plugins". I tested it and I was able to play multiple instances of aplay in the same time. So my question still remains, why do I need Pulse Audio, if I can do this all with ALSA:)? – Michael P Dec 21 '15 at 20:21
  • 5
    Hey @MichaelP, glad to help. The reason PulseAudio is still useful is because you may have multiple audio servers running, not just ALSA. For example if somebody is doing audio editing work they'll often use the JACK audio server for that, which is better suited for low latency audio work, but still use ALSA for general audio. That may not apply to you, but PulseAudio means you don't have to worry about how it all works. If you configure it for just ALSA, you'd have to configure each use-case separately. PulseAudio works WITH Alsa, and any other audio source you might ever use. – Zee Alexander Dec 23 '15 at 0:51
  • 2
    That being said, PulseAudio well may not be especially helpful to you specifically, but generally non-barebones distros configure it for you out of the box, so there's no real reason to replace it with an ALSA plugin. If you're running a distro like Arch where you have to configure everything yourself from scratch, by all means, use the ALSA plugin instead. – Zee Alexander Dec 23 '15 at 0:54
  • 1
    Thanks @Zee Alexander, that settles all my confusion. Thank you for the answer. I wish PulseAudio would explain it that well on their website. – Michael P Dec 23 '15 at 18:31
1

Since introduction of Dmix in alsa, pulseaudio turned to be useless. Bare alsa with Dmix somehow enabled deep inside (I haven't have to set anything) works much better for me. For example, there is no delays while a sound level is being changed.

Just uninstall pulseaudio if you are using recent alsa and feel fine.

  • 1
    Just had this popping problem, uninstalled pulseaudio and now everything sounds fine (playing from multiple sources works great as well). Alsa driver 4.4.0-104, utils 1.1.0 – klogd Mar 22 '18 at 11:37
  • WTaF. Then why do distros still enable the pulseaudio multiplexing daemon? It is laggy, buggy AF and has been the culprit behind too many sound problems! I disable the daemon rather than uninstalling the entire package, since there are dependencies with ALSA configuration, which the package does seem to do well. – Dominic Cerisano Jan 1 at 0:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.