Home Creators Posts Import Register Favorites Logout

Content

What?  How are these games even related?


Different Developer, different Genre and even the year they were released.


The common component is that they both use xaudio2_9redist.dll, though different version of said DLL, to play audio.


This DLL is used to workout the "best" xaudio version to use on your current system.  So, when run on anything before windows 10 it would use xaudio2_7 otherwise xaudio2_9.  This worked well for wine and proton since they defaulted to windows 7 prefix.


However, just recently proton defaults to a Windows 10 prefix and this is where the issues started to appear.


Ghostrunner was first reported to have sound missing from the main menu but with the typical response of "It's working for me what are you talking about?".  After some investigation, it was discovered how the windows version affect applications that use the xaudio2_9redist dll, which lead to the first patch of adding a version resource to the xaudio2_9.dll.  This patch allowed sound to play in game, in a windows 10 prefix, and all seem good once again.


Just to confuse things, the Ghostrunner Demo didn't suffer the same problem.


Boy, was I wrong. Shortly after the patch was accepted upstream, I received a message "You broke Warframe". I was thinking, how can adding a version resource break an application.  It turned out, that Warframe actually uses an older version of xaudio2_9redist and one of the structures passed through to wine was a different size (windows 8.1 SDK added an extra field), so a check in wine for the structure size caused the audio to bail out early and thus no sound.


After providing an initial patch, it was vastly improved by Andrew Eikum and accepted upstream.  Now, audio for both games work when using a Windows 10 prefix.


These patches are included as part of the wine-5.22 build, so happy testing.


I've put forward, that these patches should be included in the next proton build but wont know for sure until a new version is announced.

Comments

No comments found for this post.