protonscr

Massive GPU Stall in DX12 Scenes (The Last of Us Part II) on GTX 1650 using VKD3D-Proton

vkd3dopen
HansKristian-Work/vkd3d-proton#2518 · opened 2025-06-19 by faizzoy · updated 2025-06-23 · 9 comments · github
Ffaizzoy 2025-06-19 github

Massive GPU Stall in DX12 Scenes (The Last of Us Part II) on GTX 1650 using VKD3D-Proton

Title:
Severe GPU underutilization in large DX12 scenes (TLOU Part II) with VKD3D-Proton — works in menus/small maps


🧾 System Info:

GPU: GTX 1650 (Laptop)

Driver: NVIDIA proprietary (latest tested)

VKD3D-Proton Version: Default from Heroic + tested with VKD3D_CONFIG=dxr=none

Proton version: Proton-GE (latest) via Heroic Launcher

OS: Bazzite 42 and Nobara 42

CPU: ryzen 5 5600h


🎮 Affected Game:

The Last of Us Part II (PC Release)
Specifically:

Main Story Mode → GPU usage drops to 30-35%, framerate drops to 1 FPS in outdoor areas.

No Return Mode → Starts in small map: works perfectly with full GPU usage (100%)

Once the scene loads into a larger map: same bug returns.


✅ Other Games Tested:

✅ Cyberpunk 2077 — Works perfectly, high GPU usage

✅ Uncharted 4 — Works

✅ Plague Tale: Requiem — Works at 100% GPU usage

❌ The Last of Us Part II (Story Mode) — breaks on larger scenes


🧪 What Was Tried:

VKD3D_CONFIG=dxr=none — no impact

All in-game settings set to lowest

FSR and frame generation turned off

GPU drivers are not maxed and working normally

CPU usage is low → not CPU boundGPU: 0%

VKD3D: 1 FPS

Frametime: 847 ms

CPU: 13%

Confirms massive render stall in VKD3D pipeline, not hardware bottleneck

Mmbriar 2025-06-19 github

Your ai generated report forgot to include how the vram usage is looking like when it's running slow. It's probably severely oversubscribing vram.

Ffaizzoy 2025-06-19 github

Your ai generated report forgot to include how the vram usage is looking like when it's running slow. It's probably severely oversubscribing vram.

Well it's my first time with reporting. I just created the account to report the issues😅. I don't think it could be vram coz the game works fine on windows with my gtx 1650.

I've noticed this problem with only 2 games tlou2 and spiderman 2. Both sony games. Although uncharted 4 worked fine.

I was using gpt to fix it and says it's probably a vkd3d/dx12 issue.

BBlisto91 2025-06-19 github

Would be interesting with a look at VRAM usage. Being constrained there is something Windows handles much better

Ddoitsujin maintainer 2025-06-19 github

Almost guaranteed to be a VRAM issue, this is expected to happen when the driver shuffles around large memory allocations between VRAM and system memory. Your GPU is barely above min spec for this game to begin with.

Ffaizzoy 2025-06-19 github

Almost guaranteed to be a VRAM issue, this is expected to happen when the driver shuffles around large memory allocations between VRAM and system memory. Your GPU is barely above min spec for this game to begin with.

You guys maybe right about the vram issue. But i have a question. I've tried these games on windows with the same gpu and it works perfectly fine. With linux only on these games i get 1 fps. I expected some performance drop but not anything like this. Why does this happen and what do i need to do?

Mmbriar 2025-06-19 github

There isn't much you can do besides lowering settings and closing all background applications that potentially use vram, but even then windows will handle being vram constrained better on all gpu vendors. 4GB is most likely just not enough for that game on linux no matter what you do.

KKurobac 2025-06-19 github

Nvidia does not support VRAM offload to system RAM on Linux. So getting 1 fps in this situation is kinda expected…

https://forums.developer.nvidia.com/t/non-existent-shared-vram-on-nvidia-linux-drivers/260304

Mmbriar 2025-06-20 github

If nvidia couldn't offload anything to system ram games would crash as soon as you run out of vram and not run slow. It's also not a nvidia exclusive problem, performance also collapses on AMD linux and never recovers as soon as anything important gets spilled to system ram.

SSveSop 2025-06-23 github

If nvidia couldn't offload anything to system ram games would crash as soon as you run out of vram and not run slow. It's also not a nvidia exclusive problem, performance also collapses on AMD linux and never recovers as soon as anything important gets spilled to system ram.

There is "some" sort of offloading to host mem, but it does not work that well when running wine/proton... So, depending on app, you will not crash directly when out of vram like one expects. Another part is that even freeing up "real" vram does not seem to make the system recover from this slowdown.

If you compare it to windows there is 2 differences:

  1. Windows handles shared mem quite differently and a lot better than the linux driver (on a OS level).
  2. Remember you have some overhead from vkd3d/vulkan that you do NOT have when playing the same game in windows.

Linux also does not have any really good apps to show how much vram <-> host mem is actually used.. nvtop does not show this accurately, so it is not really to be trusted. The vram/hostmem i think is not "just" a nvidia issue, as it is more of a os level issue.

PS. Sure there might be some clever way to determine this by digging through /dev /proc /whatever.. but the facts are what they are: If you spend 101%+ of vram you are bound for trouble 😄

Launch options