http://bugs.winehq.org/show_bug.cgi?id=29294
--- Comment #18 from Antonio López amlopezalonso@gmail.com 2012-02-29 18:14:30 CST --- (In reply to comment #17)
The key difference is that in the former run, ALSA "default" was occupado, hence Wine used "plughw:0,1" as default, which produced no sound on your machine IIRC (perhaps it's the digital output?). In your latest log, ALSA's "default" opens successfully, so Wine uses that as its own default. As it happens, it plays sound well.
It would be good if you could find out what caused that difference. It should be systematic, not random.
I'll try to work it out.
It may not look like so, but now we've made a lot of progress. You now must try and split your apps in 3 categories:
- old ones that use winmm for sound (or intros);
- ones that use DSound;
- modern ones running in w7 mode that use mmdevapi directly.
Use WINEDEBUG=+loaddll to see what gets loaded. Category 3 should play well, because they typically use XAudio2 and the render test is believed to behave like XAudio2. I believe winmm would work well on your machine too. DSound->mmdevapi may have its own quirks. If only DSound is problematic, this issue may end up as a duplicate of bug #28781 or some other DSound stuttering bug, independent on Jack/loopback.
For test purposes I chose Silent Hunter 4, set winecfg to Windows 7 and logged the results (check new attachment). The sound was still stuttering and I was unable to tell which dll was being effectively used as it seemed to me that all three sound dlls (dsound, winmm and mmdevapi) were being loaded.
I encourage you to export WINETEST_INTERACTIVE=1 cd dlls/winmm/tests; rm *.ok; make wave.ok mci.ok cd dlls/dsound/tests; rm *.ok; make test and hear how the sine tests perform. Be aware that the 24/32 bit tests produce awful sounds instead of sines. You may want to uncomment them.
No sound from these tests as plughw:0,0 is being used.
What if you set the new winealsa.drv input and output registry keys to "asnoop" and "amix"? (you don't need the duplex device since there are 2 keys.)
It still stutters (set ALSAInputDevices and ALSAOutputDevices to asnoop and amix respectively).