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