Subject: Re: Sound & performance
To: None <port-i386@NetBSD.org>
From: Chapman Flack <flack@cerias.purdue.edu>
List: port-i386
Date: 09/29/2004 20:32:29
> Is there a way to improve the sound performance?

Hi ...

My guess would be "yes, but as a project rather than a quick fix."  I don't
know what's going on in your specific case but when I installed on my Dell
Latitude with a neo chip I had to get up close and personal with audio.c
to track down what was going wrong in the neo support.  In my case, it
was that the audio.c code never quite states what the ringbuffer invariants
are supposed to be, and has different ideas in different places, with
the result that recording can hang forever if the blocksize and buffersize
are related in just the right way, because a test with >= instead of >
unconditionally discards all incoming data.  :)  I noticed at the same time
that the code gives semantics to 'highwater' and 'lowater' that are not
inherent in the requirements and can cause transfers into or out of the
buffer to be delayed or done in smaller chunks than what is available.
My personal impression was that a rewrite of the audio code based on a
careful design might be more promising than fixes, and I would be willing
to participate in design and/or chip in some code, but I'm still new to
the project and still ironing things out for my own system, and I'm not
sure who are the people actively involved in the audio driver development
and what plans might be already on the table ... for example, whether there
are plans to move from an OSS to an ALSA api, etc....

-Chap