[linux-audio-dev] an open letter to Linus re: low latency

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: [linux-audio-dev] an open letter to Linus re: low latency
From: Paul Barton-Davis (pbd_AT_Op.Net)
Date: Thu Jun 22 2000 - 02:35:23 EEST


Benno and I hatched a plan to try to get Linus on our side w.r.t. low
latency. Its not much, but here is a letter I drafted with some input
from Benno. I invite everyone on this list to "sign it" (i.e. send me
email telling that you agree to sign it) and/or make suggestions to
improve it. If you know other people who may want to sign it, please
get them to contact me to that effect.
 
I *will* verify with all signatorees that the final version meets
their approval before sending it on. The version to Linus will be sent
with email addresses. I plan to also post a version to linux-kernel
and possibly to slashdot that will NOT include email addresses.

FYI: I plan to try and collect a few names from the VST plugin list as
well.

--p

----------------------------------------------------------------------
Dear Linus,

we are a group of programmers designing, writing and extending audio
and MIDI applications for Linux. We have no particular affiliation,
other than all hanging on the linux-audio-dev mailing list, and other
lists relevant to audio development.

One member of our group, Benno Senoner, did a lot of work last year in
investigating and documenting problems using Linux for real-time audio
applications. Others, such as Juhana Sadehaju, had long noted problems
using Linux for hard disk recording of audio data. Partly as a result
of Benno's work, Ingo Molnar did a fantastic job of coming up with a
patch for the 2.2 series that dramatically improved the latencies that
could be obtained from Linux.

How good? Well, good enough that members of our community who were
convinced that RTLinux was needed to do a professional job with audio
changed their minds. Good enough that we were close to (or sometimes
better than) BeOS, an OS that has had a lot of excellent press in the
audio world as a replacement for the known-to-be-problematic Windows
and MacOS systems. Good enough that in some cases, Linux is as good as
dedicated hardware solutions, offering latencies in the realm of 2-3ms
for our applications.

There was a lot of excitement that 2.4 might include a version of the
low latency patches. The excitement came from the possibility that the
next release of the various distributions of Linux would represent a
set of "desktops" that were ready for really excellent, "real-time"
audio and MIDI applications. CPU and disk performance has improved to
the point where we are on the threshold of a revolution in the way
that sound synthesis and processing is done, and many of us want to
ride Linux into the heart of that revolution.

However, it turns out, as best we can gather, that you were not happy
with the basic structure of some or all of Ingo's low latency
work. Several of us have defended this position, noting that BeOS got
their low latencies via carefully designing sections that might
otherwise block interrupts to not do so. As far as we can tell right
now, 2.4 will represent more of the same as far as low latency
limitations, and for us, more of the same means performance much
*worse* than Windows or MacOS present.

How much worse ? Linux currently offers worst-cases latencies that are
10-15 times worse than Windows or MacOS. Developers for those
platforms still complain about their performance - imagine their
response to the situation with Linux as it stands today!

We understand that we can always maintain a version of Ingo's low
latency patch in parallel to the current kernel. But this is not a
good situation for us. We would like to persuade several companies
that produce applications and API's for audio+MIDI work to make their
code, designs and programs available for Linux. We would like to be
able to produce our own "real-time" applications and not have to tell
users (who will likely know nothing about Linux, or computers in
general) that they need to patch their kernel before using
them. Neither of these goals are realistic given the current state of
low latency support in the emerging 2.4.

We would like to know:

   * what are your general feelings on modifying Linux to support
       the kind of applications we are concerned with ?

   * what kinds of compromises, if any, you might accept in order
       to get good low latency performance into the kernel sooner,
       rather than later ?
  
   * what design goals you have in mind when you talk about
       doing low latency "right", rather than "wrong, as in
       Ingo's approach" ?

Thank you for your consideration, for Linux and your benign dictatorship.

Paul Barton-Davis
Benno Senoner


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Thu Jun 22 2000 - 03:02:11 EEST