vkd3d-proton icon indicating copy to clipboard operation
vkd3d-proton copied to clipboard

Last Of Us: "Depth-stencil format not supported" + Xid 69 error on a GTX 1050

Open autogris opened this issue 1 year ago • 2 comments

I'm trying to run The Last of Us Part 1 on a GTX 1050 with 4GB VRAM. With some performance tweaking it works around 25fps on a i7 7th/16GB and it fits 100% into the VRAM, but it crash consistently on a specific cutscene early on the game (Joel comes home and infected neighbor tries to break the window): image freezes permanently but audio still runs normally in the background including the ambient sound after the cutscene.

I get several of the following error on wine log before the crashing:

fixme:vkd3d-proton:d3d12_command_list_init_copy_texture_region: Destination depth-stencil format 0x14 is not supported for STENCIL dst copy with render pass fallback.

Immediately on crashing, in dmesg I get the following error, presented a single time with no other error: NVRM: Xid (PCI:0000:01:00): 69, pid=30624, name=tlou-i.exe, Class Error: ChId 00a5, Class 0000c197, Offset 00002388, Data 410ad01a, ErrorCode 00000004

It seems Xid 69 is related to driver or hardware problem. I discard hardware problem since I'm currently playing several heavy d3d12 games with no problem (gotham knights, death stranding, etc). I've run a memtest it also seems ok. I've tried several versions of NVIDIA driver, most important are

  • 525.47.24 (with the latest vulkan 1.3 updates)
  • 530.41.03 (latest beta driver)

After crashing wine logs:

fixme:oleacc:find_class_data unhandled window class: L"#32769"
fixme:uiautomation:uia_get_providers_for_hwnd Override provider callback currently unimplemented.
fixme:uiautomation:msaa_provider_GetPropertyValue Unimplemented propertyId 30024
fixme:mmdevapi:SAO_SetVolume (00000000006FFFF0)->(0.891251)
	....repeat thousand times...
fixme:mmdevapi:SAO_SetVolume (00000000007002B0)->(0.891251)
fixme:uiautomation:uia_element_GetCurrentPropertyValueEx Default property values currently unimplemented
fixme:uiautomation:uia_element_GetCurrentPropertyValueEx Default property values currently unimplemented
fixme:uiautomation:msaa_provider_GetPatternProvider Unimplemented patternId 10002
fixme:uiautomation:nc_provider_GetPatternProvider 00000000004579F0, 10002, 000000000260ECA0: stub
fixme:uiautomation:base_hwnd_provider_GetPatternProvider 0000000000457960, 10002, 000000000260ECA0: stub
fixme:mmdevapi:SAO_SetVolume (00000000006FFFF0)->(0.891251)
	....repeat thousand times...
fixme:mmdevapi:SAO_SetVolume (00000000007002B0)->(0.891251)
err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
        .....repeat

I've tried both vkd3d -proton 2.8 release and the bleeding edge version (commit ff665a3) with several video drivers versions. None of them solved the problem. Earlier vkd3d-proton won't launch the game.

Some of Wine versions I've tried (among others):

  • Glorious Eggroll-Proton 8.5
  • TKG latest version from github's CI: valve
  • TKG latest version from github's CI: arch

For running this game I have to set the following environment variable otherwise it won't work: VKD3D_SHADER_MODEL=6_6

Other settings:

  • amd_ags_x64.dll variable set to built-in.
  • Wine staging options: "Enable VAAPI as backend for DXVA2 GPU decoding" enabled, and "CSMT" disabled (tried all combinations for the 2 with no effect).
  • Tried with both DXVK NVAPI disabled and enabled with the latest git commit.
  • Tried underclocking and overclocking GPU.
  • Tried enabling and disabling fsync and esync.
  • Using vm.max_map_count=2147483642.

I'm attaching the log file created by running the game from the checkpoint seconds before triggering the crashing cutscene (edited for content just before gets flooded by the mentioned errors). vkd3d-lastofus.log

autogris avatar May 19 '23 17:05 autogris

Just tried with VKD3D-Proton 2.9 and got the same result, except that now dmesg shows a new line before the Xid 69 error (redacted the id bits): NVRM: GPU at PCI:0000:01:00: GPU-4e******e-7***d-f8c2-8*********f9 NVRM: Xid (PCI:0000:01:00): 69, pid=18112, name=tlou-i.exe, Class Error: ChId 009f, Class 0000c197, Offset 00002388, Data 57c25380, ErrorCode 00000004

Also, it seems the game is slower, but not sure yet if it is the update or if missing some of the previous performance tweaks on the system. Also noticed this time during the crash it omitted parts of the audio associated with the cutscene (Joel shooting the neighbor, for instance).

autogris avatar May 19 '23 21:05 autogris

I have same result with 1070 ti and nvidia driver : 535.104.05

dreadlokeur avatar Sep 01 '23 21:09 dreadlokeur