@klangman I am seeing the same error as you, but the failure happens even when I go back to older proton versions including 4.2-9. Could you try switching to 4.2-9 to verify if you are still seeing the failure there? For a clean test, please temporarily move your old compatdata folder so that the test will be in a clean prefix (....../steamapps/compatdata/351920). You can delete the newly created folder and replace it with your old one after the test to prevent losing game data :)
@klangman I am seeing the same error as you, but the failure happens even when I go back to older proton versions including 4.2-9. Could you try switching to 4.2-9 to verify if you are still seeing the failure there? For a clean test, please temporarily move your old compatdata folder so that the test will be in a clean prefix (....../steamapps/compatdata/351920). You can delete the newly created folder and replace it with your old one after the test to prevent losing game data :)
I forced 4.2-9 before I submitted the issue and found it working. I then switched back to 4.11-8 in order to generate a proton log of the failure for this issue report. I'll try moving compatdata tonight when I get home and report what happens on my machine.
@klangman Thank you for checking! That makes the behavior I am seeing even stranger since the logs look the same.
If you confirm that the behavior is still good on 4.2-9 with the old prefix, could you take a log of the failure with 4.11-8 with +relay,+steamclient,+dxgi logging channels added? (This can be done by editing user_settings.py in the steam common/Proton 4.11 folder.)
Also, I cannot see the full system report gist that you linked above. Would you mind re-linking it?
Could you try switching to 4.2-9 to verify if you are still seeing the failure there? For a clean test, please temporarily move your old compatdata folder so that the test will be in a clean prefix (....../steamapps/compatdata/351920).
I moved ..../steamapps/compatdata/351920 to back it up and ran again with 4.2-9, it worked perfectly. I also reinstalled the game and again it worked well with 4.2-9. Went back to 4.11-8 and again it crashed.
I ran with the extra channels in user_settings.py and here is the new log:
I do the gist report tomorrow.
@klangman Thank you for the log! I have one more favor to ask for now, just to confirm that we are seeing the same issue as you. Could you try putting the following line into the launch options for the game to see if it fixes the launch failure on 4.11-8?
WINEDLLOVERRIDES="dxgi=n" %command%
WINEDLLOVERRIDES="dxgi=n" %command%
@alasky17 Yes, with that option in place the games runs using Proton 4.11-8
@klangman Thank you for the confirmation!
I've added a hack to fix this without the override in the next Proton release.
I thought the technical details were interesting, so if you're curious, here they are. The crash is caused by the game reading uninitialized memory. I couldn't 100% confirm why it does that, but I suspect it is related to our missing Media Foundation support (the crashing code belongs to the FGameMoviePlayer class). However, the game does check for NULL before dereferencing the uninitialized value that it reads. By accident of memory allocation, the uninitialized memory happens to contain the GPU Description string read earlier from DXGI. If your GPU string is long enough, the game will try to dereference some wide character string and crash. See rcx=0065004700200041 in the original bug report. That string is "A Ge", which is a substring of your full device string: NVIDIA GeForce GTX 750 Ti.
DXVK's DXGI incorrectly reports the GPU string as just GeForce GTX 750 Ti, while Wine's DXGI reports it correctly as NVIDIA GeForce GTX 750 Ti. Wine's string happens to be long enough to fill the uninitialized memory with WCHAR ASCII instead of NULL. So Wine crashes where DXVK didn't. This also explains why @alasky17 always saw the crash even before 4.11-8. Her GPU string is AMD RADV POLARIS10 (LLVM 8.0.0), which is long enough to trigger the crash even on DXVK.
Anyway I added a hack just for this game which sets the GPU Description to the empty string to work around this. The game doesn't seem to use this value outside of dumping it in its log file, so I think it's safe. Hopefully we can remove the hack when our Media Foundation support matures and fixes this probably (assuming that is actually the problem).
@aeikum Thanks for the details. If I was looking closer I might have noted the contents of rcx looked like UTF16 characters, but they are backwards due to little-endianness I suppose. Glad to hear it will be fixed in the next release. Thanks again!
This should be working again without the WINEDLLOVERRIDES workaround in 4.11-9. Thanks for reporting!
4.11-9 worked for me. Thanks!
I'm on GTX 1050 with Pop!_OS and Proton 5.0. I still have removed the line from file cm3.ini: StartupMovies = "Movies/loading.mp4". Settings are all set to High, Antialiased, 1920x1080, and I get about 30-40FPS avg. Not exactly great, but completely playable.
Not working with proton experimental.
I removed the video from the .ini file.
Forced to run with Proton 6.3-8 and it works.
Forced to run with Proton 6.3-8 and it works.
i tried CM3 with proton 7. crashed. tried it now again with 7.0..6. crashed
force 6.3. IT WORKS
switched back to 7. still working
@MartinX3 @longusnickus Where exactly is the game crashing? On launch? Could you please copy your system information from Steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report.
@alasky17
Yes and here is the gist.
https://gist.github.com/MartinX3/99174a5be1f2064c1168905134039379
@MartinX3 Thank you! Unfortunately that did not help explain why the game is crashing for you and not for me :/ If you are able to grab a log of the game crashing (PROTON_LOG=1 %command% in the launch options, log will be created by default as ~/steam-351920.log) then maybe we could figure out what is going on here. I think in order to do that, you might need to temporarily move the working prefix from 6.3-8 since it sounds like the game is working for you now after switching to 6.3-8 temporarily? Instead of deleting the prefix, you can just rename it and then move it back after testing on 7.0 with a fresh prefix. I don't want you to accidentally mess up your game if it is working, so please only try at your own risk, or if the game starts crashing again.
proton 6.3-8x2 2023-02proton experimentalx1 2022-09proton 5.0x1 2020-02proton 4.11-8x1 2019-11proton 4.11x1 2019-11proton 4.11-7x1 2019-11PROTON_LOG=1x1 2023-02WINEDLLOVERRIDESx1 2019-11WINEDLLOVERRIDES="dxgi=n"x2 2019-11WINEDLLOVERRIDES="dxgi=n" %command%x2 2019-11
Compatibility Report
System Information
I confirm:
steam-351920.log
Symptoms
Fails on startup.
Reproduction
Remove the following line from file cm3.ini: StartupMovies = "Movies/loading.mp4" (work-around for different issue) then try and start the game. You should find that it works with Proton 4.11-7 but fails to start with 4.11-8