Proton
Proton copied to clipboard
Horizon Zero Dawn (1151640)
Compatibility Report
- Name of the game with compatibility issues: Horizon Zero Dawn
- Steam AppID of the game: 1151640
System Information
- GPU: GTX 1080 Ti
- Driver/LLVM version: nvidia 440.100
- Kernel version: 5.7.6
- Link to full system information report as Gist
- Proton version: 5.0.10-RC4
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.
Note: current NVIDIA driver is the latest version available in RPMFusion for Fedora 32
Symptoms
Game doesn't start - a dialog pops up saying "Unfortunately the game crashed" without providing any error details.
Reproduction
Just start the game through Steam. steam-1151640.log
Same issue here. Identical error box, and nothing else.
System Information
- GPU: GeForce GTX 1080 Ti
- Driver/LLVM version: NVIDIA 440.95.01
- Kernel version: 5.4.0-7634-generic
- Link to full system information report as Gist:
- Proton version: 5.0-9
A comment further down noticed that the logs are different if you click "yes" or "no" to sending a report. Here are logs for both cases:
Log when clicking "no" to sending crash report: steam-1151640-no_crash_report.log
Log when clicking "yes" to sending crash report: steam-1151640-yes_crash_report.log
Edit: Out of curiosity I tried with the newest GloriousEggroll/proton-ge-custom release, with seemingly same result. Log here, in case it helps anyone: proton_5.9-GE-5-ST_steam-1151640.log
Same issue here. Identical error box, and nothing else. steam-1151640.log Steam Sys-info
Looking at the logs from everyone, looks like this is common point where error occurs.
warn:debugstr:OutputDebugStringA "An unknown unhandled exception (C06D007Eh) has occurred in thread 'Main' (0) at instruction location 000000007B00FC3Eh\n\nCall stack:\nBase address: 0x000140000000\n 0. 0x00007BCDAC6C RtlVirtualUnwind\n 1. 0x00007BCDAF82 RtlVirtualUnwind\n 2. 0x00007BCDB2FE NtRaiseException\n 3"
I"m having same issue, the same line was also in my proton log, along with the error cpu_context_win.cc:144] non-x64 context
Same issue as mentioned by other users. However, I am still updating my results, incase it helps further to find the root cause.
System Info steam-1151640_GE_5.9-5_ST.log steam-1151640_Proton509.log steam-1151640_Proton509_next.log
same here System Info
Same issue here.
same here
I think, "error cpu_context_win.cc:144] non-x64 context" is the crash-reporter crashing and not hzd. When you click on no when being asked to send the error report, you get a much different proton log. Then warn:debugstr:OutputDebugStringA "Initializing DLMalloc Heap\n" maybe looks like the evil witch, that caused all of this. steam-1151640.log
It's also dx12 only. That might not help a lot either.
I'm getting the same pop-up.. I tried multiple versions of proton including proton-ge and proton-tkg..
I'm having the same issue
Then warn:debugstr:OutputDebugStringA "Initializing DLMalloc Heap\n" maybe looks like the evil witch, that caused all of this. steam-1151640.log
It isn't. These logs have a lot of info and possibly not enough.
Point in fact you can look at
fixme:msvcrt:MSVCRT__stdio_common_vsnwprintf_s options 24 not handled
warn:debugstr:OutputDebugStringA "Initializing DLMalloc Heap\n"
and think that could cause a failure. But, it is highly likely a red herring.
Also, stuff like "execute_cfa_instructions", "raise_exception", "dump_unwind_info" can all be present in a working game. Logs can also present other challenges with log entries appearing at different places.
There's also fixme and warnings appearing for dx12 but that may or may not mean anything important as well.
fixme:d3d12_device_caps_init_feature_options1: TotalLaneCount = 3840, may be inaccurate.
fixme:dxgi:dxgi_adapter_QueryVideoMemoryInfo Returning fake video memory info.
fixme:dxgi:dxgi_adapter_SetVideoMemoryReservation iface 0xd97f40, node_index 0, segment_group 0, reservation 0x180000000 stub!
warn:d3d12_device_CheckFeatureSupport: Shader cache features not supported.fixme:d3d12_device_CheckFeatureSupport: Unhandled format 0x55.
fixme:d3d12_device_CheckFeatureSupport: Unhandled format 0x56.
fixme:d3d12_device_CheckFeatureSupport: Unhandled format 0x73.
Its possible this one may take months or more to solve. Just depends on the problems and how many.
Same issue here. Identical error box. steam-1151640.log steam-sysinfo.txt
I added some additional debug channels for this log that will hopefully be helpful.
I added some additional debug channels for this log that will hopefully be helpful.
That does help a bit. The logs previously I don't think any other logs here show the dialog - the issuer's doesn't and I checked one other making two before this large one you provided.
You get that crash dialog box within [edit: 3k] lines [probably ~2.7 or 2.8k] of the dx12 info I posted above notably
"warn:d3d12_device_CheckFeatureSupport: Shader cache features not supported"
fixme:d3d12_device_CheckFeatureSupport: Unhandled format 0x56
Since its mostly garbage in between, its probable that its happening at the dx12 stuff or before (I haven't looked into it yet any further).
The error dialog.
0150:Ret PE DLL (proc=0x11007bb8,module=0x11000000 L"amd_ags_x64.dll",reason=THREAD_ATTACH,res=(nil)) retval=1
0150:Starting thread proc 0x140375730 (arg=0x4fc5500)
0150:Call user32.MessageBoxW(00000000,141b588b0 L"Unfortunately the game has crashed.\nDo you want to help us fix the issue by sending a crash report?",141b59dc0 L"Error",00040014) ret=1403757c8
So it looks like much of the log is the end result of it crashing. I included the amd dll line in there just because its next to it and it may not mean anything.
I tried the game on Windows 10 too and it also won't run, displaying exactly the same dialog box.
However, before the "Unfortunately the game has crashed..." error, it displays different dialog box that says the game will only run with driver version 27. This is NVidia DirectX driver version and that version supports DirectX12 Ultimate, which I couldn't install on the computer I have running Windows 10 because... reasons...
So, I assume that the reason for this crash on Proton is essentially because there is no DirectX 12 Ultimate support either in Proton, or DX dlls being used in Proton prefix for this game, or because NVidia driver I have on Linux (440.100) does not provide features needed to implement/emulate DX12 Ultimate, or some other place (I'm not really familiar with all the Wine/Proton stack to be able to pinpoint this more precisely).
Just my 2 cents, thought it may help in some way.
So, I assume that the reason for this crash on Proton is essentially because there is no DirectX 12 Ultimate support either in Proton, or DX dlls being used in Proton prefix for this game, or because NVidia driver I have on Linux (440.100) does not provide features needed to implement/emulate DX12 Ultimate, or some other place (I'm not really familiar with all the Wine/Proton stack to be able to pinpoint this more precisely).
Its certainly possible. Though Death Stranding is I believe the only other game that is using this version of the Decima engine and dx12, and it has been working with the Proton next version, although that seems to be iffy and not without problems.
VKD3D is still a work-in-progress but they also note that 440.100 is one that works with dx12 and also a higher version driver may be needed. I'm not sure anyone has tested here with the Nvidia Vulkan developer beta driver as well.
But, it definitely looks possible that everyone may need to wait for VKD3D to improve and to have a driver that will work with it. Should find out in time.
it is most probably a dx12 issue, I get "fixme:d3d12_device_CheckFeatureSupport: Unhandled feature 0x13." before it crashes, in logs.
Looks like we have to wait for vkd3d to progress more.
it is most probably a dx12 issue, I get "fixme:d3d12_device_CheckFeatureSupport: Unhandled feature 0x13." before it crashes, in logs.
Looks like we have to wait for vkd3d to progress more.
You can get rid of these error in a dirty way by adding some lines to vkd3d. It doesn't make a difference. Copying dxcompiler.dll from the tools directory to the executable's directory does make it show the loading screen, but it still crashes with the same message, so it's not really useful.
I noticed doing some debugging that the error message is from a generic exception handler. It doesn't indicate what's happening behind the scenes except that the game crashed.
As @Danacus says, the initial error is likely due to dxcompiler.dll
being missing (from @korodarn's log - thank you!):
00bc:Call KERNEL32.LoadLibraryExA(141e94fc0 "dxcompiler.dll",00000000,00000000) ret=1416abd49
...
00bc:Ret KERNEL32.LoadLibraryExA() retval=00000000 ret=1416abd49
00bc:Call KERNEL32.GetLastError() ret=1416abd57
00bc:Ret KERNEL32.GetLastError() retval=0000007e ret=1416abd57
00bc:Call KERNEL32.RaiseException(c06d007e,00000000,00000001,0021e290) ret=1416abd9d
If someone who has copied dxcompiler.dll from the tools directory to the executable's directory (and got to the loading screen, as Danacus stated) could provide a WINEDEBUG=+relay,module,seh,timestamp
log, it might help find a way around it :) (remember to compress it, otherwise it'll be pretty huge haha)
I don't think it got to loading screen, but log does look a bit different so maybe it will be useful, maybe not. steam-1151640_2.zip
@korodarn No idea if this will help or not, but try installing the native d3dcompiler_47
(protontricks 1151640 d3dcompiler_47
):
73612.804:00bc:Call d3dcompiler_47.D3DCreateBlob(0000022c,0021e360) ret=1401f327e
73612.804:00bc:Ret d3dcompiler_47.D3DCreateBlob() retval=00000000 ret=1401f327e
...
73612.804:00bc:trace:seh:raise_exception code=c0000005 flags=0 addr=0x1400f0787 ip=1400f0787 tid=00bc
steam-1151640_1.zip I copied the d3dcompiler_47 into the executable folder as well the run prior to the one I uploaded. I zipped it right before so it is here
*I know this might not do exactly the same thing as the install, since I didn't change the setting so I'm verifying if it used this file and will try re-running after.
I'm guessing this might be related to cause of the crash then:
warn:d3d12_swapchain_set_display_mode: Failed to find closest matching mode, hr 0x887a0001.
...
err:d3d12_swapchain_resize_target: Failed to set display mode, hr 0x887a0001.
...
73337.021:00bc:trace:seh:raise_exception code=c0000005 flags=0 addr=0x1400f0787 ip=1400f0787 tid=00bc
There are also a few warning messages above it, not sure if they're relevant:
d3d12 fixmes in log
fixme:d3d12_rtv_desc_create_rtv: NULL resource RTV not implemented.
fixme:d3d12_pipeline_library_LoadGraphicsPipeline: iface 000000000086E0F0, name "a7c87623f47cdb58f8e2d75445db3985", desc 000000000021E3E0, iid {765a30f3-f624-4c6f-a828-ace948622445}, pipeline_state 000000000021E3A0 stub!
fixme:d3d12_pipeline_library_StorePipeline: iface 000000000086E0F0, name "a7c87623f47cdb58f8e2d75445db3985", pipeline 00000000008EC1F0 stub!
fixme:d3d12_pipeline_library_LoadGraphicsPipeline: iface 000000000086E0F0, name "2537307d2151a4df271e4f83d59bb13a", desc 000000000021E7A0, iid {765a30f3-f624-4c6f-a828-ace948622445}, pipeline_state 000000000021E760 stub!
fixme:d3d12_pipeline_library_StorePipeline: iface 000000000086E0F0, name "2537307d2151a4df271e4f83d59bb13a", pipeline 00000000008ECC80 stub!
fixme:d3d12_pipeline_library_LoadGraphicsPipeline: iface 000000000086E0F0, name "21027ab47f814a59b74aac09a0de8a03", desc 000000000021E7A0, iid {765a30f3-f624-4c6f-a828-ace948622445}, pipeline_state 000000000021E760 stub!
fixme:d3d12_pipeline_library_StorePipeline: iface 000000000086E0F0, name "21027ab47f814a59b74aac09a0de8a03", pipeline 00000000008ED710 stub!
fixme:d3d12_pipeline_library_LoadGraphicsPipeline: iface 000000000086E0F0, name "27b94cf050813cc52a0b50f27d19c573", desc 000000000021E740, iid {765a30f3-f624-4c6f-a828-ace948622445}, pipeline_state 000000000021E700 stub!
fixme:d3d12_pipeline_library_StorePipeline: iface 000000000086E0F0, name "27b94cf050813cc52a0b50f27d19c573", pipeline 00000000008EE1A0 stub!
Patch 1.01 is out, i didn't get to test it yet.
https://www.reddit.com/r/horizon/comments/i9jaa0/horizon_zero_dawn_complete_edition_for_pc_patch/
Still crashes for me.
Suppose its worth nothing and giving intersectRaven a break for the low quality post as the patch includes "Some players are experiencing startup crashes. Patch 1.01 fixes a few, but not all, of these crashes."
That patch should only benefit you when you can run it.
But, it still may need Proton/Wine/VKD3D/etc fixes before this game even runs.
By cherry-picking the some commits from upstream vkd3d into the valve tree you can fix the "unhandled feature" errors, and you can fix the "unhandled format" errors by simply adding the missing formats (not hard, these are supported formats in vulkan you just need to add the correct mapping). After this the game complains about missing DXIL support. Unfortunately even if you enable dxil-spirv in vkd3d you still can't get further than the loading screen because it fails with an "[ERROR] UNKNOWN unimplemented" which is coming from dxil-spirv. I tried going deeper but this stuff (vulkan/spirv/llvm) is way over my head and I'm not even sure what I did so far is correct. Anyway I think this game needs DXIL and dxil-spirv is not enough yet.
Well, there are bad news and good news. There was a recent update to dxil-spirv and now the graphics initialization seems to be done and now the input that's broken. The game tries to load "Windows.Gaming.Input" and fails to do so. It seems like it's some kind of WinRT/UWP API but I can't find many references to this in wine, not sure what's the next step here.
Edit: found some interesting stuff in wine and made some stubs hoping it would crash later but it's the same, I think this game is now blocked by fundamental missing features from wine.