ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
23.33k stars 1.02k forks source link

Test Drive Unlimited Solar Crown Demo (2870020) #7819

Open gamingdoom opened 3 weeks ago

gamingdoom commented 3 weeks ago

Compatibility Report

System Information

I confirm:

Symptoms

Reproduction

  1. Launch Game
  2. Game Crashes
robotman40 commented 3 weeks ago

It seems to be having a problem with ntdll at the end, so is it possibly using a kernel anti-cheat? If so, we're not in good hands.

EDIT: Looking further, it seems to be having issues with the Steam API, so maybe that's another potential issue?

EDIT 2: I'm also seeing errors relating to USB devices and HIDs throughout the logs, so I'm already suspecting that some sort of anti-cheat is being used.

EDIT 3: I just found that AMD AGS is used, so could you try overriding that so the game uses Proton's AMD AGS (add a builtin override for amd_ags_x64.dll)

gamingdoom commented 3 weeks ago

@GalacticalEdge using WINEDLLOVERRIDES="amd_ags_x64.dll=b" %command% causes the game to take much longer without any signs of life to crash. During that time it uses CPU and RAM. In addition, it seems to be getting further in the proton logs. The game also doesn't hang anymore when PROTON_LOG is enabled and just crashes. steam-2870020.log

The previous crash seemed to have something to do with defererencing a null pointer since with proton ge, it would output about how the address 0x000...0 was read.

Edit: The dll override seems to not have anything to do with it. It started taking longer to crash by itself? I can't reproduce the first crash anymore.

robotman40 commented 3 weeks ago

@GalacticalEdge using WINEDLLOVERRIDES="amd_ags_x64.dll=b" %command% causes the game to take much longer to crash. In addition, it seems to be getting further in the proton logs. steam-2870020.log

Seems to load DXGI now, but seems to encounter issues with it.

robotman40 commented 3 weeks ago

Just teated on my Steam Deck and even without adding an AMD AGS Override, the game crashes after a few seconds.

EDIT: Added an override for AMD AGS and no difference.

EDIT 2: Added PROTON_LOG=1 with AMD AGS overridden caused the game to hang and not crash. I did manage to catch some interesting exceptions in the log, such as RPC_S_SERVER_UNAVAILABLE exception

robotman40 commented 3 weeks ago

Whenever I kill the hanging process, the log ends with 9367.680:012c:0148:err:sync:RtlpWaitForCriticalSection section 00006FFFFFFB0440 "../src-wine/dlls/ntdll/loader.c: peb_lock" wait timed out in thread 0148, blocked by 0130, retrying (60 sec)

gamingdoom commented 3 weeks ago

Whenever I kill the process, the log ends with 9367.680:012c:0148:err:sync:RtlpWaitForCriticalSection section 00006FFFFFFB0440 "../src-wine/dlls/ntdll/loader.c: peb_lock" wait timed out in thread 0148, blocked by 0130, retrying (60 sec)

That was what happened for me in the first crash except it would hang on that and every so often, it would print the same line again.

gamingdoom commented 3 weeks ago

@gamingdoom, could that last line where ntdll hangs possibly be related to the crash?

I don't think so as the hang would only happen with PROTON_LOG. I also can't reproduce that anymore for some reason.

robotman40 commented 3 weeks ago

So based off what we know as of now, what seems to be the issue?

Also, to note, the WineUSB errors also appear in other games that exhibit the same symptoms like Call of Duty: Black Ops Cold War, which is why I think the game might have an anti-cheat.

gamingdoom commented 3 weeks ago

So based off what we know as of now, what seems to be the issue?

I'm not sure. It seems like proton causes some issue with memory. I see multiple SIGSYS in the logs (one at line 1235) and it seems to dereference a null pointer sometimes

Edit: maybe it actually has something to do with the RPC_S_SERVER_UNAVAILABLE error. Looking it up online, it seems to have something to do with getting a certificate. This then could be failing in a way that would cause bad data/null pointers to eventually be dereferenced.

robotman40 commented 3 weeks ago

So based off what we know as of now, what seems to be the issue?

I'm not sure. It seems like proton causes some issue with memory. I see multiple SIGSYS in the logs (one at line 1235) and it seems to dereference a null pointer sometimes

Edit: maybe it actually has something to do with the RPC_S_SERVER_UNAVAILABLE error. Looking it up online, it seems to have something to do with getting a certificate. This then could be failing in a way that would cause bad data/null pointers to eventually be dereferenced.

If that's the case, maybe a Proton Hotfix could fix it?

robotman40 commented 3 weeks ago

Any update on this issue?

gamingdoom commented 3 weeks ago

They updated the game but the same thing is still happening.

robotman40 commented 3 weeks ago

They updated the game but the same thing is still happening.

I mean like any updates to fix this issue on Proton's end?

Malthbern commented 3 weeks ago

I mean like any updates to fix this issue on Proton's end?

Still no change on both experimental or hotfx

robotman40 commented 2 weeks ago

Demo won't be around for much longer and there's still no update