ValveSoftware / Proton

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

Gears 5 (1097840) #3042

Open NTMan opened 5 years ago

NTMan commented 5 years ago

Compatibility Report

System Information

I confirm:

steam-1097840.log

Symptoms

The game crashes immediately after launch Unhandled exception: unimplemented function bcrypt.dll.BCryptSignHash called in 64-bit code (0x000000007b45317c).

Reproduction

Just launch the game

flibitijibibo commented 5 years ago

Looks like EAC is also in this one. Also of potential interest is winhttp, which may be referenced from HttpClient for Xbox Live support (similar to Halo MCC).

I do also see x3daudio/xapofx, but it doesn’t get far enough to create an XAudio2 object, so I can’t tell if they use stock UE4 audio or a middleware.

jardon commented 4 years ago

It also doesnt launch for me. I see a EAC pop up for a second and then the game closes. I've attached log files from my attempt at running it.
steam-1097840.log

flibitijibibo commented 4 years ago

Something that may be of interested once the bcrypt issue is resolved: Word on the street is the game requires D3D12 even on Windows 7? I'm not sure how or why but they appear to depend on the new D3D12on7 runtime that recently went out. The engine still appears to load d3d11 but I'm seeing lots of Windows reports about it :/

mozo78 commented 4 years ago

I get the bcrypt.dll.BCryptSignHash error with vanilla Wine too.

alligatorshoes commented 4 years ago

Same bcrypt.dll errors here :(

flibitijibibo commented 4 years ago

BCryptSignHash has been implemented in upstream:

https://github.com/wine-mirror/wine/commit/b2bbb6f48f24ada876f952e9c0921ca584fe307d https://github.com/wine-mirror/wine/commit/98b230f851f859e9240e8381e3deec5016082ceb

Be warned though: The EAC launcher behavior for this particular game appears to be to restart the program, so while you won't hit a stub anymore, you will instead get an infinite boot loop on the EAC launcher. You can test this if you really want to, but have killall -9 Gears5.exe ready if you do that.

ga2mer commented 4 years ago

Tried to run Gears 5 without EAC and it's shows few seconds of xbox game studios intro

Something crashes the game, if run with WINEDEBUG=relay, I can watch full xbox game studios intro.

I think this is an EAC or anti-debug check, but maybe not

flibitijibibo commented 4 years ago

There’s a very good chance that the bcrypt work for #2907 will be related to this game as well.

jardon commented 4 years ago

I attempted to run Gears 5 using the MCC patch for issue #2907 because it involves bcrypt. After pressing launch it pops up a small windows that says "File not found" and then exits the game. I've attached the steam log.

steam-1097840.log

ahoneybun commented 4 years ago

Tried to run Gears 5 without EAC and it's shows few seconds of xbox game studios intro

  • Lutris
  • Proton-4.21-GE-1 with disabled DXVK
  • Rename EasyAntiCheat folder to anything in %gamefolder%/GearGame/Binaries/Steam
  • Run Gears5.exe

Something crashes the game, if run with WINEDEBUG=relay, I can watch full xbox game studios intro.

I think this is an EAC or anti-debug check, but maybe not

How did you get the Proton version like that though Lutris? It keeps failing to talk to Steam.

ga2mer commented 4 years ago

How did you get the Proton version like that though Lutris? It keeps failing to talk to Steam

Installed or custom versions displayed in the Wine list

Image ![Screenshot_20200407_204653](https://user-images.githubusercontent.com/1492335/78702217-ebc1b680-7910-11ea-8756-525f7354b78a.png)

For running game without steam I used steam emulator, for running with steam, need to rename Gears5.exe to Gears5_EAC.exe

ahoneybun commented 4 years ago

How did you get the Proton version like that though Lutris? It keeps failing to talk to Steam

Installed or custom versions displayed in the Wine list

Image Screenshot_20200407_204653

For running game without steam I used steam emulator, for running with steam, need to rename Gears5.exe to Gears5_EAC.exe

Is that with the Runner set as Wine (Runs Windows games) or Wine Steam (Runs Steam for Windows games)? The first one fails to init Steam and the second one can't detect my GPU.

ga2mer commented 4 years ago

Is that with the Runner set as Wine (Runs Windows games)

This

The first one fails to init Steam

I used steam emulator (codex or mr.goldberg) for running without steam

the second one can't detect my GPU

If it is written by Gears 5, disable DXVK and rename EasyAntiCheat folder to anything

ga2mer commented 4 years ago

Btw, it doesn't crash for me now with last update and Proton 5.0-5 and no problems with "no gpu" with DXVK https://streamable.com/j3p1uw OBS doesn't record intro

Reproduce:

Looks like game still crashing but in background, without exit, seh exception in log and 0MB ram used in htop after few seconds of intro With steam emulator (codex or mr.goldberg) I don't have symptoms above, but anyway black screen after intro

ahoneybun commented 4 years ago

I can confirm that it loads with the default Steam version though I'm also using Proton 5.0-5 Next so basically 5.0-6. It doesn't seem to like GE or TDK builds though. Thanks @ga2mer for sharing!

It just loads that intro video then black screens for me too. Progress!

McMarius11 commented 4 years ago

this is my log file. i did the steps above, only the game launch picture will appear, and that's it steam-1097840.log

ga2mer commented 4 years ago

@McMarius11 looks like Options: {'forcelgadd'} you did not disable esync

ahoneybun commented 4 years ago

Where would that option do? In the launcher options?

sinaflan commented 4 years ago

any progress...?

ga2mer commented 4 years ago

@sinaflan maybe later it will run, but game still has issues with vkd3d

sinaflan commented 3 years ago

https://www.gamingonlinux.com/2020/10/collabora-expect-their-linux-kernel-work-for-windows-game-emulation-in-kernel-5-11

EAC via 5.11 & go play @ proton, right?

kodatarule commented 3 years ago

Btw, it doesn't crash for me now with last update and Proton 5.0-5 and no problems with "no gpu" with DXVK https://streamable.com/j3p1uw OBS doesn't record intro

Reproduce:

* Rename EasyAntiCheat folder to anything in %gamefolder%/GearGame/Binaries/Steam

* Rename Gears5.exe to Gears5_EAC.exe (original Gears5_EAC.exe rename to anything)

* Disable esync (`PROTON_NO_ESYNC=1 %command%`)

Looks like game still crashing but in background, without exit, seh exception in log and 0MB ram used in htop after few seconds of intro With steam emulator (codex or mr.goldberg) I don't have symptoms above, but anyway black screen after intro

It seems that with newer proton it doesn't matter if you disable esync, fsync but the game still crashes right after Xbox Game Studios logo once it starts up if you follow what ga2mer said. steam-1097840.log

ga2mer commented 2 years ago

Hello everyone, finally managed to launch the game in Proton. (although maybe I'm the only one with such a problem, because there is one report on protondb with a successful launch of the game without EAC)

WORKS ONLY WITH VERSION 1.1.122.0 (latest patch on April 26)

Steps:

If you don't trust someone who suggests you use a dll, then you can build it yourself gfsdk_source.zip (new value for patching is 0xE8, 0xb1, 0x3a, 0x31, 0x03, 0x90) x86_64-w64-mingw32-gcc -shared -o GFSDK_Aftermath_Lib.x64.dll gfsdk.c GFSDK_Aftermath_Lib.x64.def -s

Of course EAC doesn't work (multiplayer may not work)

Main Menu screenshot ![Screenshot_20220220_214142](https://user-images.githubusercontent.com/1492335/154968279-65e19870-6d7f-4aa5-be6f-0612a675ee96.png)
GloriousEggroll commented 2 years ago

I turned this into a protonfixes/protontricks/winetricks verb:

https://github.com/GloriousEggroll/protonfixes/commit/3a06121f0bd065b084d9ce7d6bb60f975c9ea7c8

kodatarule commented 2 years ago

Replying to https://github.com/ValveSoftware/Proton/issues/3042#issuecomment-1046904681

This seems to be working great so far, the only side effect(which I think was because I left tiled resources on in-game) is that after a while the game performance diminishes to something like 10 fps until you go to the main menu and load the save game again.

d10sfan commented 2 years ago

Tried the workaround (thanks for all the info btw) and it works pretty well, other than some rendering issues, which I created a ticket in vkd3d-proton about.

ShalokShalom commented 2 years ago

Both, standard Proton and GE do this for me: Video

ThisNekoGuy commented 2 years ago

@kisak-valve Any word on compatibility for this improving? (Also surprised there isn't an EAC tag for related reports)

ThisNekoGuy commented 2 years ago

WORKS ONLY WITH VERSION FROM FEBRUARY 1 (1.1.119.0) (latest patch on February 21) Doesn't work with patch from April 26, a fix will be in a while (most likely over the weekend)

@ga2mer Did you ever "update" your solution?

ga2mer commented 2 years ago

Did you ever "update" your solution?

I updated the dll, try it (I hope it still works) If you have already used this patch, then just follow step 4 (should also work with proton-ge, but maybe protontricks will put the old version in (if it works, GE will most likely update the dll))

GloriousEggroll commented 2 years ago

Did you ever "update" your solution?

I updated the dll, try it (I hope it still works) If you have already used this patch, then just follow step 4 (should also work with proton-ge, but maybe protontricks will put the old version in (if it works, GE will most likely update the dll))

Could you update the sources too? (some people are picky about compiled binaries without sources) -- thanks -edit-

nevermind i see just the byte value needs to be changed

gabriel-maxx commented 2 years ago

someone could help me my game version is 1.1.15.0 does it matter? I tried to follow step by step what @ga2mer said but the game closes after Xbox Game Studios Logo...

ahoneybun commented 2 years ago

Replying to https://github.com/ValveSoftware/Proton/issues/3042#issuecomment-1046904681

This still works with the latest build which is nice. I wasn't sure how to use that protonfixes/protontricks/winetricks verb that you made @GloriousEggroll .

kodatarule commented 2 years ago

The game seems to not work at all on the latest proton experimental and proton 7.0, could be due to the Halo Infinite shared resources patches. Works just fine on proton 6.3-8

EDIT: If it helps out I'm attaching a log steam-1097840.log

kisak-valve commented 2 years ago

Hello @kodatarule, 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.

kodatarule commented 2 years ago

Sure thing, here it is - https://gist.github.com/kodatarule/baa6f7b50e8d2acddf6aa845bf51e3b4

alasky17 commented 2 years ago

@kodatarule Unfortunately, the game has EAC and has not chosen to work with the Valve EAC bridge for Proton support, so there is not much that we can do. The shared resources patches are not currently on 7.0-stable, so if 7.0-3 or 7.0-4 (now in public beta) fails, that is not the source of the regression. It is more likely that the workaround that you are using is no longer viable on 7.0 :/

ga2mer commented 2 years ago

Most probably VKD3D regression, works on 1660192387 experimental-bleeding-edge-7.0-22241-20220811-pabb98e-wb63e23-d5cdee4-vd00d03 with vkd3d from Proton 7.0-3

0138:info:vkd3d_get_vk_version: vkd3d-proton - applicationVersion: 2.6.0.
0138:info:vkd3d_instance_init: vkd3d-proton - build: 3e5aab6fb3e18f8.
kodatarule commented 2 years ago

Most probably VKD3D regression, works on 1660192387 experimental-bleeding-edge-7.0-22241-20220811-pabb98e-wb63e23-d5cdee4-vd00d03 with vkd3d from Proton 7.0-3

0138:info:vkd3d_get_vk_version: vkd3d-proton - applicationVersion: 2.6.0.
0138:info:vkd3d_instance_init: vkd3d-proton - build: 3e5aab6fb3e18f8.

I do believe so as the build with the Halo Infinite shared resources of vkd3d(in proton experimental) seems broken on even 7.0-4 the game launches once again.

EDIT: With that VKD3D build I also noticed problems in forza horizon 4...

alasky17 commented 2 years ago

@ga2mer Could you report that to the vkd3d-proton devs? https://github.com/HansKristian-Work/vkd3d-proton

@kodatarule Same request for the forza horizon 4 regression :)

console-master commented 1 year ago

Hello Is work quacked version 097 on steam deck?

proton ge 7-43 is coming (it have some fixes for gears 5)

flibitijibibo commented 1 year ago

There appears to be a staging branch that may include the relevant EAC files, and the runtime has been added as a dependency in the Steam configuration. It may be worth keeping a close eye on this so that existing workarounds are prepared for EAC being fixed in a future update.

Because it's a private branch I don't know if the Aftermath SDK issue has been fixed - if someone understands what causes this game and not others to break when using this DLL, I would definitely send the information to The Coalition via their official support channels as they've been very responsive re: the anticheat side of things. (To be fair though, it's currently broken on Windows too because of hardware-enforced stack protection rejecting the driver...)

ga2mer commented 1 year ago

Aftermath SDK issue

There is no issues with Aftermath SDK, main issue is EAC and (probably) Arxan, my fix just bypasses EAC initialization (that probably encrypted by Arxan and it's crashes) and jump into game initialize

Aftermath is used because it is useless dll and through it you can change the game code (which again is protected by Arxan and you can't just change the hex of the executable)

flibitijibibo commented 1 year ago

Went ahead and forwarded this information to the support ticket, thanks for clarifying!

ga2mer commented 1 year ago

Game now verified as Steam Deck Playable, tested build is 10731442 and it's retail-staging/cert-staging, so probably patch soon

blastermaster77 commented 1 year ago

I bought the Game for My linux pc but the EAC is in a loop and never finishes. Will test on my steam deck downloading it now.

https://github.com/ValveSoftware/Proton/assets/9307070/ded0a7a8-336a-4279-b6a4-7559540d25a9

https://github.com/ValveSoftware/Proton/assets/9307070/125fa61a-42af-45a3-87f9-7efa337ab635

Reporting back from my steam deck: same thing.

ga2mer commented 1 year ago

Yes, the game is marked playable, but that requires a patch, on which Valve tested the game and that patch is still unreleased and unknown when it will be released (usually releases on Tuesday at 17:00 UTC, but as we see, that did not happen this week)

Also tested both on PC and Steam Deck, no changes have been made on the EAC side and the .so is not downloaded from their servers (and it seems it shouldn't be, if the game uses the old EAC)

blastermaster77 commented 1 year ago

Yes, the game is marked playable, but that requires a patch, on which Valve tested the game and that patch is still unreleased and unknown when it will be released (usually releases on Tuesday at 17:00 UTC, but as we see, that did not happen this week)

Also tested both on PC and Steam Deck, no changes have been made on the EAC side and the .so is not downloaded from their servers (and it seems it shouldn't be, if the game uses the old EAC)

Nice to know I hope they patch it soon! thanks for the reply.

benjamimgois commented 1 year ago

Yes, the game is marked playable, but that requires a patch, on which Valve tested the game and that patch is still unreleased and unknown when it will be released (usually releases on Tuesday at 17:00 UTC, but as we see, that did not happen this week)

Also tested both on PC and Steam Deck, no changes have been made on the EAC side and the .so is not downloaded from their servers (and it seems it shouldn't be, if the game uses the old EAC)

Good to know, i bought the game sometime ago and just discovered it did not boot at all. Will wait for the fix

ga2mer commented 1 year ago

Update released https://steamcommunity.com/games/1097840/announcements/detail/3660911636356230752 UPD: doesn't work for me on PC and Deck after update, but looks like my hack still works (and GE should too), trying to completely reinstall the game on Deck UPD2: works on Steam Deck after reinstalling