The current wine direct sound implementation can do multiple opens of the same device and hardware mixing and hardware 3d acceleration without any modifications if the low level driver supports it. No wine audio driver implements all that because the linux audio APIs don't support it. An openal driver can be developed which can eventaully replace the alsa and oss drivers and supports everything you would expect on a real windows system. A total rewrite of the entire audio system from scratch might be better in the long run but just adding an openal driver doesn't require changing any of the existing wine code, it only adds a new driver. Writing an openal driver is probably a half a man year effort to get working well enough to make it the default driver. Doing a total rewrite of all wine audio APIs to move them from the Windows 95 driver model to the current WDM driver model is probably a 5 man year effort to get working right. Your approach may make some direct sound games work better but it is going to introduce a lot of unfixable regressions.

The current wine audio implementation does a pretty good job of implementing the windows 95 audio model. It's not the direct sound or winmm dlls that make audio suck in wine, it's the alsa and oss drivers that suck and that's because the alsa and oss APIs and their low level drivers suck (and pulseaudio would suck even worse). An openal driver would allow wine to support all the features that the current direct sound implementation already supports but can't use because of current alsa and oss driver limitations.



Reply via email to