https://bugs.winehq.org/show_bug.cgi?id=56297
Bug ID: 56297 Summary: Othercide - video playback without a/v and hangs on loading screen Product: Wine Version: 9.1 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: mfplat Assignee: wine-bugs@winehq.org Reporter: bugs@massaraksh.net Distribution: ---
Created attachment 76014 --> https://bugs.winehq.org/attachment.cgi?id=76014 Wine 9.1 log
Steps to reproduce: launch the game like wine64 Othercide.exe.
Expected result: the game should play intro video (publisher/developer logos), then display splash screen with some more logos etc, then loading screen with a little wheel turning in the corner and showing percents, and then the game menu.
Actual result is black screen, no sound, no image, instead of intro, then (e.g. on click) splash screen, correctly displayed, then loading screen, also technically displayed correctly, but the little wheel shows 0% and keeps turning forever. The game has to be killed by ctrl+c or wineserver -k.
Some other info: a) Othercide is Unity game, in my case GOG version, Steam and console versions also exist, so it is pretty multiplatform, but there is no Linux version. Real shame. b) Protom (8.05+ clone from git with what appears like 8-ish Wine inside) has also broken video playback, but at least produces sound and does not hang, it gets to the game menu and it is kinda playable. c) Wine 9.1 and 8.1 behave the same, i.e. black screen instead of intro, then eternal loading screen. d) Wine 6.1 suprisingly DOES play intro and DOES NOT hang on loading screen, the game appears to work. The reason I tried this particular version is that, while searching for fix, I found a number of similar bugs reported here and at Proton's website (but not pertaining to Othercide), mostly revolving around mfplat.dll or Media Foundation, a somewhere, but I do not recall where, was a link to wine mailing list, where somebody patched something related to that in february 2021, if you allow me to be so vague :D So I tried Wine from January. Maybe I got the whole issue wrong and mfplat is not to blame, but 6.1 does work, that much is sure. e) Intro video appears to be ineed H264 file in Othercide/Othercide_Data/StreamingAssets/videos/SplashFocusLBC_New.m4v
https://bugs.winehq.org/show_bug.cgi?id=56297
--- Comment #1 from bugs@massaraksh.net --- Created attachment 76015 --> https://bugs.winehq.org/attachment.cgi?id=76015 Wine 6.1 log
https://bugs.winehq.org/show_bug.cgi?id=56297
--- Comment #2 from bugs@massaraksh.net --- Some people solved those similarly sounding issues (no video + hang afterwards) with other games by using mfplat dlls from Windows 7. That did not work for me, I only managed to flat out crash the game/wine during intro by doing that.
Winetricks mf also did not help, but did not crash it either, I think.
https://bugs.winehq.org/show_bug.cgi?id=56297
--- Comment #3 from Rafał Mużyło galtgendo@o2.pl --- ...would you mind doing a check on 9.2 with 'loaddll,mfplat,quartz' channels ?
https://bugs.winehq.org/show_bug.cgi?id=56297
--- Comment #4 from bugs@massaraksh.net --- Created attachment 76045 --> https://bugs.winehq.org/attachment.cgi?id=76045 9.2 log with WINEDEBUG=+loaddll,+mfplat,+quartz
9.2 also does not play intro and hangs on loading screen, the log is attached.
https://bugs.winehq.org/show_bug.cgi?id=56297
--- Comment #5 from Rafał Mużyło galtgendo@o2.pl --- To explain my question: I've seen following pattern
0154:trace:loaddll:build_module Loaded L"C:\windows\system32\mpr.dll" at 00006FFFFC660000: builtin 0154:trace:loaddll:build_module Loaded L"C:\windows\system32\wininet.dll" at 00006FFFFC690000: builtin 0154:trace:loaddll:build_module Loaded L"C:\windows\system32\mferror.dll" at 0000000180000000: builtin 0154:trace:mfplat:mediatype_Release 00007FFFFF2CBCF0, refcount 0. 0154:trace:mfplat:dxgi_device_manager_Release 00007FFFFF2B6070, refcount 2. 0154:trace:mfplat:mfattributes_Release 00007FFFFF2B54B0, refcount 1.
in a different Unity game that also hangs as it tries to play a bytestream; here it refers to an actual file, there it's a file asset in one of Unity's archive blobs.
By pattern, I mean both the calls and (though that might be coincidental) the exact refcount.
https://bugs.winehq.org/show_bug.cgi?id=56297
--- Comment #6 from bugs@massaraksh.net --- Bugs 55775 and 55596 sound very similar, except that those games presumably do not hang after failing to play videos.
I also noticed that in case of Othercide, intro video file is just video without audio track, which has to be loaded from somewhere else then.