http://bugs.winehq.org/show_bug.cgi?id=29294
--- Comment #52 from Jörg Höhle hoehle@users.sourceforge.net 2012-03-13 18:58:46 CDT --- I don't know which of the several patch sets floating around you mean: - ntdll CreateTimerQueue rate stabilisator -- essential - lock-less winealsa -- nice to have, needs ntdll patch - dsound resampler -- good for games - dsound GetPosition/GetCurrentPadding clean up -- dito
Follows the analysis of your latest log. By using runtest -q the test traces are omitted. Please do not use -q
The preferred 1024 frames / 44100 rate from comment #45 is visible in the log. The resulting period is ~23ms, very small and close to mmdevapi's preferred 10ms. That explains the absence of underruns. Also, the underlying device appears to be something like plug (incl. resampler) which explains a very regular increase of position from snd_pcm_delay. So from Wine's POV, everything is fine.
HOWEVER, as you've noticed, the overall latency is huge. That's not what you installed Jack for. The reason simply is the extra pass-through process. Due to the decoupling, the latency reported by ALSA to Wine (~90ms) is only part of the chain and missing everything that follows, e.g. what that pass-through buffers or what the alsa_in and alsa_out add. That extra process broke Jack's control loop.
Looking at the .asoundrc example from the document you linked, I suggest you play with the period_size.
# Don't use a buffer size that is too small. Some apps # won't like it and it will sound crappy
That comment does not apply to Wine. Quite to the contrary, the 4096 period size ~100ms causes trouble. Prefer at most half that size. Furthermore, mmdevapi's preferred rate is 48000 so you should not use 44100. (DSound has its own preferred (settable) rate different from mmdevapi...)
In summary, try to play with the period size in your .asoundrc. Remember that Wine got a 125ms period (comment #21) that it doesn't handle well.
alsa:AudioClient_Initialize ALSA period: 6000 frames
Find some amix settings such that it is much reduced.