Re: [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: Re: [linux-audio-dev] an open letter to Linus re: low latency
From: Jay Ts (jay_AT_toltec.metran.cx)
Date: Thu Jun 22 2000 - 09:45:07 EEST


I want to sign the letter too.

As for how to improve it, I wish I could offer a suggestion. I think
the letter is very good as it stands, and yet I wish it were possible to
take up some of Linus', Alan Cox's, and some of the other kernel programmers'
time and maybe give them a tour of a top recording studio, then a
demonstration of some Mac and Windows audio software, such as Cubase VST,
Fruity Loops, Gigasampler, and <your_favorite_here>. Enough to get them
to realize that the recording studio (the mixing console, multitrack recorder,
effects and synthesizers, at least, and oh yes, a whole mess of cables!)
can be replaced by a computer. I feel very sure that if they got to the
point where they were thinking about computers and Linux from that
perspective, then there would definitely, absolutely be changes in our favor.

In other words, Linus et. al. would be more likely to be on our side
if they had a clear concept of what our side *is*. I remember reading
many times that Linus has said that one of the design goals of Linux is
that it "is supposed to be fun". And that kernel development stalled for
a couple of weeks after the first port of Quake came out for Linux, while
Linus did a lot of "play testing". I think y'all would agree that like
music in general, good sound/audio/music software is a lot of fun; after
all, they don't call it "playing" for nothing! So to get Linus on our
side, I suggest we approach it from _his_ side, and appeal to everyone's
desire to have fun with Linux. (And at the same time to do it faster and
more reliably than everyone else. World Domination Rulz. ;-)

A couple of years ago, I wrote a few little programs to get a taste of
what audio programming on Linux is like. I was not overly impressed, and
went on to do other things and wait for a while until the situation improved.
That was almost 2 years ago now, and just recently I decided it was time to
put together a little home studio using Linux. I looked around and found
out that things (IMO) haven't improved much in the past two years!
That by itself was very sad, and what's even sadder is that I, a
dyed-in-the-wool Unix/Linux user (since 1981), finally decided to clear
a Red Hat 6.2 Linux installation off one of my PCs to install Windows 98
and use that instead. And this is the horribly sad part: I'm very glad
I did, because it is so much better. I'm really impressed with the audio
software I've seen on Windows, and there's nothing for Linux right
now that can hold a candle to it.

A long time ago (early 80's) I had a vision that someday, I'd be making
music with a computer, or more specifically, a bunch of computers, somehow
wired together such that each would provide part of a modular functionality,
and that the whole would be small enough that it could be pretty easily
taken on tour. I remember thinking very clearly that the computer would
be running Unix, because that would be the best operating system to use.

That was at a time when networking and computer music were still in their
infancy, computers did not have audio ports, a single computer could
definitely *not* be taken on tour(!), and people completely rejected the
idea when I told them I thought that someday, Unix would be a mainstream
operating system. ("Ha ha, funny, imagine that. Jay is crazy." :-)

No one had come close to thinking of Cubase VST. Now, 18 years later,
we have the technology to implement my vision - almost! What I'm saying
is, let's do it.

- Jay Ts
jay_AT_jayts.cx
http://jayts.cx

> 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 - 10:16:38 EEST