Hacker News new | ask | show | jobs
by loeg 59 days ago
In the time before PulseAudio, when it was ALSA (and OSS).
1 comments

Even back then, it could play more than one stream. You had to have a sound card or kernel drivers that supported it (and all non-obsolete ones did by the time pulse audio came out).

I still don’t know what purpose pulseaudio serves, other than adding latency and making stuff less reliable.

PipeWire is better, but it turns out you can just use OSS under freebsd these days, and everything just works, but with lower latency.

If you have some sort of potato sound card that can’t mix output channels in hardware, note that OSS added sw mixing by 2007 (with support for 16 channels by default).

Sure, sure. I remember a time when I didn't have a sound card that supported it and couldn't play multiple streams at a time; this is a thing that really happened. I did eventually go out and buy a soundcard to enable multiple streams.
Nonsense - HDA systems were overwhelmingly the majority of Linux systems at that point, and didn't have any hardware support for multiple streams. OSS with software mixing was a commercial product that wasn't upstream. ALSA had userspace mixing but it was very much not an out of the box experience, and didn't take advantage of hardware capabilities in the way Pulseaudio did to reduce wakeups and power consumption.
ALSA had DMIX by default, all that before Pulseaudio. I remember Knoppix and a few more doing that.
DMIX was typically not an out of the box default, and had multiple shortcomings.
Even so, surely it would have been easier and better to just fix or replace dmix (in kernel, in the existing data path) than introduce a userspace daemon, break API compatibility, and so on.

It’s been 20 years and pulseaudio is still flaky / high latency / incomprehensible. Professional flows that care use stuff like jack.

TBH pipewire works much better than pulse, up to the point to replacing jack itself. But DMIX worked fine for non-professional user needs and with very low CPU usage. Yes, it was Jackd for the professional but Windows had ASIO drivers too.
Doing audio mixing well is something that is, for a number of reasons, hard to do in kernel. And if you're still using pulseaudio, why? The rest of the world's moved to pipewire, which also provides a jack-compatible interface.
> It’s been 20 years and pulseaudio

PipeWire replaced Pulse like five years ago; who is using Pulse at this point to make statements like "20 years" meaningful? It isn't really an ongoing concern.

Pulseaudio came with an ALSA plugin which meant applications written for the ALSA API could output to PA so it was compatible.
It was on tons user oriented distros.
This is the era where I was the lead on Ubuntu laptop support, and I promise you that dmix was not a trivial option to make things work out of the box.
Bullshit.
Do you think starting with "Nonsense" makes your argument better heard?