https://bugs.winehq.org/show_bug.cgi?id=41271 charles.gorand.dev(a)gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |charles.gorand.dev(a)gmail.co | |m --- Comment #15 from charles.gorand.dev(a)gmail.com --- Wine 3.8 + dxvk + [bBackgroundMouse=1]: Test 1 : normal use case * Wine 3.8 with no changes. => Game stuck on intro : black screen. Test 2 : prevent mixthread to lock anything and avoid any race condition in wine. * Commenting while loop in DSOUND_mixthread() => Game stuck on intro : black screen. Test 3 : Working scenario * Change the code as follow : static HRESULT DirectSoundDevice_Initialize(DirectSoundDevice ** ppDevice, LPCGUID lpcGUID) { [...] device->thread = CreateThread(0, 0, DSOUND_mixthread, device, 0, 0); usleep(100000); => Game is working perfectly. Test 4 : Working scenario and prevent mix thread to do anything. * Code changes of Test 2 and 3 => Game is working perfectly. (No sound on intro video) My analysis (maybe I'm wrong) : Test 1 and 2 show there is something wrong inside the game and not related to wine. I think we will get the same result if "dsound" implementation is completely stubs. (I can try it to confirm it). Test 2 shows there is no (visible?) race condition within wine (dsound) that cause the issue. Test 3 and 4 confirm there is an issue in the game (sorry not easy to explain, but it looks clear for me). Adding a delay in Initialize() or Release() will avoid a race condition in the game. DirectSound is only used by intro player (bink player ?) The game use XAudio and works perfectly once bink intro is skipped. I tried also to change intro video permission to prevent game from playing it. The game is stuck with black screen. If there is a way to disable bink player, I think it's the only way to play the game without hacking wine. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.