protonscr

[NVIDIA 1080Ti / 575.64] The Last of Us Part 2 freezes 10 seconds into game.

vkd3dopen Nvidia
HansKristian-Work/vkd3d-proton#2521 · opened 2025-06-19 by MastaG · updated 2026-10-11 · 13 comments · github
MMastaG 2025-06-19 github

Please describe your issue as accurately as possible. Include screenshots or videos if relevant

Software information

Name of the game, settings used etc.

System information

  • GPU: NVIDIA GeForce 1080Ti 12GB
  • Driver: 575.64 (closed)
  • Wine version: Proton CachyOS 10.0-20250605
  • VKD3D-Proton version: 2.14.1 build: 4a06883816c5548+

Log files

Please attach Proton or Wine logs as a text file:

  • When using Proton, set the Steam launch options for your game to PROTON_LOG=1 %command% and attach the corresponding steam-xxxxx.log file in your home directory.

steam-2531310.log.gz

I've also tried to run the game using GE-Proton 10-4 where I get the same freeze.

The NVIDIA kernel driver gives me:

[ 5174.589596] NVRM: Xid (PCI:0000:04:00): 69, pid=24727, name=tlou-ii-l.exe, Class Error: ChId 00ac, Class 0000c197, Offset 00002388, Data 0ec01b60, ErrorCode 00000004

When running it with VKD3D_DEBUG=info:

4628.879:016c:0170:info:vkd3d-proton:vkd3d_instance_apply_application_workarounds: Program name: "tlou-ii-l.exe" (hash: fd438ef846c9110b)
4628.879:016c:0170:info:vkd3d-proton:vkd3d_instance_apply_application_workarounds: Detected game tlou-ii-l.exe, adding config 0x4000000000000, removing masks 0x0.
4628.879:016c:0170:info:vkd3d-proton:vkd3d_instance_deduce_config_flags_from_environment: shader_cache is used, global_pipeline_cache is enforced.
4628.879:016c:0170:info:vkd3d-proton:vkd3d_config_flags_init_once: VKD3D_CONFIG=''.
4628.914:016c:0170:info:vkd3d-proton:vkd3d_get_vk_version: vkd3d-proton - applicationVersion: 2.14.1.
4628.914:016c:0170:info:vkd3d-proton:vkd3d_instance_init: vkd3d-proton - build: 4a06883816c5548+.
4629.086:016c:0170:info:vkd3d-proton:vkd3d_init_device_caps: Not all relevant pipeline stages are supported by EXT_dgc. Skipping EXT.
Fossilize INFO: Overriding serialization path: "/var/home/bazzite/.local/share/Steam/steamapps/shadercache/2531310/fozpipelinesv6/steamapprun_pipeline_cache".
4629.350:016c:0170:info:vkd3d-proton:vkd3d_memory_info_decide_hvv_usage: Topology: Device heaps are split. Assuming small BAR situation.
4629.350:016c:0170:info:vkd3d-proton:vkd3d_memory_info_upload_hvv_memory_properties: Topology: HVV usage is not allowed, using HOST_COHERENT for UPLOAD.
4629.350:016c:0170:info:vkd3d-proton:vkd3d_bindless_state_get_bindless_flags: Enabling fast paths for advanced ExecuteIndirect() compute (NV_dgc).
4629.350:016c:0170:info:vkd3d-proton:vkd3d_bindless_state_get_bindless_flags: Enabling fast paths for advanced ExecuteIndirect() graphics (NV_dgc).
4629.350:016c:0170:info:vkd3d-proton:vkd3d_bindless_state_get_bindless_flags: Device does not support VK_EXT_mutable_descriptor_type (or VALVE).
4629.350:016c:0170:info:vkd3d-proton:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
4629.350:016c:0170:info:vkd3d-proton:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
4629.350:016c:0170:info:vkd3d-proton:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
4629.350:016c:0170:info:vkd3d-proton:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
4629.350:016c:0170:info:vkd3d-proton:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
4629.350:016c:0170:info:vkd3d-proton:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
4629.350:016c:0170:info:vkd3d-proton:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
4629.670:016c:0170:info:vkd3d-proton:d3d12_device_caps_init_shader_model: Enabling support for SM 6.6.
4629.670:016c:0170:info:vkd3d-proton:d3d12_device_determine_ray_tracing_tier: DXR support enabled.
4629.670:016c:0170:info:vkd3d-proton:vkd3d_pipeline_library_init_disk_cache: Remapping VKD3D_SHADER_CACHE to: vkd3d-proton.cache.
4629.670:016c:0170:info:vkd3d-proton:vkd3d_pipeline_library_init_disk_cache: Attempting to load disk cache from: vkd3d-proton.cache.
4629.671:016c:0294:info:vkd3d-proton:vkd3d_pipeline_library_disk_thread_main: Performing async setup of stream archive ...
4629.671:016c:0294:info:vkd3d-proton:vkd3d_pipeline_library_disk_cache_merge: No write cache exists. No need to merge any disk caches.
4629.671:016c:0294:info:vkd3d-proton:vkd3d_pipeline_library_disk_cache_initial_setup: Merging pipeline libraries took 0.215 ms.
4629.671:016c:0294:info:vkd3d-proton:vkd3d_pipeline_library_disk_cache_initial_setup: Mapping read-only cache took 0.243 ms.
4629.671:016c:0294:info:vkd3d-proton:d3d12_pipeline_library_read_blob_stream_format: Device teardown request received, stopping parse early.
4629.671:016c:0294:info:vkd3d-proton:vkd3d_pipeline_library_disk_cache_initial_setup: Parsing stream archive took 0.010 ms.
4629.671:016c:0294:info:vkd3d-proton:vkd3d_pipeline_library_disk_thread_main: Done performing async setup of stream archive.
4629.737:016c:0170:info:vkd3d-proton:vkd3d_get_vk_version: vkd3d-proton - applicationVersion: 2.14.1.
4629.737:016c:0170:info:vkd3d-proton:vkd3d_instance_init: vkd3d-proton - build: 4a06883816c5548+.
4629.904:016c:0170:info:vkd3d-proton:vkd3d_init_device_caps: Not all relevant pipeline stages are supported by EXT_dgc. Skipping EXT.
4630.092:016c:0170:info:vkd3d-proton:vkd3d_memory_info_decide_hvv_usage: Topology: Device heaps are split. Assuming small BAR situation.
4630.092:016c:0170:info:vkd3d-proton:vkd3d_memory_info_upload_hvv_memory_properties: Topology: HVV usage is not allowed, using HOST_COHERENT for UPLOAD.
4630.092:016c:0170:info:vkd3d-proton:vkd3d_bindless_state_get_bindless_flags: Enabling fast paths for advanced ExecuteIndirect() compute (NV_dgc).
4630.092:016c:0170:info:vkd3d-proton:vkd3d_bindless_state_get_bindless_flags: Enabling fast paths for advanced ExecuteIndirect() graphics (NV_dgc).
4630.092:016c:0170:info:vkd3d-proton:vkd3d_bindless_state_get_bindless_flags: Device does not support VK_EXT_mutable_descriptor_type (or VALVE).
4630.092:016c:0170:info:vkd3d-proton:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
4630.092:016c:0170:info:vkd3d-proton:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
4630.092:016c:0170:info:vkd3d-proton:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
4630.092:016c:0170:info:vkd3d-proton:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
4630.092:016c:0170:info:vkd3d-proton:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
4630.092:016c:0170:info:vkd3d-proton:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
4630.092:016c:0170:info:vkd3d-proton:vkd3d_bindless_state_add_binding: Device supports VK_EXT_descriptor_buffer!
4630.096:016c:0170:info:vkd3d-proton:d3d12_device_caps_init_shader_model: Enabling support for SM 6.6.
4630.096:016c:0170:info:vkd3d-proton:d3d12_device_determine_ray_tracing_tier: DXR support enabled.
4630.096:016c:0170:info:vkd3d-proton:vkd3d_pipeline_library_init_disk_cache: Remapping VKD3D_SHADER_CACHE to: vkd3d-proton.cache.
4630.096:016c:0170:info:vkd3d-proton:vkd3d_pipeline_library_init_disk_cache: Attempting to load disk cache from: vkd3d-proton.cache.
4630.097:016c:029c:info:vkd3d-proton:vkd3d_pipeline_library_disk_thread_main: Performing async setup of stream archive ...
4630.097:016c:029c:info:vkd3d-proton:vkd3d_pipeline_library_disk_cache_merge: No write cache exists. No need to merge any disk caches.
4630.097:016c:029c:info:vkd3d-proton:vkd3d_pipeline_library_disk_cache_initial_setup: Merging pipeline libraries took 0.224 ms.
4630.097:016c:029c:info:vkd3d-proton:vkd3d_pipeline_library_disk_cache_initial_setup: Mapping read-only cache took 0.248 ms.
4630.103:016c:029c:info:vkd3d-proton:vkd3d_pipeline_library_disk_cache_initial_setup: Parsing stream archive took 6.261 ms.
4630.103:016c:029c:info:vkd3d-proton:vkd3d_pipeline_library_disk_thread_main: Done performing async setup of stream archive.
4630.326:016c:02d4:info:vkd3d-proton:dxgi_vk_swap_chain_init: Creating swapchain (1920 x 1080), BufferCount = 2.
4630.326:016c:02d4:info:vkd3d-proton:dxgi_vk_swap_chain_init_sync_objects: Ensure maximum latency of 3 frames with KHR_present_wait.
4630.330:016c:02d4:info:vkd3d-proton:dxgi_vk_swap_chain_init_waiter_thread: Enabling present wait path for frame latency.
4630.330:016c:02d4:info:vkd3d-proton:dxgi_vk_swap_chain_init_sleep_state: Timer interval is 1.0 ms.
4643.110:016c:02a8:info:vkd3d-proton:dxgi_vk_swap_chain_recreate_swapchain_in_present_task: Got 4 swapchain images.
4643.668:016c:02a8:info:vkd3d-proton:dxgi_vk_swap_chain_recreate_swapchain_in_present_task: Got 4 swapchain images.
4757.545:016c:02a8:err:vkd3d-proton:d3d12_command_queue_execute: Failed to submit queue(s), vr -4.
4757.545:016c:02dc:err:vkd3d-proton:d3d12_command_queue_execute: Failed to submit queue(s), vr -4.

If I can provide more information to help aid debugging this, please let me know.

Ddoitsujin maintainer 2025-06-19 github

Given the xid 69, probably a driver issue.

Not really debuggable on our side if this is exclusive to Pascal/Maxwell.

MMastaG 2025-06-27 github

I'm afraid so yes.
Also since this is a pre-turing card, I'm only able to use the closed driver instead, which I doubt NVIDIA will give any support for.

KK0bin 2025-06-27 github

I ran the beginning of the game on Ampere a bunch of times and it never froze. I don't know whether I repeated this on the most recent patch in particular but I assume this is indeed a pre-Turing driver bug.

MMastaG 2025-06-27 github

I'll have to test this as well.
Because I've played a little over an hour on my laptop which has a 3080. And I'm now in the forest on a horse.
I've tried to continue from there on my PC with a 1080Ti running Bazzite and it always crashes within 10 seconds riding into the forest.
I'll do some testing when I get the chance and report back.
I'll also open a bug report on the NVIDIA forums.

MMastaG 2025-06-28 github

So I've retried using the latest Proton-EM 10.0-23: https://github.com/Etaash-mathamsetty/Proton/releases/tag/EM-10.0-23
It ships vkd3d-proton rev: d320f1eaacb4f76.

Here's a video of what happens:
https://github.com/user-attachments/assets/7cfe54c6-8693-49ac-8155-c061a215abd5

Same happens when starting a new game, right after the intro when Joel leaves from the garage riding his horse the same freeze occurs within 15 seconds.
Audio continues playing.

The NVIDIA driver only gives me:

NVRM: Xid (PCI:0000:04:00): 69, pid=26613, name=tlou-ii-l.exe, Class Error: ChId 00c4, Class 0000c197, Offset 00002388, Data 07937878, ErrorCode 00000004

I've also reported it at NVIDIA:
https://forums.developer.nvidia.com/t/bug-575-64-1080ti-xid-69-the-last-of-us-part-ii-freezes-within-20-seconds-into-gameplay/337507

Here's a new log from Proton-EM 10.0-23:
steam-2531310.log.gz

If there is any other info I could provide making it easier to debug, please let me know.

?ghost 2025-08-10 github

On the latest Nvidia Drivers, both Windows and Linux (via Proton) have freezing issues in various games using VKD3D on my end.

If i downgrade to an Nvidia Driver from around January - March 2025 it works. the last VKD3D Proton update was back in January

It doesn’t freeze when using an AMD GPU though.

MMastaG 2025-08-10 github

Well no love from NVIDIA for pre-Turing gpus I guess.
I've tried it on my laptop which features a 3080 mobile gpu which uses the nvidia open kernel module witn GSP firmware and there I'm not getting any freezes.
I've been browsing the issue tracker a bit and came across multiple "Xid" errors on pre-Turing cards when trying to run DX12 titles through VKD3D-Proton.

I guess we can only hope the NVIDIA 580 series, being the last ones with support for pre-Turing gpus, will ship some VKD3D/DX12 fixes.
If not then I guess I can just set my 1080Ti on fire while singing "koombaya my lord".

Keep in mind that even though the WIP (open-source) NVK vulkan driver will never run at acceptable speeds on pre-Turing cards due to the lack of re-clocking.

?ghost 2025-08-11 github

Occurs for me on an RTX 4060. only solution right now is to downgrade my drivers, or switch to my slow AMD iGPU

Happens on any DX12 game as soon as it tries to render 3D Graphics.

Just gonna hope there is an update to fix it eventually, because it’s a bigger problem on Linux since there is no alternative.

BBlisto91 maintainer 2026-09-16 github

@MastaG I don't suppose this was ever fixed? Now that Nvidia dropped new feature driver support

MMastaG 2026-09-16 github

@Blisto91
Indeed, after reporting it here and on the NVIDIA developer forum I gave up on it.
The sad part is that for the 20 seconds or so the game renders fine, it just locks up.

Hoping one day opensource drivers will catch up, as its a decent card for older titles running at 1080p medium settings.

ZZabalero 2026-10-07 github

Same freeze on another Pascal card, with a working workaround and a bisection that may help narrow it down.

Setup: GeForce GTX 1070 (GP104, 8 GB, laptop), driver 580.173.02 and 580.178.04 (both tested), kernel 7.1.8 (Fedora 44), GE-Proton11-3 (vkd3d-proton 3dfc6f07d, vkd3d-1.1-5438), launched through umu-run. SteamDeck=1, VKD3D_DISABLE_EXTENSIONS=VK_EXT_descriptor_buffer set in every run.

Symptom: identical to the OP — picture freezes with audio running, process alive, ~20 s to 10 min into gameplay. Every single freeze (10 of them over two days) logged the same signature:

NVRM: Xid (PCI:0000:01:00): 69, pid=…, name=tlou-ii.exe, Class Error: channel 0x000000xx, Class 0000c197, Offset 00002388, Data …, ErrorCode 00000004

Workaround that works: PROTON_HIDE_NVIDIA_GPU=1. With the game seeing vendor 0x1002 it played through the same spots repeatedly (three sessions, 5–7 min each, zero Xid) with ~2 GB less VRAM in use and roughly double the framerate (23–50 fps vs 10–20 at the same 1080p Low settings). Downside: flashing artifacts in dialogue scenes. A ProtonDB report from a 1080 Ti owner on 580.173.02 found the same.

What I bisected as a GeForce (every run ended in the Xid above unless noted), one change per run, same save/same stretch:

  • VKD3D_DISABLE_EXTENSIONS=VK_EXT_descriptor_buffer alone → Xid
  • VKD3D_CONFIG=nodxr → Xid · Low preset → Xid · in-game Reflex Off → Xid
  • driver 580.173.02 → 580.178.04 → Xid
  • VKD3D_DISABLE_EXTENSIONS=…,VK_NV_low_latency2,VK_NV_low_latency (vkd3d confirms the extension disabled; dxvk-nvapi returns "No implementation" for NvAPI_D3D_GetSleepStatus; game shows Reflex: Off) → Xid. So the Reflex/low-latency path is not the trigger.
  • DXVK_CONFIG="dxgi.maxDeviceMemory = 6144" → Xid; note the game ignores it for its streaming budget (it sizes from NvAPI_GPU_GetMemoryInfoEx, budget stayed 7.7 GB).
  • DXVK_NVAPI_GPU_ARCH=GM200 (game told it is Maxwell) → Xid.
  • The complete NvAPI call inventory of a run (DXVK_NVAPI_LOG_LEVEL=info, 146 lines total): startup queries (EnumPhysicalGPUs, GPU_GetArchInfo, GetLogicalGpuInfo, DRS_*, memory/clock/thermal) plus the Reflex family (NvAPI_D3D_SetSleepMode/Sleep/SetLatencyMarker). No NvAPI_D3D12_* calls at all.
  • PROTON_DISABLE_NVAPI=1, or any DXVK_NVAPI_DISABLE_ENTRYPOINTS entry (even NvAPI_GPU_GetPstates20) → the game asserts at startup (0x80000003 "A breakpoint was encountered" right after "Renderer initialized"), so NVAPI cannot be removed on an NVIDIA vendor ID.

Conclusion: the only switch that changes the outcome is the DXGI vendor ID. Nothing that goes through NVAPI (Reflex, arch, memory info) matters, and neither does the driver point release or VRAM pressure. The fault must come from whatever D3D12 path the game selects when it sees vendor 0x10de — shader permutations or features it only uses on NVIDIA — which the Pascal driver then rejects with the class error. On a GPU where the vendor-specific path is skipped, the same scene is fine.

Since no NVIDIA driver fix is coming for Pascal, a per-app hidenvgpu-style vendor override for tlou-ii.exe when the device is pre-Turing would make this title playable out of the box for the remaining 10-series users. Happy to provide the Proton/vkd3d logs or a GPU capture of the frame before the fault if that would help.

BBlisto91 maintainer 2026-10-08 github

If it is like the first game then it uses amd ags for some things on AMD GPUs. So I can imagine the reduced VRAM usage is because it locks some Level of Detail options and keeps them at their lowest. You might see worse quality objects or slower changes to higher quality.

MMastaG 2026-10-11 github

@Zabalero

Thank you so much for going through all of those tests.
Once I have access to my 1080Ti, I'll try to run both Part 1 and 2 with PROTON_HIDE_NVIDIA_GPU=1 and report back.