This game should work with 4.2-3 after using this script in the game directory:
https://gist.github.com/flibitijibibo/c97bc14aab04b1277d8ef5e97fc9aeff
Thanks to a ridiculous and ingenious (and kind of obvious, now that I think about it) hack from the FFXIV community we found a way to make the Linux version run natively without the use of extra compatibility tools. Using the docs here...
https://icculus.org/finger/flibitijibibo?date=2019-07-31&time=13-55-03
... you can just set this as a Launch Option:
echo "%command%"; ./CSTW
LOG:
steam-107310.log
Crash at startup
Is a Regression now? It fails with current Experimental and 7.0.6, and needed to be Proton 6.3-8 for it to run for me? Basically the same as "Breath of Death VII".
Hello @AlleyDismay, same instructions as Breath of Death VII. Please add PROTON_LOG=1 %command% to the game's launch options, reproduce the regression, and attach the generated $HOME/steam-$APPID.log to this issue report as a file. (Proton logs compress well if needed.)
@kisak-valve - Thanks! Added into previous comment.
These look like some lines of interest from the log:
=================================================================
Managed Stacktrace:
=================================================================
at <unknown> <0xffffffff>
at Theorafile:tf_videoinfo <0x00012>
at Microsoft.Xna.Framework.Media.Video:.ctor <0x000a3>
at Microsoft.Xna.Framework.Media.Video:.ctor <0x00033>
at Microsoft.Xna.Framework.Content.VideoReader:Read <0x00173>
at Microsoft.Xna.Framework.Content.ContentTypeReader`1:Read <0x0003e>
at Microsoft.Xna.Framework.Content.ContentReader:InnerReadObject <0x00079>
at Microsoft.Xna.Framework.Content.ContentReader:ReadObject <0x0003b>
at Microsoft.Xna.Framework.Content.ContentReader:ReadObject <0x0003f>
at Microsoft.Xna.Framework.Content.ContentReader:ReadAsset <0x00043>
at Microsoft.Xna.Framework.Content.ContentManager:ReadAsset <0x00527>
at Microsoft.Xna.Framework.Content.ContentManager:Load <0x0013b>
at Cthulhu_Saves_the_World.Game1:LoadContent <0x01ba6>
at Microsoft.Xna.Framework.Game:Initialize <0x0018f>
at Cthulhu_Saves_the_World.Game1:Initialize <0x00157>
at Microsoft.Xna.Framework.Game:DoInitialize <0x000c3>
at Microsoft.Xna.Framework.Game:Run <0x00033>
at Cthulhu_Saves_the_World.Program:Main <0x0004f>
at <Module>:runtime_invoke_void_object <0x0006c>
=================================================================
It looks like FNAMF-x86.dll is hitting an access violation (c0000005).
I think tf_videoinfo was called with a NULL context. The log doesn't have much information. fmamf and mfplat may be useful debug channels.
@madewokherd - Is there anything I can do?
Can you get a log with WINEDEBUG=+fnamf,+mfplat ?
@madewokherd - Tried 8.0-3 with command "PROTON_LOG=1 %command% WINEDEBUG=+fname,+mfplat %command%"
Got: this thing.log
The log doesn't have output from those channels. I'm guessing it's because you have an extra %command% in there before the WINEDEBUG=.
The log doesn't have output from those channels. I'm guessing it's because you have an extra %command% in there before the WINEDEBUG=.
Ah. Now I'm seeing the output. I had to Stop it since it didn't run. Tell me if you want a longer run?
The fnamf traces didn't show up for some reason, but the other information is enough that it wouldn't add anything anyway. It seems that MFCreateSourceReaderFromURL fails for the file steamapps\\common\\Cthulhu Saves the World\\Content\\Movies\\CSTW_intro2.wmv.
I see there's also an error status:
0160:warn:mfplat:media_source_constructor Failed to construct MFMediaSource, hr 0x8007000e.
0x8007000e is E_OUTOFMEMORY. But, this works for me and doesn't allocate very much memory, so it seems unlikely that it'd be an allocation failure. Based on the log it may be wg_parser_create that's failing, and it seems that's treated as E_OUTOFMEMORY regardless of why it fails.
So my best guess is that it has to do with the winegstreamer component. I don't think Proton normally parses WMV and instead downloads transcoded versions of those videos using Shader Pre-Caching. But, I tried disabling Shader Pre-Caching and that didn't cause a crash either, I just get a test pattern instead of the intro video. Still, could be worth a try (that is, if it's currently disabled).
Converting the video to ogg locally might also help. There's a shell script for it at https://gist.github.com/flibitijibibo/c97bc14aab04b1277d8ef5e97fc9aeff
I tried disabling Shader Pre-Caching and that didn't cause a crash either, I just get a test pattern instead of the intro video. Still, could be worth a try (that is, if it's currently disabled).
I just tried disabling and it doesn't stop the crashes, since I dunno how to get that ogg conversion to fully work?
Okay, now it works, or at least gets to Start Menu, in Experimental and got past the first mandatory battle in 9.0-4 after I deleted the 0 bytes file:
Steam/steamapps/common/Cthulhu Saves the World/Content/Movies/CSTW_intro2.ogv
Okay, no sometimes it freezes, apparently GStreamer issue?
winegstreamer error: decodebin8: Your GStreamer installation is missing a plug-in.
[...]
Missing decoder: Advanced Streaming Format
proton 6.3-8x1 2023-03WINEDEBUG=.x2 2023-09PROTON_LOG=1x2 2023-09WINEDEBUG=+fname,+mfplatx1 2023-09WINEDEBUG=+fnamf,+mfplat`x1 2023-09fnamf-x86.dllx1 2023-030x8007000ex1 2023-09
Compatibility Report
System Information
I confirm:
(Same as #1781 . The game doesn't launch normally, so no logs are created)
Symptoms
Same symptoms as #1781 . Game from the same developer.
Reproduction
Same as #1781