Hacker News new | ask | show | jobs
by abstractbeliefs 3586 days ago
On the flip side, if everything can be done by ALSA, and PA is seemingly objectively worse, for what reason are people building their software against PA? Why is it being included anywhere at all?
4 comments

Except ALSA cannot do everything that PA does. ALSA is low-level Linux sound API that PA builds on. Read the post above, it explains the difference.

Basically, if you want multiple sounds playing at the same time (e.g. music + desktop notifications) and you don't have hardware mixer (many common sound chips don't and rely on Windows drivers/sound system to provide the functionality), you are out of luck (no, the ancient dmix plugin is not a solution!). Bluetooth audio (headsets) doesn't really work without PA.

Configuring apps to use different devices (music should go to speakers and video conferencing to a headset ...) is a pain without PA - most applications don't let you select the input/output devices.

And many other things. ALSA is good, but without PA the sound support on a modern Linux desktop would be stuck right in the late 90s. Is it necessary? Not strictly, but it is one heck of a convenience that most don't even realize they have.

Here is a good post from 2008 explaining many of the issues PulseAudio solves and addressing some of the old FUD:

http://0pointer.de/blog/projects/jeffrey-stedfast.html

Unfortunately, there are tons of people with strong opinions about both PA and systemd but very little actual knowledge about what these components do and what issues they address in a modern Linux/Unix system. But that doesn't prevent them from spreading BS FUD and conspiracies about this or that group trying to dominate the market or take over the competing Linux distros.

>no, the ancient dmix plugin is not a solution!

Given that that's exactly what it's for, why isn't it?

Because many devs are on Linux distros, that include PulseAudio by default. Support for *BSD ports is often a bit weak for software like that.
The power of defaults.

Why write for ALSA when the distro ships with PA, and so all of its configuration tools are PA-focused?

Also pulseaudio allows them to sorta support OSS and whatever else pulseaudio will output to for free.
Basically it's a RedHat conspiracy to make open-source programs not work on non-Linux.
I don't see how building your program against ALSA (Advanced Linux Sound Architecture) would make it more compatible with non-Linux OSs.
Maybe @lmm wishes that Redhat threw support behind OSS4? Is that supported under the *BSDs?