https://bugs.winehq.org/show_bug.cgi?id=41007
Bug ID: 41007 Summary: Regression in minimum sound latency / HelBuflen value Product: Wine Version: 1.9.15 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: lolisamurai@tfwno.gf Distribution: ---
In versions 1.9.10 and earlier, I was able to bring the massive sound latency down to a decent 25ms by setting HelBuflen to 512 without any sound glitching or stuttering.
I believe that somewhere between 1.9.10 and 1.9.11 there was a regression, because starting from 1.9.11 I get massive sound glitching unless I up the HelBuflen to around 8192, which adds like 50ms of sound latency.
This is most definitely a regression in minimum sound latency.
I am running linux gentoo 64-bits, the wine prefix is 32-bits and I'm using pulseaudio. I'm specifically testing this with the game "osu!". I'm using the built-in dsound and native .NET 4.5.
Steps to reproduce:
git clone git://source.winehq.org/git/wine.git cd wine mkdir build cd build ../configure make WINEARCH=win32 WINEPREFIX=~/test winetricks -q dotnet45 # no, osu! doesn't run without native .NET 4.5 so you have to install it either # through winetricks or manually wget 'https://m1.ppy.sh/r/osu!install.exe' --no-check-certificate WINEARCH=win32 WINEPREFIX=~/test regedit # set HKCU\Software\Wine\DirectSound\HelBuflen (string) to 512 WINEARCH=win32 WINEPREFIX=~/test ./wine 'osu!install.exe'
Wait for it to install and start up. The game also seems to be occasionally freezing or crashing when this sound glitching happens. I couldn't manage to get a log for this crash because it seems to be stuck loading info, but I'm pretty sure you can reproduce it on your end easily. If I switch to native dsound, I just always get glitching even at 8192 HelBuflen.
If you perform these very steps on the stable version or 1.9.10, you will get proper audio.
All I can notice in terminal output is this error spamming: err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
Not sure if it's related to this problem or not.