My plans for SOC

Bryan Haskins kingofallhearts999 at
Tue Mar 13 14:01:32 CDT 2007

Frankly if you could get ALSA working perfectly, and DSOUND to do what it's
supposed to without underruns (As in WoW, with default settings) You would
make my life a lot easier. I answer so many questions about sound it's not
even funny. Out of the box "Just working" sound would be pretty great.  OSS
is *alright* and all but it doesn't work so well with software mixing, ALSA
however is easy to set up.

On 3/13/07, Maarten Lankhorst <m.b.lankhorst at> wrote:
> For the summer of code I'm planning to improve the dsound code and alsa
> code, to make alsa finally better then OSS, in a way that has a will get
> accepted into the wine tree, for that I'm thinking of improving on the
> following fronts:
> Winealsa:
> - Add mixer device and aux controls
> - Implement dsound capture
> - Seperate the initialisation of the directsound code from the waveout
> code, to allow creation of multiple dmix devices.
> - Try to configure alsa to allow arbitrarily big buffers, working around
> the alsa problem that only up to a certain amount can be allocated for
> buffers, certain programs (for example winamp) may require more.
> - Remove the queuing thread and use Lock() and Unlock() instead.
> - Make it run so well, people wouldn't want to use OSS any more.
> Both dsound/winealsa:
> - Allow proper usage of Lock() and Unlock() for sound drivers, it's not
> used properly or even tested in current dsound code.
> - Rework some of the dsound code, to allow mixing to be done in
> winealsa, and fix possible errors that can be caused by it.
> - Improve the dsound software mixer code to allow mixing and (if
> possible) be less prone to buffer underruns.
> The challenge is to get this working right, without too much of an
> impact hit. I also will have to work around alsa limitations: I cannot
> make buffers arbitrarily big, while in windows they can be. It seems no
> 2 programs use dsound in the same way, so I will have to test with
> various different programs to get everything working.
> I'll try to get in contact with alsa-devel first, if there is a way to
> change buffer size to something arbitrary, it is worth it in the long
> run to use that method. A manual fix seems to be close everything using
> alsa, then echo 256 > /proc/asound/card0/pcm0p/sub0/prealloc, but I am
> hoping there is an easier way to fix it, in either case I am afraid I
> will have to put some memory buffer code in winealsa as fallback.
> If there's still some time left, I'll also try to get some 3d sound code
> in, using some openal code, the license seems to be lgpl compatible, or
> I will try to get support for multiple (4, 5.1 ?) speakers working, it
> depends a little on how fast I can get this to work in a nice shape.
> Looking for feedback.
> Cheers,
> Maarten

-------------- next part --------------
An HTML attachment was scrubbed...

More information about the wine-devel mailing list