Excerpts from Paul Davis's message of 2010-05-12 13:16:23 +0200:
On Wed, May 12, 2010 at 3:53 AM, david
<gnome(a)hawaii.rr.com> wrote:
IMHO, the obvious solution would be for them to
simply stop wasting their
time on PA and make an existing and better solution (JACK) better. ;-)
i don't think you are clear that JACK and PA are attempting to solve
different problems.
i didn't fully anticipate how different until i went to the linux plumbers
conference last year. by far the most important user of linux audio
facilities these days is neither the desktop nor the pro-audio/music
creation communities. its mobile devices, phones in particular. when i say
important, what i really mean is "where the money is".
the needs of the mobile device community for audio is so far away from what
JACK is about, and much closer to what PulseAudio tries to do that its not
suprising that the companies (like Intel, Nokia and Google) who are funding
development of the audio systems that drive mobile devices are focusing
their attention on the system that caters to their products' needs.
JACK is cool, but its latency and "performance" focused design is a
liability on designs where the consumption of CPU cycles, memory and above
all consumption are primary considerations. Apple again did the right thing
here by coming up with a design that works almost equally well for high
latency and low latency applications, but even Apple has had to promote a
different API for iPhone and iPad developers that looks more a traditional
queing model than the callback-focused design of traditional CoreAudio (and
JACK).
Saying that JACK is "better" than PulseAudio is like saying that more(1) is
better than cat(1). Or that my Honda Fit (Jazz for europeans) is better than
my neighbour's Ford F150 truck. They don't try to solve the same problems.
They don't even really want to solve the same problems. And most
importantly, AFAIK their developers don't want to solve the same problems.
I strongly believe that this is PAs biggest problem, trying to do too
much at once and not getting anything really right. Ok, it's not really
trying to cater for pro-audio/music creation, but it tries to do
everything else at the same time, even low latency (for different
purposes).
I simply don't think that it can do the mobile thing and the desktop
dance at the same time, since it is still very different.
Mobile can be a lot simpler in many ways. You pretty much only ever need
2 channels, it doesn't need to be flexible, latency doesn't matter at
all, it just needs to be there and not get in the way CPU, memory and
power wise. For this PA is already way too complex, but PA still tries
to do it and save cycles wherever possible.
At least that's the way I imagine it.
The desktop on the other hand needs a lot more flexibility, there are
endless possible user needs. Low latency is needed for games, subtitle
synchronisation and other weird stuff. Multichannel is needed in at
least the common variants. Proper controls for everything are needed.
It needs to be simple to setup and use. Network stuff is needed.
cpu/mem/power usage is far less of an issue than with mobile devices.
PA tries to do all of this at once, and at least on the desktop it fails
often enough. Sure, many user complaints are old and the problems might
be solved, but many users are fed up with it already and don't ever want
to try it again. It just couldn't deliver what it promised most of the
time. Premature adoption of major distros sure didn't help. If I recall
correctly Lennart was very surprised to hear that ubuntu had adopted PA
as default soundserver about two years ago (was it 8.04?).
There's a fun German expression that fits PA quite well:
"Eierlegende Wollmilchsau"
Maybe it would work better if it didn't try to do everything at once.
--
Regards,
Philipp