Hacker News new | ask | show | jobs
by bee_rider 144 days ago
PipeWire is like 10 years newer than PulseAudio. It probably had a chance to learn some lessons!

IIRC before PulseAudio we had to mess around with ALSA directly (memory hazy, it was a while ago). It could be a bit of a pain.

3 comments

PipeWire was also made by a guy with a lot of multimedia experience (GStreamer).

ALSA was kind of OK after mixing was enabled by default and if you didn't need to switch outputs of a running application between anything but internal speakers and headphones (which worked basically in hardware). With any additional devices that you could add and remove, ALSA became a more serious limitation, depending. You could usually choose your audio devices (including microphones) at least at the beginning of a video conference / playing a movie etc, but it was janky (unreliable, list of 20 devices for one multi-channel sound card) and needed explicit support from all applications. Not sure if it ever worked with Bluetooth.

> Not sure if it ever worked with Bluetooth.

It does, with the help of BlueALSA[0].

[0] https://github.com/arkq/bluez-alsa

I remember ALSA. Sure, it was finnicky to use `alsamixer` to unmute the master channels now and then, but I personally never had any trouble with it.
I still need to use alsamixer to unmute my headphones after accidentally unplugging them and plugging them in again fails to do so. That's with PipeWire - never had that problem with just ALSA.
Eh, I had to do that with pulseaudio too, but constantly, across all distros and headphones. Pipewire is shonky, I have to restart now and then on my steam deck (I'm using it as a desktop), but it's still much better than pulseaudio. Even ALSA was better than pulseaudio lol
For most of the (sadly not shorter) life of PulseAudio, ALSA was more reliable, but at some point, Firefox got a new audio backend that straight up dropped support for ALSA, and a few games started crashing with backtraces indicating audio trouble when not run with PulseAudio. I've had to deal with PulseAudio's dropouts under load, latencies and lockups for 2-3 years before PipeWire became a viable replacement.
Alsa with dmix is my current setup on ArchLinux.
I installed Gentoo in 2014 and getting PulseAudio working was much easier than ALSA. It was also much better.

I get ALSA followed the Unix philosophy of doing one thing but I want my audio mixer to play multiple sounds at once.

Gentoo in 2014 had dmix enabled by default without the need for any user configuration. I know because I was using it.
I got stuck for two weeks installing the kernel because I forgot to mount /boot. Perhaps I disabled it by accident when goofing around in alsamixer? Or my card did or didn't have hardware mixing?

I didn't actually know anything about Linux at the time and started with Gentoo because I saw a meme saying "install Gentoo" and people told me not to start with that distro. So it's possible I messed up the default config by accident.

Either way PulseAudio worked after I emerged it.