ValveSoftware / Proton

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

Lara Croft and the Guardian of Light (35130) #249

Open miguev opened 6 years ago

miguev commented 6 years ago

Only ever shows "Preparing to launch Lara Croft and the Guardian of Light..." and crashes, every time.

Game: https://steamdb.info/app/35130/ Steam client updated on 2018-08-23 10am CEST. OS: Ubuntu 18.04.1 LTS x86_64 Kernel: 4.15.0-32-lowlatency CPU: AMD Ryzen 5 1600X GPU: NVIDIA GeForce GTX 1070 (driver 390.48)

Another user reported the game as "crashes" in the SteamPlay Compatibility Report Sheet (1630 reports so far) at https://docs.google.com/spreadsheets/d/1DcZZQ4HL_Ol969UbXJmFG8TzOHNnHoj8Q1f8DIFe8-8/htmlview

Crashes: The following error pops up in console log : "Unhandled exception: page fault on read access to 0x00000088 in 32-bit code (0x0040c015) Archlinux 64-bit (Kernel 4.18.3) NVIDIA 396.51 i7-7700HQ / GTX 1060

miguev commented 6 years ago

More details from a clean install. Steps to reproduce:

Full output: 35130.txt

Cuddlypuff commented 6 years ago

i get the exact same crash and output system info: https://gist.github.com/Cuddlypuff/a518019d119623d9a1b7552e284c1f6d

liberodark commented 6 years ago

Work for me

miguev commented 6 years ago

@liberodark can you please add your details? https://spcr.netlify.com/app/35130 --> Add Your Report!

I tried all of the options at https://github.com/ValveSoftware/Proton ─one by one and eventually all at once─ and the game still crashed with the same errors as always.

PROTON_NO_D3D11=1 PROTON_USE_WINED3D11=1 PROTON_NO_ESYNC=1 PROTON_DUMP_DEBUG_COMMANDS=1 PROTON_LOG=1 steam steam://rungameid/35130

lucifertdark commented 6 years ago

According to one person on the Wine AppDB there's a registry setting called "StrictDrawOrdering" that needs to be added manually, I'm installing the game right now so will test it asap..

HKCU/Software/Wine/Direct3D/StrictDrawOrdering, setting it to enabled(1). There is a note that we should use the DWORD csmt instead with the same enabled entry, not sure which works right now, but will try both & report back.

https://wiki.winehq.org/Useful_Registry_Keys

edit: back again, neither of those reg keys made any difference, I did notice that the redist (Directx & VCruntime) failed to install, forcing them to install with winetricks made no difference though, tried changing compatibility to XP & emulating a virtual desktop as well, same result every time.

https://gist.github.com/lucifertdark/584c14275612e8e3c4a8070d428d8a02

edit2: back for more, I tried copying over the pfx folder of a game that actually does work to see if that might help, no change though.

ghost commented 5 years ago

edit: back again, neither of those reg keys made any difference, I did notice that the redist (Directx & VCruntime) failed to install

DirectX should install successfully on first run as the log states:

10/18/18 23:37:10: dsetup32: SetupForDirectX: InstallPlugIn() Succeeded. 10/18/18 23:37:10: dsetup32: start finalizing: phase: 234 - 234, total: 0 - 328 10/18/18 23:37:11: dsetup32: Installation ended with value 0 = Installation succeeded

If you're attempting to install it after first run via terminal, I've found that this fails unless files are deleted before trying that as it can't deal with it.

Some people seem to think this game isn't going to run with Proton because of Steam CEG use https://github.com/ValveSoftware/Proton/issues/753 as LCGOL is a CEG enabled game. https://steamdb.info/app/35130/config/ cegpublickey | 30819D... though I'm as of yet not totally convinced as my post in the linked thread explains.

It would be interesting if liberodark could prove that the game can indeed start which would prove that CEG is not a problem with any of these games thus solving that issue once and for all as well as knowing that this game can work as well.

Further debug contains:

0009:Starting process L"Z:\\home\\linux64\\.local\\share\\Steam\\steamapps\\common\\Lara Croft and the Guardian of Light\\lcgol.exe" (entryproc=0x5528c0)
0009:Call advapi32.InitializeSecurityDescriptor(0032fe98,00000001) ret=00447e24
0009:Ret  advapi32.InitializeSecurityDescriptor() retval=00000001 ret=00447e24
0009:Call advapi32.SetSecurityDescriptorDacl(0032fe98,00000001,00000000,00000000) ret=00447e35
0009:Ret  advapi32.SetSecurityDescriptorDacl() retval=00000001 ret=00447e35
0009:Call KERNEL32.CreateSemaphoreA(0032fe7c,00000000,00000200,0094b158 "STEAM_DIPC_CONSUME") ret=00447e61
0009:Ret  KERNEL32.CreateSemaphoreA() retval=00000078 ret=00447e61
0009:Call KERNEL32.CreateSemaphoreA(0032fe7c,00000001,00000200,00919428 "SREAM_DIPC_PRODUCE") ret=00447e7a
0009:Ret  KERNEL32.CreateSemaphoreA() retval=0000007c ret=00447e7a
0009:Call KERNEL32.CreateFileMappingA(ffffffff,0032fe7c,00000004,00000000,00001000,00911ed8 "STEAM_DRM_IPC") ret=00447e9a
0009:Ret  KERNEL32.CreateFileMappingA() retval=00000080 ret=00447e9a
0009:Call KERNEL32.MapViewOfFile(00000080,000f001f,00000000,00000000,00000000) ret=00447ebb
0009:Ret  KERNEL32.MapViewOfFile() retval=00350000 ret=00447ebb
wine: Unhandled page fault on read access to 0x00000084 at address 0x40c015 (thread 0009), starting debugger...

"STEAM_DRM_IPC" is interesting but... Risen 2 which also fails to start and uses CEG works fine here

0009:Call KERNEL32.CreateFileMappingA(ffffffff,0033feac,00000004,00000000,00001000,00b02ae4 "STEAM_DRM_IPC") ret=00403b87
0009:Ret  KERNEL32.CreateFileMappingA() retval=00000070 ret=00403b87
0009:Call KERNEL32.MapViewOfFile(00000070,000f001f,00000000,00000000,00000000) ret=00403baa
0009:Ret  KERNEL32.MapViewOfFile() retval=003b0000 ret=00403baa
0009:Call KERNEL32.WaitForSingleObject(0000006c,00007531) ret=004032b2
...
jonbitzen commented 5 years ago

Everyone - for reference, I think this may be an issue related to Proton using 64 bit wine prefixes only, and the game's use of closed-source 3rd party components (DotNet 3.5) that aren't a part of wine/proton (?). There is information that on Wine 3.16 it can be made to run:

https://appdb.winehq.org/objectManager.php?sClass=version&iId=28838&iTestingId=104187

But you need to use winetricks to install dotnet and a few other things. Haven't tried it myself - for the limited time I have available, hacking my Proton install to allow 32 bit prefixes, and the uncertainty in how long it'd take me to get it to run makes the endeavor infeasible for me.

But hopefully the info will help someone,

NerosTie commented 5 years ago

It works with a cracked lcgol.exe. So it's a DRM issue. CEG, yet again.

kust2708 commented 4 years ago

Still doesn't work with proton-5.0-6-rc1 steam-35130.log

lucifertdark commented 2 years ago

The game is now working with the latest Proton Experimental.

kust2708 commented 2 years ago

It doesn't work on my side with proton experimental. Even with clean prefix. steam-35130.log

kisak-valve commented 2 years ago

Hello @kust2708, err:module:process_init failed to load L"C:\\windows\\system32\\explorer.exe", error 4000000e looks like the first sign of trouble in your log and hints that the game's wineprefix is damaged or incomplete in some way.

kust2708 commented 2 years ago

Hello @kisak-valve, It seems the problem came from Proton Experimental itself. When I checked proton's files integrity, 27 files were missing/corrupted. The game isn't working though. Here is the log after checking files : steam-35130.log

kust2708 commented 2 years ago

I managed to launch the game with the lastest Proton Experimental. I noticed that you need to check the game's file integrity if it keep crashing at launch. I assume that proton modify the game files (may be related to CEG stuff). You need to check files integrity each time you clean your prefix.

GloriousEggroll commented 2 years ago

On high core count CPUs the game suffers a crash. Same problem noted in Space Marine. Needs:

WINE_CPU_TOPOLOGY=12:0,1,2,3,4,5,6,7,8,9,10,11 %command%

to launch. It did not work with 25 cores, tried with 12 and it worked.