ValveSoftware / Proton

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

Hitman 2 (863550) #2121

Open sergio91pt opened 5 years ago

sergio91pt commented 5 years ago

Compatibility Report

System Information

I confirm:

steam-863550.log

Symptoms

The launcher works but the game crashes a couple seconds after the game launches in fullscreen. The screen is always black when it crashes.

Reproduction

Always reproducible.

Solution

The problem seems to be caused by this bug, related to Nvidia prime/optimus and gdm3 on Ubuntu.

The solution is to run sudo vulkaninfo. It fails without sudo and the command needs to be run again after rebooting.

nsivov commented 5 years ago

@sergio91pt is your Steam library located on NTFS partition by any chance "Z:\media\sergio\ldata\LinSteam2" ?

sergio91pt commented 5 years ago

@nsivov No, ext4

/dev/mapper/luks-43b62179-8920-4f09-bbdb-2c7ed7ea4c7f on /media/sergio/ldata type ext4 (rw,nosuid,nodev,relatime,data=ordered,x-gvfs-show)

nded03 commented 5 years ago

I have a similar issue except no game window appears after clicking the play button on the launcher. steam-863550.log

Edit: I was able to get it running by rolling my RX 580 driver back to Mesa 18.2.2. Seems there was a botched Vulkan extension in Mesa 18.3.0.

zzhiyi commented 5 years ago

Vendor: Intel Open Source Technology Center (0x8086) Device: Mesa DRI Intel(R) UHD Graphics 630 (Coffeelake 3x8 GT2) (0x3e92) Version: 18.2.2

Works fine for me. Could be a driver issue.

ghost commented 5 years ago

System Information

Notes:

kisak-valve commented 5 years ago

HITMAN 2 launcher crash with Proton 3.16-6

Issue transferred from https://github.com/ValveSoftware/Proton/issues/2328. @hardware posted on 2019-02-10T14:26:30:

Compatibility Report

System Information

I confirm:

Symptoms

With Proton 3.16-6 beta, the game launcher does not launch at all.

No log files are generated under $HOME/steam-$APPID.log in that case.

If I use Proton 3.16-4, I can launch the game but online mode does not work. If I use Proton 3.7-8, I can launch the game and online connectivity work out of the box.

Reproduction

  1. Switch Proton to 3.16-6
  2. Launch the game
  3. Game Launcher crash

Do you have an idea to find some logs about this issue ?

user_settings.py :


user_settings = { 
    # logs are saved to $HOME/steam-$STEAM_APP_ID.log, overwriting any previous log with that name
    "WINEDEBUG": "+timestamp,+pid,+tid,+seh,+debugstr,+module",

    "DXVK_LOG_LEVEL": "info",

    # Enable DXVK's HUD
    "DXVK_HUD": "fps,devinfo,frametimes,memory,version"

    # Use gl-based wined3d for d3d11 and d3d10 instead of vulkan-based dxvk
    # "PROTON_USE_WINED3D": "1",

    # Disable d3d11 entirely
    # "PROTON_NO_D3D11": "1",

    # Disable in-process synchronization primitives
    # "PROTON_NO_ESYNC": "1",
}

Game's launch options :

PROTON_LOG=1 %command%
hardware commented 5 years ago

I found some logs in /tmp/dumps.

So with Proton 3.16-6 beta :

Loaded Config for Local Override Path for App ID 863550: /home/hardware/.local/share/Steam//controller_base/empty.vdf
[863550]Non-Steam Controller Configs Enabled: 1
GameAction [AppID 863550, ActionID 1] : LaunchApp changed task to ProcessingInstallScript with ""
Cannot open assembly '/home/hardware/.local/share/Steam/legacycompat/iscriptevaluator.exe': File does not contain a valid CIL image.
sh: /data/steam/steamapps/common/HITMAN2: Is a directory
sh: /home/hardware/.local/share/Steam/steamapps/common/Steamworks Shared: Is a directory
[2019-02-10 16:43:50] Startup - updater built Feb  2 2019 17:21:33
[2019-02-10 16:43:50] Vérification de l'installation...
[2019-02-10 16:43:50] Verification complete
installscript_posix.cpp (357) : Assertion Failed: strCommonRedistForeignInstallPath != ""
installscript_posix.cpp (357) : Assertion Failed: strCommonRedistForeignInstallPath != ""
Installing breakpad exception handler for appid(steam)/version(1549129917)
assert_20190210164419_25.dmp[10401]: Uploading dump (out-of-process)
/tmp/dumps/assert_20190210164419_25.dmp
Cannot open assembly '/home/hardware/.local/share/Steam/legacycompat/iscriptevaluator.exe': File does not contain a valid CIL image.
installscript_posix.cpp (418) : Assertion Failed: Standalone evaluator returned error code for app 863550
installscript_posix.cpp (418) : Assertion Failed: Standalone evaluator returned error code for app 863550
GameAction [AppID 863550, ActionID 1] : LaunchApp changed task to SynchronizingCloud with ""
GameAction [AppID 863550, ActionID 1] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 863550, ActionID 1] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 863550, ActionID 1] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 863550, ActionID 1] : LaunchApp continues with user response "CreatingProcess"
Game update: AppID 863550 "", ProcID 10405, IP 0.0.0.0:0
Loaded Config for Local Override Path for App ID 863550: /home/hardware/.local/share/Steam//controller_base/empty.vdf
>>> Adding process 10405 for game ID 863550
GameAction [AppID 863550, ActionID 1] : LaunchApp changed task to WaitingGameWindow with ""
ERROR: ld.so: object '/home/hardware/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/hardware/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Cannot open assembly '/data/steam/steamapps/common/HITMAN2/Launcher.exe': File does not contain a valid CIL image.
GameAction [AppID 863550, ActionID 1] : LaunchApp changed task to Completed with ""
Game removed: AppID 863550 "", ProcID 10405 
>>> Adding process 10406 for game ID 863550
assert_20190210164419_25.dmp[10401]: Finished uploading minidump (out-of-process): success = yes
assert_20190210164419_25.dmp[10401]: response: CrashID=bp-6af94246-d0ba-4293-89e6-44f152190210
assert_20190210164419_25.dmp[10401]: file ''/tmp/dumps/assert_20190210164419_25.dmp'', upload yes: ''CrashID=bp-6af94246-d0ba-4293-89e6-44f152190210''

Issue seems to be here :

GameAction [AppID 863550, ActionID 1] : LaunchApp changed task to ProcessingInstallScript with ""
Cannot open assembly '/home/hardware/.local/share/Steam/legacycompat/iscriptevaluator.exe': File does not contain a valid CIL image.

Similar issue : https://github.com/ValveSoftware/Proton/issues/2295 @ProtonIssuesTempAcct

Dump : assert_20190210164419_25.zip

hardware commented 5 years ago

Proton 3.16-6 Beta : "File does not contain a valid CIL image" error. Proton 3.16-4 : No error Proton 3.7-8 Beta : "File does not contain a valid CIL image" error. Proton 3.7-8 : No error

This issue seems related to the beta versions of Proton with my computer.

alasky17 commented 5 years ago

@hardware have you tried re-downloading the versions that are failing? You can delete the folder at .steam/steam/steamapps/common/Proton 3.16 Beta and then verify the integrity of any game while the Beta version is selected to trigger it to re-download.

Leopard1907 commented 5 years ago

Hitman 2 crashes unless i add that lauch option:

LANG=C %command%

After that it boots but starts as a minimized window ; out of focus. A simple alt tabbing is necessary to see game window.

3.16-7 Beta

peterson432 commented 5 years ago

which version of Hitman you have installed? try to download the patch in it's local folder, and check your GPU settings and lower the resolution.

kisak-valve commented 5 years ago

The problem with the mouse in Hitman 2

Issue transferred from https://github.com/ValveSoftware/SteamOS/issues/680. @vladislavyuzbekov posted on 2019-06-18T16:20:22:

Your system information

Please describe your issue in as much detail as possible:

Describe what you expected should happen and what did happen.

The wireless mouse does not work in the game, but it works if you hold the mouse button down.


@kisak-valve commented on 2019-06-18T16:47:02:

~Hello @vladislavyuzbekov, this issue should also be mentioned to the game's dev(s).~


@dubigrasu commented on 2019-06-18T17:56:48:

@vladislavyuzbekov That's something that unfortunately happens frequently with Proton titles played through "steamcompmgr", which is SteamOS's window manager.

kuroko143 commented 5 years ago

I don't know where to report this since I am not sure if it's a Proton issue. I bought the game and played for over 15 hours. I am not getting any card drops. I am stuck at "4 card drops remaining".

Played the game using these two ways: 1) No launch option 2) Launch option set to -skip_launcher

kisak-valve commented 5 years ago

Hitman 2: PS4 controller doesn't work with Proton 4.11

Issue transferred from https://github.com/ValveSoftware/Proton/issues/2963. @skeevy420 posted on 2019-08-07T21:05:51:

Compatibility Report

System Information

I confirm:

Including the log from 4.11 where it doesn't work and the log from 4.2 where it does work.

4.11 -- steam-863550-4.11.log

4.2 -- steam-863550-4.2.log

Symptoms

PS4 controller doesn't work with Hitman 2. Wireless or wired makes no difference and both have the same results.

Reproduction

Turn on a PS4 controller and try to play the game. Controller doesn't work. Controller settings in menu are inaccessible. Revert to Proton 4.2 and it works perfectly.

Enabling PS4 controller configuration in Steam's controller settings leaves the PS4 controller in desktop mode when in-game. Allows accessing controller settings in-game but nothing there is helpful to this issue. Enabling that option in Steam was not necessary for 4.2 nor is it necessary for other games I've played with Proton 4.11.

Additional Notes

Have tried: Mesa 19.1.3 stable with llvm 8 mesa-git & mesa-aco both with llvm 9 & llvm 10 five different kernel versions; two with fsync (listed above) Proton builds with different patches from Tk-Glitch unplugging my keyboard since I saw that in another controller issue using xinput with Proton 4.11

All have the same results.

I also deleted compatdata/863550 when changing Proton versions and when trying different things to try to figure this out.


@TacoDeBoss commented on 2019-08-08T21:16:29:

I can replicate with my Xbox One S pad - simply go to any game's Properties and enable Steam Input Per Game Setting to "Forced On" and watch as your controller completely ceases to work.


@skeevy420 commented on 2019-08-08T21:53:45:

Just tested with Proton 4.11-2 and it has the same results.

aeikum commented 5 years ago

Thanks for reporting the controller regression. I can reproduce this and it should be fixed in an upcoming release.

aeikum commented 5 years ago

Proton 4.11-3 contains a major change to how we report controllers to games. This should fix HITMAN 2's PS4 controller regression. Please retest.

skeevy420 commented 5 years ago

Well, after testing, I can say that it's partially resolved. It only works after enabling both Steam Overlay and Playstation Configuration Support. Once those are enabled, it works great and I had a great time playing it with FSync and ACO last night. Thanks.

I say partially because with the Proton 4.2 series neither of those options were a hard requirement to get my DS4 to work. It just worked regardless of what options I set within Steam.

skeevy420 commented 5 years ago

Unrelated to the above, there's an issue when VSync is enabled in-game. Both mouse and controller input for looking around have issues and this effects every Proton release from 4.2-1 until now. I've never tried Hitman 2 with earlier than 4.2-1.

When VSync is enabled in-game, it's almost impossible to look around with a mouse because it goes wild and tries to look in 32 directions when moving. With a controller, it gives the appearance of choppy/laggy FPS and that the game may be running slow as well as the stick "gets stuck" in one direction and will keep trying to look in that direction until I jiggle the right stick. Setting the in-game FPS/Vsync method from 60FPS to 30FPS has no effect on that nor does enabling/disabling vsync in xorg.conf, KWin, or via libstrangle have any effect there.

It runs perfectly with the above settings to get my DS4 working and the in-game VSync disabled.

This may be related to #2895

LiamDawe commented 5 years ago

HITMAN 2 is now broken as of the latest update, fails to detect the GPU properly and claims it doesn't support DX11.

Proton Log: https://gist.github.com/LiamDawe/e619b8fb30ed8c41c3248063fa44cc5e System info: https://gist.github.com/LiamDawe/1c47d164934d9d87508cde18f60da66c

kisak-valve commented 5 years ago

Hello @LiamDawe, what is the last known working Proton version for you and this game?

skeevy420 commented 5 years ago

So far I've tested Hitman 2 with Mesa from master and Mesa from ACO-master and both of those with DXVK from master, DXVK 1.4, & DXVK 1.3.4 via TKG Proton builds; and both mesa builds with Proton 4.11-6.

All have that same "DllMain.cpp:22 Attached GfeSDK.dll" in their terminal output.

skeevy420 commented 5 years ago

@kisak-valve For me it was 4.11-5 and/or Proton-TKG built last night with DXVK from git master. Both quit working as of the update Hitman 2 update this morning.

I think the Proton release at the same time is just unfortunate timing.

LiamDawe commented 5 years ago

@kisak-valve it worked fine on most Proton versions, the game update is what broke it.

aeikum commented 5 years ago

Seems like it wants some proprietary AMD extension library and fails when it can't find it.

0031:0032:Call KERNEL32.LoadLibraryA(00ca08c8 "atiadlxx.dll") ret=00c92236
0031:0032:Ret  KERNEL32.LoadLibraryA() retval=00000000 ret=00c92236
0031:0032:Call KERNEL32.LoadLibraryA(00ca08b8 "atiadlxy.dll") ret=00c95328
0031:0032:Ret  KERNEL32.LoadLibraryA() retval=00000000 ret=00c95328
0031:0032:Call ntdll.RtlFreeHeap(00010000,00000000,00fc0090) ret=00c98b70
0031:0032:Ret  ntdll.RtlFreeHeap() retval=00000001 ret=00c98b70
0031:0032:Call KERNEL32.GetUserDefaultUILanguage() ret=1400c06d6
0031:0032:Ret  KERNEL32.GetUserDefaultUILanguage() retval=00000409 ret=1400c06d6
0031:0032:Call user32.MessageBoxW(00000000,1418deb70 L"Failed to initialize DirectX. This game requires a DirectX 11-capable graphics card.",141679d30 L"HITMAN 2",00000010) ret=14109dcf8
dribbleondo commented 5 years ago

Can confirm it doesn't launch.

aufkrawall commented 5 years ago

Works for me (radv) again with Proton 4.11-6 after deleting its prefix (".../SteamLibrary/steamapps/compatdata/863550").

Edit: Nope, was because I had set "dxgi.customVendorId = 10de" by mistake via global DXVK conf. Well, this works as a workaround, but perhaps there's a better solution.

skeevy420 commented 5 years ago

Also works for me and my RX 580 after replacing HITMAN2/Retail/amd_ags_x64.dll with the one made with dxvk-ags with the header configured to use AGS 5.1. Uploaded my dll.

amd_ags_x64.dll.txt

aeikum commented 5 years ago

If using nvidia vendor ID works, perhaps we should just set dxgi.nvapiHack for Hitman 2 in DXVK.

aeikum commented 5 years ago

@doitsujin Can confirm setting dxgi.nvapiHack=False gets Hitman 2 playable again. It does load nvapi, but gets in-game no problem.

Edit: It occurs to me this fixes it for nvidia users but probably not AMD users. I guess we want something like dxgi.customVendorId=10de as DXVK has for some other games.

aufkrawall commented 5 years ago

Also works for me and my RX 580 after replacing HITMAN2/Retail/amd_ags_x64.dll with the one made with dxvk-ags with the header configured to use AGS 5.1. Uploaded my dll.

amd_ags_x64.dll.txt

Did the uploading as txt perhaps destroy the file's header? It doesn't work for me.

skeevy420 commented 5 years ago

Possibly. Zipped it up this time. Didn't realize those were allowed :blush: amd_ags_x64.zip

aufkrawall commented 5 years ago

Thanks. Riddle solved: It works with proton-tkg, but not proton 4.11-6 offered via Steam.

skeevy420 commented 5 years ago

@aeikum

I think it has to do with amd_ags since the game does work when that file is replaced with the one created with dxvk-ags using 5.1 (it's set to use 5.2 by default). I'm playing it right now w/o setting any dxgi values and it's working great.

Edit...didn't realize I was still using a proton-tkg build...gonna retest....

aeikum commented 5 years ago

@skeevy420 Yes, I think you're right. We do already ship an amd_ags implementation, but it's mostly an empty stub. We shipped that way back at Proton's launch to support Wolfenstein. I think these days we prefer to use vendor overrides when possible, but it's hardly a settled issue.

doitsujin commented 5 years ago

Vendor overrides don't seem to solve this particular issue; even when reporting my GPU as an Nvidia card it still fails to run.

AGS is annoying to support because the different library versions aren't compatible to each other in any way. I'm not sure which version the Wolfenstein library is written against, but if it's anything other than 5.1 or maybe 5.0 it's not going to work. Edit: Looks like Proton ships a 5.1 dll so it should work by just setting the amd_ags_x64 override to builtin.

aufkrawall commented 5 years ago

Vendor overrides don't seem to solve this particular issue; even when reporting my GPU as an Nvidia card it still fails to run.

Dumb question: Did you correctly put dxvk.conf in the game's main dir "HITMAN2", not "Retail"? It definitely works here when setting its path globally via environment variable.

doitsujin commented 5 years ago

@aufkrawall are you on Nvidia?

I did confirm that the option applies correctly by looking at the log files. I'm using a global dxvk config.

skeevy420 commented 5 years ago

@doitsujin Just wanted to say that the ags dll you posted above is working for me with 4.11-6.

dribbleondo commented 5 years ago

@doitsujin Yep, the fix works for me too. Created dxvk.conf, added

[HITMAN2.exe] 
dxgi.customVendorId=10de 

and replaced the amd_ags_x64.dll with the modified one, all go under HITMAN2/Retail.

b3nis commented 5 years ago

Works for me too (GTX1650). I put the config file with dxgi.nvapiHack=False in the retail folder.

What is the different between putting dxgi.nvapiHack=False and dxgi.customVendorId=10de?

Also, thanks for this thread - was quite unhappy when I wanted to spend the evening with the new map, Haven.

dribbleondo commented 5 years ago

One is Nvidia specific I believe, the other tricks games into thinking it's an Nvidia card. But, unsure.

aeikum commented 5 years ago

@doitsujin I tested that out and no dice. It tries to call agsDriverExtensionsDX11_CreateDevice which we don't implement. I'm surprised the nvidia vendor override didn't work for you. I've been testing on nvidia, can try on AMD later.

skeevy420 commented 5 years ago

Vendor overrides don't seem to solve this particular issue; even when reporting my GPU as an Nvidia card it still fails to run.

AGS is annoying to support because the different library versions aren't compatible to each other in any way. ~I'm not sure which version the Wolfenstein library is written against, but if it's anything other than 5.1 or maybe 5.0 it's not going to work.~ Edit: Looks like Proton ships a 5.1 dll so it should work by just setting the amd_ags_x64 override to builtin.

Tried setting the override to builtin and no luck. Also replaced the one under pfx/drive_c/windows/system32/ with the one posted and removed earlier and set to builtin with also no luck. Using disable didn't work either.

dribbleondo commented 5 years ago

Can confirm that setting the dll to be builtin didn't work.

yasink21 commented 5 years ago

Also works for me and my RX 580 after replacing HITMAN2/Retail/amd_ags_x64.dll with the one made with dxvk-ags with the header configured to use AGS 5.1. Uploaded my dll.

amd_ags_x64.dll.txt

replaced the original dll with the one you uploaded and it worked perfectly. I am also using a rx 580

dribbleondo commented 5 years ago

Also, as a fair warning, replacing the DLL breaks the game if you try and play the game on Windows in DX11 mode (even if you use DXVK). Just set the game to DX12 Mode on Windows to mavoid having to verify the game cache each time. Useful for dualbooters like myself.

aeikum commented 5 years ago

Vendor overrides don't seem to solve this particular issue; even when reporting my GPU as an Nvidia card it still fails to run.

@doitsujin Can you double-check your results here? I just tested on an AMD machine and setting the vendor to 10DE via dxvk.conf allowed the game to start.

Dylan-Brotherston commented 5 years ago

Is anybody else experiencing controller issues after the last Proton and/or Hitman update? In particular, aiming down is a struggle and my controller gets un-calibrated by while playing.

OS: ubuntu 19.04 Proton: 4.11-6

And as a side note thank you @skeevy420 for the dll.

aeikum commented 5 years ago

@Dylan-Brotherston What controller are you using? Wired, bluetooth, or something else? Do you have Steam controller configuration turned on or off?

Dylan-Brotherston commented 5 years ago

Wired Xbox-one controller. Steam input per-game is forced on for hitman 2.