LWN.net Logo

Open source identity: PulseAudio creator Lennart Poettering (CIO)

CIO interviews Lennart Poettering. "One should never forget what we are doing here. We took an audio system that followed the low-level design that was current in the early '90s and brought it in one big step to what is current today. We inserted an entire new layer into our stack right in the middle, so that we can catch up with the more advanced audio stack that Mac OS X or Windows provide right now. Doing something like this, of course, will trigger problems at many places. Criticism hence must be expected."
(Log in to post comments)

Open source identity: PulseAudio creator Lennart Poettering (CIO)

Posted Oct 12, 2009 20:40 UTC (Mon) by sbergman27 (guest, #10767) [Link]

> We inserted an entire new layer into our stack right in the middle, so that we can catch up with the more advanced audio stack that Mac OS X or Windows provide right now.

My impression over the last couple of years is that it took a system that basically worked, after years of maddening, hair-tearing unreliability... and smacked it right back into the Samsara of unreliablility from which it had finally emerged. It also added noticeable latency. And an unnecessary and redundant layer of volume controls. All in the name of... I'm not sure what. Probably some esoteric Vista bullet point marketing feature that few actually care about.

Thanks, Lennart.

Open source identity: PulseAudio creator Lennart Poettering (CIO)

Posted Oct 12, 2009 23:34 UTC (Mon) by nix (subscriber, #2304) [Link]

Well, it means we have mixing again on modern cards (which generally can
only play one stream at once and suck at resampling, if they can do it at
all: no, I don't know why they've got *less* capable over the years
either). And it means we have halfway decent networked audio (esound?
don't make me laugh) without stutter.

Oh, and it means we can kill esound kill KILL KILL AHAHAHAHA *ahem*.

Everything else is just gravy.

(and, y'know, it's been perfectly stable for me with the exception of one
bug due to an infelicity in the ALSA driver for my sound card, that
Lennart gave me a workaround for in less than fifteen minutes when I asked
on the mailing list. He really is very responsive if you don't approach
him as if he ate your sound-system baby.)

Open source identity: PulseAudio creator Lennart Poettering (CIO)

Posted Oct 13, 2009 5:29 UTC (Tue) by alankila (subscriber, #47141) [Link]

They have got less capable because other operating systems have become more capable.

Open source identity: PulseAudio creator Lennart Poettering (CIO)

Posted Oct 13, 2009 13:30 UTC (Tue) by nye (guest, #51576) [Link]

>Well, it means we have mixing again on modern cards (which generally can
only play one stream at once and suck at resampling, if they can do it at
all

How does it improve upon ALSA in that area?

I've ragged on PA quite a bit in the past, but I'm still slightly interested because it would be nice to be able to, eg, reroute sound from a running Firefox instance to a USB headset, or back to the main soundcard, and PA AIUI should be able to do that trivially.

Open source identity: PulseAudio creator Lennart Poettering (CIO)

Posted Oct 14, 2009 2:04 UTC (Wed) by paulj (subscriber, #341) [Link]

Yep, PA does that nicely. It can even do it automagically, if your hardware and
drivers correctly label stuff and report jack sensing, I gather. PA can also
transparently redirect your sound to other machines on the network, on the fly.
With zero-conf auto-detection of other PA servers too.

The extra layer of volume controls is quite infuriating though - you can get very
strange and unwanted behaviour when you use the master volume in the
presence of multiple sound sources. Anyway...

Open source identity: PulseAudio creator Lennart Poettering (CIO)

Posted Oct 13, 2009 5:42 UTC (Tue) by xorbe (subscriber, #3165) [Link]

Been using Linux for nearly 15 years now ... the audio sub-system still sucks. Why doesn't the kernel do something sane like support 4 or 8 channels and mix natively ... what, is the scheduler performance so crappy that it can't handle 8 stereo channels of 16-bit 48KHz data timely? Stuck with my single channel Intel on-board audio still. Every two years we get a "new and improved" crap audio server process, and nobody learns.

Open source identity: PulseAudio creator Lennart Poettering (CIO)

Posted Oct 13, 2009 6:17 UTC (Tue) by alankila (subscriber, #47141) [Link]

There is no one setting that is OK for everyone. The most important thing to consider is that hi-fi audio processing can take a lot of time, and the only real improvements available for, say, convolutions are SSE/SSE2 processing that can operate 4 or 2 floats at a time.

Unfortunately for kernel, it can't do floating point mathematics. That limits kernel's operations to integer-only stuff, which is unable to do it well enough. 32-bit integers aren't wide enough for running 96 dB SNR convolutions, so no serious audio freak would accept such a compromise.

So, to summarize: you can't solve this problem from kernel in fashion that is acceptable for everyone.

Open source identity: PulseAudio creator Lennart Poettering (CIO)

Posted Oct 14, 2009 2:13 UTC (Wed) by paulj (subscriber, #341) [Link]

Unfortunately for kernel, it can't do floating point mathematics.

That's not true though. While there may be very good reasons for not prohibiting the kernel from using FP generally, there's no reason that specific sub- systems of the kernel could not use FP or SSE if they're careful. E.g. see the use of MMX and SSE by the RAID-5/6 modules.

Open source identity: PulseAudio creator Lennart Poettering (CIO)

Posted Oct 14, 2009 2:50 UTC (Wed) by alankila (subscriber, #47141) [Link]

Hey, good point. It is already being done. Looks like floating point processing runs with pre-emption disabled. It could still be harmful for latency/realtime work, unless done in small chunks or something. (Source: asm/i387.h, kernel_fpu_begin().)

Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds