Proton icon indicating copy to clipboard operation
Proton copied to clipboard

Gears 5 (1097840)

Open NTMan opened this issue 4 years ago • 90 comments

Compatibility Report

  • Name of the game with compatibility issues: Gears 5
  • Steam AppID of the game: 1097840

System Information

  • GPU: AMD Radeon VII
  • Driver/LLVM version: Mesa 19.2/8.0.0 and Mesa 19.3/8.0.0
  • Kernel version: 5.3 rc6
  • Link to full system information report as Gist
  • Proton version: 4.11-3

I confirm:

  • [x] that I haven't found an existing compatibility report for this game.
  • [x] that I have checked whether there are updates for my system available.

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

NTMan avatar Sep 06 '19 03:09 NTMan

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.

flibitijibibo avatar Sep 06 '19 23:09 flibitijibibo

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

jardon avatar Sep 10 '19 02:09 jardon

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 :/

flibitijibibo avatar Sep 12 '19 18:09 flibitijibibo

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

mozo78 avatar Sep 23 '19 08:09 mozo78

Same bcrypt.dll errors here :(

alligatorshoes avatar Sep 23 '19 11:09 alligatorshoes

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.

flibitijibibo avatar Sep 24 '19 15:09 flibitijibibo

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

ga2mer avatar Dec 04 '19 20:12 ga2mer

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

flibitijibibo avatar Dec 04 '19 21:12 flibitijibibo

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

jardon avatar Dec 07 '19 21:12 jardon

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.

ahoneybun avatar Apr 07 '20 15:04 ahoneybun

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

ga2mer avatar Apr 07 '20 17:04 ga2mer

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.

ahoneybun avatar Apr 07 '20 18:04 ahoneybun

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 avatar Apr 07 '20 19:04 ga2mer

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

ga2mer avatar Apr 07 '20 19:04 ga2mer

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!

ahoneybun avatar Apr 08 '20 13:04 ahoneybun

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

McMarius11 avatar Apr 09 '20 10:04 McMarius11

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

ga2mer avatar Apr 09 '20 14:04 ga2mer

Where would that option do? In the launcher options?

ahoneybun avatar Apr 09 '20 15:04 ahoneybun

any progress...?

sinaflan avatar Jun 26 '20 06:06 sinaflan

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

ga2mer avatar Jun 26 '20 07:06 ga2mer

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?

sinaflan avatar Nov 15 '20 19:11 sinaflan

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

kodatarule avatar May 02 '21 05:05 kodatarule

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:

  • Rename EasyAntiCheat folder to anything in %gamefolder%/GearGame/Binaries/Steam
  • Rename Gears5.exe to Gears5_EAC.exe (original Gears5_EAC.exe rename to anything)
  • Rename GFSDK_Aftermath_Lib.x64.dll in %gamefolder%/Engine/Binaries/ThirdParty/GFSDK_Aftermath/x64/ to gfsdk.dll
  • Place this dll (GFSDK_Aftermath_Lib.x64.zip) to the %gamefolder%/Engine/Binaries/ThirdParty/GFSDK_Aftermath/x64/

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

ga2mer avatar Feb 21 '22 13:02 ga2mer

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

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

GloriousEggroll avatar Feb 22 '22 05:02 GloriousEggroll

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.

kodatarule avatar Feb 28 '22 04:02 kodatarule

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.

d10sfan avatar Mar 09 '22 00:03 d10sfan

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

ShalokShalom avatar Mar 28 '22 01:03 ShalokShalom

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

ThisNekoGuy avatar Apr 26 '22 20:04 ThisNekoGuy

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?

ThisNekoGuy avatar Apr 27 '22 06:04 ThisNekoGuy

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))

ga2mer avatar Apr 27 '22 08:04 ga2mer