On 05/20/2010 10:25 PM, Canek Peláez Valdés wrote:
On Thu, May 20, 2010 at 2:04 PM, Nikos Chantziaras<rea...@arcor.de>  wrote:
[snip]
What doesn't work is PulseAudio, actually.  Too many problems with it. Pulse
is simply broken by design; it's too far from the kernel to be any good.

If I may use (most of) your words: "Well, it works here.  It's been
rock-solid through months." And with various use-cases, if I may add.

Can you elaborate why the audio architecture has to be close to the
kernel? The part that talks to the hardware obviously has to, but why
the part that handles the features, the mixes, the virtual devices?

Because as soon as you disable ALSA dmix and/or Pulse, suddenly you get acceptable sound latency.

With OSS4, which has in-kernel mixing, it doesn't matter if you enable the mixer or disable it; sound always has acceptable latency.

Thus, I can only conclude that mixing has to happen in-kernel. But I base this only on the ALSA/Pulse vs OSS4 comparison. It could also be that the user-space implementation of ALSA just sucks. But that's hard to believe, since if that were the case they would have fixed it several years ago already.


I'm under the impression (correct me if I'm wrong) that it was one of
the major reasons to leave OSS4 outside the upstream kernel; too many
stuff in there that belongs in user space. It sounds reasonable to me.

It sounds reasonable from a designer's point of view. But a system is useless if it's only designed good but doesn't actually work in a satisfactory manner.


Specially when PulseAudio just works, for me and many more.

Sorry, that just pretentious of you here. PulseAudio is the most flamed at, hated, sound-related software around. And this is because it does *not* work for many, many users, and the first thing they try to do is find out how to disable the thing.


ALSA can't switch to Bluetooth either.  You could use PulseAudio with OSS4
instead of with ALSA though, but this is not officially supported.

Indeed it's not supported, because it's (using your words again)
"broken by design" by trying to do too many things inside the kernel
that belong in user space. That's my understanding at least; please
correct me if you believe I'm mistaken.

You're mistaken in that a mixer should be in the same boat as network streaming, bluetooth, etc, etc. I believe the *mixer* should be in-kernel. Everything else doesn't need to be. PulseAudio's extreme latency problems (which even upstream admits can't be fixed easily) stem from that.


Reply via email to