Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add fix for Full Metal Daemon Muramasa #114

Merged
merged 2 commits into from
Aug 28, 2024

Conversation

R1kaB3rN
Copy link
Member

@R1kaB3rN R1kaB3rN commented Aug 28, 2024

Full Metal Daemon Muramasa is borked on gog when running the game through Proton. After reaching the main menu and clicking Start, the game is observed to, at some point, freeze due to audio-related deadlocks from wine resulting in errors such as:

err:ntdll:RtlpWaitForCriticalSection section 0x76b5d38 "?" wait timed out in thread 0138, blocked by 0148, retrying (60 sec)

This title uses the same game engine as other Nitroplus titles such as YOU and ME and HER: A Love Story (1293820), which exhibits the exact symptoms. However, unlike those, falling back to wine server sync and running the xact verb is not sufficient. To fix the deadlocks, xaudio2_8.dll needs to be within the game directory.

Tested against GE-Proton9-11

@R1kaB3rN
Copy link
Member Author

The xaudio2_8.dll file is sourced from the xaudio29 verb from winetricks, and will be renamed to xaudio2_8.dll in the game directory.


File: xaudio2_8.dll.gz
File digest (sha256): 173cac0a7931989d66338e0d7779e451f2f01b2377903df7954d86c07c1bc8fb
Virus Total (xaudio2_8.dll):
https://www.virustotal.com/gui/file/df3d1ddfa5a439676230b4714f29738d627c2f9574aec179777f7951ddc822f7
Virus total (xaudio2_8.dll.gz):
https://www.virustotal.com/gui/file/173cac0a7931989d66338e0d7779e451f2f01b2377903df7954d86c07c1bc8fb?nocache=1

@R1kaB3rN R1kaB3rN marked this pull request as ready for review August 28, 2024 20:58
@R1kaB3rN R1kaB3rN merged commit 199e489 into Open-Wine-Components:master Aug 28, 2024
1 check passed
@R1kaB3rN R1kaB3rN deleted the muramasa branch August 28, 2024 21:01
@Root-Core
Copy link
Contributor

Can't we just use util.protontricks('xaudio29')?
If the file needs to be in the game's directory or has the wrong name, we could sym-link or copy the file.

@R1kaB3rN
Copy link
Member Author

Using util.protontricks('xaudio29') requires to run the winetricks verb, which we both know is slow. Here, we can just skip winetricks all together and just simply put the file directly inside the game directory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants