|
|
|
|
|
by AshamedCaptain
1438 days ago
|
|
I adopted Pulseaudio back when it was still called Polypaudio, so I am aware of the problems of Linux audio before it, but PA was just yet another sound server in a world that was already full of them and didn't really bring anything to the table. Linux audio world is exactly as much of a shitshow today as it was before PA. Lennart didn't even envision people writing the PA API directly, but rather going through gstreamer (then a fancy new thing) or the like. Pulseaudio got popular and then became "irreplaceable" because it started playing a role that would have been played by HAL back in those days; i.e. setting up audio policy (routing, etc) whenever the kernel would fail at it. I was very critic of Pulseaudio, a sound server, incorporating this role, and argued that this complexity would make this project impossible to replace with a newer sound server when it inevitably came. I was proven wrong, albeit in my defense the replacement Pipewire did require a shitton of effort, and PA was becoming toxic in the meanwhile (see the Bluetooth codecs drama). Pulseaudio's "big" technicaly improvement ("glitch-free" audio, aka interrupt-less, long buffers), and without a doubt its major cause of annoyances to users (since it exercised a lot of rarely used APIs), has not been adopted by Pipewire (which goes back to "low latency" + lots of interrupts) or any other sound server for the matter. (And Pipewire still manages to have better performance...) |
|
I seem to remember that the main thing it did was bring "being maintained" to the table, because esound was unmaintained and stagnating. I still find this to be really ridiculous that people complain about supposed "hostile takeovers" in open source when, for a lot of categories of project, there are still somewhere between zero and one alternatives for any given thing. All you have to do to become the top dog is make something that does the bare minimum and doesn't crash, and has like, one person to triage bugs.
>PA was becoming toxic in the meanwhile (see the Bluetooth codecs drama).
I also still find this to be really ridiculous when people call maintainers "toxic" for being slow or for rejecting patches. Every open source project does that.
>has not been adopted by Pipewire
Actually it has, Pipewire implements the pulse protocol for backwards compatibility. The pipewire developers are also still encouraging developers to use it because it is a lot nicer to use than the pipewire API.