I've heard a ton of crap about PulseAudio on the internet. People even discriminate against systemd simply because it was created by Lennart Poettering.Are there any technical reasons why PulseAudio is disliked? Preferably, answers would include references.
Why do people dislike PulseAudio?
pulseaudio
I've done my share of cursing it, rightly or wrongly.  Or both.  I think it has gained better acceptance over time.Pulseaudio came onto the scene < 10 years ago.  The reaction was a little like the reaction to systemd -- while there are a lot of good reasons for it, these were largely meaningless in many contexts, and for users who were comfortable with the SysV style init scripts, it seemed a pointless hassle, esp. since there was not much documentation around.My first memory of pulseaudio was that it was intended, in part, to allow you to mix streams.  E.g., you could play media and still hear whatever misc. sounds.  This isn't possible with the underlying alsa stuff -- one application at a time gets the device.  Part of the pulseaudio idea was to be that one application, and have other things deal with it instead of alsa.Unfortunately, it did not work very well for a significant number of people, I think.  For years, everytime I installed a new linux desktop system (generally, to the same few boxes), the distro by default used pulseaudio and the sound stuttered terribly.  Except for the occasional video or listening to music, I could care less about sound on computers.  It just does not have much to do with what I use them for.  So like a lot of people, I could not be bothered trying to figure out what the issue was, or read any documentation.  I already knew how to configure alsa from the ground up, so the first time I had a problem (usually, right away) I just uninstalled pulseaudio and alsa worked fine.I finally got around to making use of it earlier this year when I wanted a sound server on a LAN.  It works, although no matter how I do it (there's at least 3 distinct methods), it has a few seconds of latency, which makes it pretty lame for video.  And it easily gets screwed up so I have to restart it on the server side.IMO it is not user friendly, and I presume the justification for that is that it's not intended to be tinkered with much by your normal end user.  The distro packagers configure it, and then hopefully it just works out of the box.