Pipewire vs PulseAudio, general question

https://lemmy.world/post/4455930

Pipewire vs PulseAudio, general question - Lemmy.world

What are the main differences between pipewire and pulseaudio? Which one is better? What are other alternative popular sound servers besides these two?

Pipewire is the new hotness. I’ve read comments from various audio engineers and programmers that pipewire “gets it right”.

Pipewire came out in 2017, pulseaudio in 2004.

Audio engineer here. Anything ALSA is inherently does not “get it right”
What sort of problems have you heard of or seen? I’d like to hear your different perspective, if that’s ok with you?

This got me curious what these acronyms were. I found this information interesting.

hal.science/hal-03116888/document

I suspect they meant “Hardware Abstraction Layer” for “HAL”
Well if they had actually added something other than “that bad, this good” we might actually know.
I don’t think it’s entirely necessary to explain the entire topic in a simple lemmy comment about something that is so easy to search for and learn about.
Which is what any OS already is.
I’m assuming it’s a complaint about how low level ALSA is compared to the, E.G. Audio HAL in Android
Well, being low level is exactly what lets to extract better performance, lower latency and other good stuff.

There’s still a fine line to draw between usability and performance

ALSA is too low level for musicians to reasonably understand

Having something like PipeWire to make it easier to configure isn’t a bad thing

People here also are asking for super low-latency

That’s another nice thing about PipeWire.

It supports configuring JACK for you if you need low latency

One person above(Audbol) want to go even lower.
You lost track of the conversation. That was about ALSA
Can you elaborate on what specifically makes ALSA bad, and what you mean by HAL audio drivers?
I answered below, you can also read on any of the ALSA pages as well as the wiki page for it. Wealth of knowledge on the subject is available

www.alsa-project.org/alsa-doc/alsa-lib/pcm.html

After application transfers the data in the memory areas, then it must be acknowledged the end of transfer via snd_pcm_mmap_commit() function to allow the ALSA library update the pointers to ring buffer. This kind of communication is also called “zero-copy”, because the device does not require to copy the samples from application to another place in system memory.

When you tell RTFM expect to see manual stating opposite of your point.

ALSA project - the C library reference: PCM (digital audio) interface

That’s still not direct hardware, if you think you cracked the code then by all means show everyone otherwise, this would be a huge deal for a lot of people

Not direct enough? It literally says it will send your buffer to soundcard without creating any additional buffers.

Other people under this post complain of ALSA being too direct.