2009/6/2 Scott Ritchie scott@open-vote.org:
First, I talked with a Pulseaudio expert about what we can do to make things work better. He said that if we want good compatibility we will need our ALSA stack to use the Pulseaudio safe subset: http://0pointer.de/blog/projects/guide-to-sound-apis.html. I've filed a metabug tracking this here: http://bugs.winehq.org/show_bug.cgi?id=18740. Use of this unsafe subset can cause most problems with stuttering or even complete dropoff.
As far as I know, this is not possible for Wine (without massive latency issues caused by overbuffering in Wine itself) due to the fact that Wine has to make DirectSound apps happy. It's also not very consoling from this Pulseaudio expert that they don't seem to see a problem with the ALSA layer on their end - "it's the apps that need to be fixed". Wasn't the point of Pulse that you could use libasound/OSS apps without modification? :)
I'm not completely familiar with how sound works in Wine, but in the past I remember that one complaint about PulseAudio over ALSA was latency. Latency issues these days are mostly due to bad kernel configurations
PulseAudio will *always* have more latency than ALSA. This has nothing to do with kernel configurations, just that using a CONFIG_NO_HZ/CONFIG_HZ_1000 (or whatever it is) kernel from the -rt tree makes the latency issue less severe. New kernel won't fix Wine + Pulse problem.
Forgive me in advance for interjecting dross into a technical discussion. Would part of the problem be solved if users could be given the option of installing pulseaudio? That way, some users would be made instantly happy.
There is a subset of users (albeit a tiny subset) that just needs one sound application running, but wants that application running with crystal-clear sound and near-zero latency. These are certain professional audio users, and those who run Dragon NaturallySpeaking through wine. Those people may be ill-served by having pulseaudio at all.
Right now, in wine, removing pulseaudio completely doesn't seem to return alsa's functionality. Wine/alsa freezes, and I have to use OSS emulation, but OSS just does not produce as high-quality a sound.
PS -- The rt kernel really is wonderful for speech recognition or any other use. The repository version has problems that are being worked on. In the meantime, just compile your own.