Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

My understanding is that pipewire finally unifies JACK and Pulseaudio. You no longer have to decide if you want a general audio setup or a low-latency one, there's a single audio server now that does everything well.

So from that list the unification is now:

- JACK and Pulseaudio are both replaced by pipewire

- OSS is long gone, ALSA is now the only low-level interface

- ESD, NAS, ClanLib, xine, portaudio, allegro and Phonon are not present in the Ubuntu install I just checked

Basically we're down to a unified stack that has BlueZ and ALSA to access actual hardware and pipewire as the single audio (and video) daemon. Everything else is either shims so apps don't need to change interface or cross platform APIs like SDL and OpenAL. We are much better than what this diagram shows.



There is still an ALSA OSS emulation in the kernel, probably distros do not enable it but I have had it enabled for years. All it needs is some ioctl system calls, which does everything for me internally. ALSA with just system calls and without libalsa can work for some cards but it would be hit and miss. I like that I can use OSS in Go without C/CGo, i.e. https://github.com/gen2brain/oss.


On an infinite featureless plain with spherical cows, yes, in theory we've "unified" everything, as soon as closed source software stops existing (together with BSDs) and everyone rewrites their audio stacks everywhere. (Just like we had unified almost everything before pipewire was invented.)

In practice, OSS and Jack still stick around, as do portaudio, libao and others.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: