Wine Developers Fight Over PulseAudio Driver
Phoronix: Wine Developers Fight Over PulseAudio Driver
It's not yet time for another Wine development release, but there's a heated discussion to point out on the development list concerning a PulseAudio driver for Wine...
pulseaudio : a fix for a problem that didn't exist. (not completely true, but a wrong fix anyhow : fixing something by adding a layer of complexity is plain wrong)
I hate pulseAudio, for me it caused nothing but trouble (HTPC, desktop and laptop). Using pure ALSA hasn't yet let me down. The craziness it allows me to do is everything anyone can ask for (I even used it to stream audio of a movei to a different PC). Yes it takes a day of digging through docs/tutorials, but it IS possible.
Also when using pulse on a relatively good sound system, I got the feeling that it somehow distorted the sound; I'll have to do an analysis at some point...
And don't get me started on digital passthrough.
I love PulseAudio, combined with VeroMix it's extremely easy to manage everything related to sound, and the sound recording quality has jumped up immensely since I started using it. So a PulseAudio driver in Wine is very important for me - it would solve multiple sound quality issues. For instance, if I set PulseAudio to use the traditional interrupt-based scheduling method, then everything works correctly, except for Wine, which plays corrupted sound and everything runs in twice the speed (crazy!). And if it's set to the new timer-based method, Wine works fine, yet VLC has corrupted sound. Earlier there also was an issue with sound quality that way, but it's fixed since PA 2.0. Any problems people may be having these days with PA is just because of misconfiguration. "man pulse-daemon.conf" is your friend!
So I don't care which PA driver goes into Wine, as long as it gets there already!
Please, please, please, put in Pulse Audio in Wine...!!! It's the advance way to go.
Yeah I'm aware there is a PA Wine version PPA on launchpad.
Pulseaudio does not adds another layer of complexity. All it does is replace alsa userspace, that is in fact, very badly maintained and buggy. Pulseaudio, alsa userspace and Jack leverages the actual driver implementation to the alsa kernel modules.
Originally Posted by Serafean
The problem comes when you want to use more than one together...
PA exists due to ALSA's shortcomings. If the ALSA devs had gotten it right, there would never have been a need for PA. Unfortunately, ALSA didn't get it right, and now we have to deal with two low-level layers of audio instead of just one. What a mess. ALSA should have learned from OS X and Windows about how to do it right.
It makes sense to have a layer to hardware. It allows other top layers like PA to compete. The structure also allows for ALSA to be replaced and keep top layers still relative.
Originally Posted by RealNC
There should be no competition. There should only be one API. Top layers should be things like SDL, OpenAL, PortAudio, stuff like that. Third-party low-level APIs like PA should not exist. The existence of PA is proof of Linux's failure in audio.
Originally Posted by e8hffff
Why and how? I mean what does it matter who provides the userspace part of the Linux audio stack. ALSA is for the drivers and PulseAudio does the mixing, filtering, routing and so on. From developers perspective ALSA doesn't matter as they either target GStreamer, OpenAL, Phonon... or PulseAudio directly because it's the de facto audio server on Linux.
Originally Posted by RealNC
If the ALSA devs got it so wrong, why on earth didn't the PA devs work on fixing the issues with ALSA instead of adding a whole new layer of broken on top? Actually I'm glad they didn't go that (otherwise correct) route because they probably would have just fucked up ALSA like they did PA, and it would be a bit more difficult methinks to just uninstall ALSA to make everything work properly again like you can with PulseAudio.
If "apt-get autoremve pulseaudio" solves your audio problem, reading the manpage was never a proper solution. If Pulse Audio is so misconfigured out of the box that it can't function as well as ALSA does without PulseAudio, that to me sounds like the definition of a broken piece of crap solving a problem that doesn't exist.