[ This is the version of the letter sent to Linus. It has also been Cc'ed to
  linux-kernel. In this version, all email addresses of the signees except for
  [EMAIL PROTECTED] have been removed for privacy/spam reasons.  ]

Dear Linus,

we are a group of programmers designing, writing and extending
audio+MIDI (and in some cases, video) applications for Linux. As you
could tell from the list of signees below, we represent the developers
of many significant and substantial audio+MIDI applications for Linux,
as well as members/employees of several well known music and audio
research institutions and companies.

[ 
  If you want to get an overview of the current state for audio+MIDI under
  Linux, there is no better source than Dave Phillip's magnificently
  comprehensive web site (http://www.bright.net/~dlphilp/linuxsound/).  
]

One member of our group, Benno Senoner, did a lot of work last year in
investigating and documenting problems involved in using Linux for real-time
audio applications. Others, such as Juhana Sadeharju, 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 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. Our impression is that you want to see more careful code design
that avoids interrupt disabling or holding high level locks for too
long, rather than using preemption points.  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 with respect to latency - imagine their
response to the situation with Linux as it stands today!

We understand that we could try to maintain a version of Ingo's low latency
patches 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" ?

   * to what extent are you willing to enter into a debate about the
     merits of a preemption-point-based approach to lowering kernel
     latency ?

Above all, we are all interested in having fun with Linux and
audio/music/MIDI. We would invite you to come tour a professional studio,
watch the cool and wonderful stuff that can be done right now (with lots of
annoying problems) on machines that runs Windows and MacOS, and get a sense of
the extent to which general purpose computers are about to replace a whole
bunch of expensive stuff sitting around in a typical studio. We want to see
penguins there, and soon!

Several of the signees below have noted that lowering latency improves the
quality of games, most kinds of multimedia and many non-hard-real-time
automated systems. Incorporating a low-latency patch could be seen as extremely
helpful in providing competitive performance in areas outside of audio as well.

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

Name                       Project/Org. Affiliations(*)    Email
---------------------------------------------------------------------------------
Paul Barton-Davis     ALSA,Quasimodo,Ardour,SoftWerk       <[EMAIL PROTECTED]>
Benno Senoner         Low-latency audio+HDR benchmarking
Dave Phillips         "The Book of Linux Music+Sound"
John Littler          Linux MusicStation
Dustin Barlow
Joe Miklojcik         GESM, Quasimodo
Erik Steffl
Scott Wilson          SoundWire, CCRMA(Stanford)
Andy Lo A Foe         AlsaPlayer
Gad Berger            LSDVD
Dave O'Toole          GNU Octal
Ivar Vasara
John Lazzaro          Sfront (MPEG 4-SA decoder)
Ben Crowder
Scott McNab           ALSA
Robert Jonsson
Reine Jonsson
Matthias Pfisterer    Tritonus (open-src Java Sound API)
Jay Ts
Stephane Letz         Centre National de Creation Musicale
Iain Sandoe
Pedro Kroger
Niklas Werner         tonwerk.de
Francois Dechelle     jMax,IRCAM Real-time Systems Team
Maarten de Boer       Tapiir, AV Institute
Erik de Castro Lopo   libsndfile,xmms plugins,vsound
Steve Morphet
Maurizio De Cecco     jMax,Mandrakesoft
Alessandro Fogar
Kai Vehmanen          ecasound
Yann Orlarey          Centre National de Creation Musicale
Robert Murray
Sebastian Niller
Juhana Sadeharju
Bill Gribble          Ardour,Quasimodo
Stefan Westerfeld     aRts (KDE2.0 sound server)
Kirk Reiser
Chris Baugher
Ned Judy
Jorn Nettingsmeier    linux-audio-dev website
Jason Clouse          GNUstep/NSSound (MusicKit API)
Reynald Hoskinson
John Beppu            Lineo
Nolan
Brian Redfern
Tobias Ulbricht
Jussi Laako           HydroAcoustic Signal Analysis
Jarno Seppanen
Garth Brantley
Eli Brandt
Paul Winkler          Pysco
Edmund Humenberger
Mico Leao
Andrew Clausen
Miriam Rainsford
Alexander Konig
Fernando Lopez-Lezcano CCRMA(Stanford)
Tijs van Bakel
David Olofson         Audiality,MuCoS
Anders Torger         nwfiir,ALSA
Joe Grisso            E-Mu/Ensoniq
John Watson
Jaroslav Kysela       ALSA,SuSE
Paul Wagland          SDL
Ben Campbell          SDL
Abramo Bagnara        ALSA,SuSE
Pablo Silva
Nicolas Justin
Mike Andrews          Shiman Associates
Dave Andruczyk
John Thaden
Frank Barknecht
Jaymz Julian
Peter Enderborg
Frank van de Pol      ALSA sequencer
Rizzuti Luca
Jeremy Hall

(*) As usual, organizational affiliation is for informational purposes
    only, and does not imply official approval or sanction of this letter
    by the named organizations.




Reply via email to