ValveSoftware / Proton

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

Test Drive Unlimited Solar Crown Demo (2870020) #7819

Open gamingdoom opened 5 months ago

gamingdoom commented 5 months ago

Compatibility Report

System Information

I confirm:

Symptoms

Reproduction

  1. Launch Game
  2. Game Crashes
robotman40 commented 5 months 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 5 months 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 5 months 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 5 months 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 5 months 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 5 months 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 5 months 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 5 months 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 5 months 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 5 months 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 5 months ago

Any update on this issue?

gamingdoom commented 5 months ago

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

robotman40 commented 5 months 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 5 months ago

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

Still no change on both experimental or hotfx

robotman40 commented 5 months ago

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

robotman40 commented 2 months ago

Since the full game is out, I would like to update this saying the game is confirmed to be using an anti-cheat not compatible with Linux at this time. While they said they're working on support, it is not guaranteed to ever come.

But since this game seems to exhibit the same behavior as Call of Duty: Black Ops Cold War, maybe the workaround someone used in its own GitHub issue can be applied to this game?

I don't own the game, so I cannot test this.

Malthbern commented 2 months ago

But since this game seems to exhibit the same behavior as Call of Duty: Black Ops Cold War, maybe the workaround someone used in its own GitHub issue can be applied to this game?

I'm not sure if i performed the workaround you mentioned correctly, however it seems to have not worked. I did get this out of a proton log though

1090.324:0140:0144:fixme:dbghelp:elf_search_auxv can't find symbol in module

fschaupp commented 2 months ago

Since the full game is out, I would like to update this saying the game is confirmed to be using an anti-cheat not compatible with Linux at this time. While they said they're working on support, it is not guaranteed to ever come.

But since this game seems to exhibit the same behavior as Call of Duty: Black Ops Cold War, maybe the workaround someone used in its own GitHub issue can be applied to this game?

I don't own the game, so I cannot test this.

Where did you get this information from? Is it public or should we add it to areweanticheatyet, so others can also easily join the crowd waiting or at least raising awareness/interest?

robotman40 commented 2 months ago

Replying to https://github.com/ValveSoftware/Proton/issues/7819#issuecomment-2368644642

https://steamdeckhq.com/news/test-drive-unlimited-solar-crown-steam-deck/

fschaupp commented 2 months ago

Replying to #7819 (comment)

https://steamdeckhq.com/news/test-drive-unlimited-solar-crown-steam-deck/

Ok. I hoped, you got it from an (publicly accessible) forum post, social media post or comparable.

gofman commented 2 months ago

The just updated Proton Experimental ([bleeding-edge] branch: https://github.com/ValveSoftware/Proton/wiki/Proton-Versions) has some stuff implemented and the game starts with it.

Note that it is completely untested (and I have no idea if anti cheat is fully happy or has a ban potential; I only tried a couple of races a couple of days ago). While the game seems to work in the first glance, might have some issues (will be good to know which ones), one known is that for now it always crashes during exit.

(also I didn't try anything with the demo, only the full game)

Malthbern commented 2 months ago

Replying to https://github.com/ValveSoftware/Proton/issues/7819#issuecomment-2372716554

Can Confirm that Proton Experimental [bleeding-edge] does indeed work. Time will only tell if this will false positive through anti-cheat or not though.

robotman40 commented 1 month ago

@kisak-valve, since the discussion has shifted to the full game, should this issue be renamed to reflect this?

kisak-valve commented 1 month ago

Hello @robotman40, no, game demos and their full release variants are separate appids and considered separately. If there isn't a compatibility report for the full game release already, then feel free to make one.