[linux-audio-dev] a joint letter on low latency and Linux

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

Subject: [linux-audio-dev] a joint letter on low latency and Linux
From: Paul Barton-Davis (pbd_AT_Op.Net)
Date: Thu Jun 29 2000 - 03:23:19 EEST


[ 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
  pbd_AT_op.net 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 <pbd_AT_op.net>
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.


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 29 2000 - 00:55:53 EEST