protonscr

Cyberpunk 2077 - Stuttering with huge frame delta between minimums-maximum FPS

vkd3dclosed
HansKristian-Work/vkd3d-proton#2581 · opened 2025-08-18 by ms178 · updated 2025-09-16 · 7 comments · github
Mms178 2025-08-18 github

With recent vkd3d-proton-mingw versions compiled with llvm-mingw 20.0.8, I've noticed a lot of stutters and a huge delta between minimum and maximum FPS (60 - 170/255 fps vs 87 - 130 fps) whereas the average FPS is still similar when compared with a known good revision. The gaming experience however feels much more stuttery and the frame-pacing way off at times (tested with the in-game-benchmark).

I started seeing this with various proton downstream builds from July 2025 onwards. Last known-good versions were proton-ge 10.7 and proton-cachyos from June 2025. Exchanging the dx12 dlls from older known-good revisions works around the issue and see normal behavior when doing so with the affected proton-builds.

Skimming through the log, I see a lot of these:

6965.469:0140:0308:warn:vkd3d-proton:dxgi_vk_swap_chain_wait_worker: Failed to increment swapchain semaphore. Did application forget to acquire?
6965.472:0140:0308:warn:vkd3d-proton:vkd3d_native_sync_handle_release: Failed to release semaphore (#12a).

Software information

Cyberpunk 2077, game revision 2.30, 1080p, medium, FSR3, VSync off, exclusive fullscreen mode

System information

  • GPU: AMD Vega 64
  • Driver: Mesa-git 25.3.0_devel.210375.81a79234d89
  • VKD3D-Proton version: vkd3d-proton-mingw-git-2.14.1.r360.g984bb57f
  • Anti-Lag layers enabled
  • Kernel: 6.16.1

Log files

steam-heroic-0.log

Mms178 2025-08-18 github

These details might also be relevant:

  • Distro: CachyOS
  • Plasma 6.4.4 with Kwin/Wayland
  • RADV_PERFTEST=sam,bolist,transfer_queue,nircache
  • LD_PRELOAD=/usr/lib/libmimalloc.so
  • MIMALLOC_LARGE_OS_PAGES=1
  • HUGETLB_MORECORE=thp
HHansKristian-Work maintainer 2025-08-18 github

This really isn't actionable without a bisect.

Anti-Lag layers enabled

Tried without? Older vkd3d-proton did not have anti-lag support at all.

Mms178 2025-08-18 github

@HansKristian-Work Good news, I've bisected it down to: 0a5407c6e3e583c3e370e272589ec69594aea4a5 from Jul 7th. That's the first bad commit and the last known-good commit is 3f745e10c080523ea23864393e7910342fe9909a.

HHansKristian-Work maintainer 2025-08-18 github

That means it's anti-lag itself that's causing issues, not vkd3d-proton per se. Maybe file a Mesa bug?

Mms178 2025-08-18 github

Will do, I'll point them to this issue though.

Edit: I've filed https://gitlab.freedesktop.org/mesa/mesa/-/issues/13724

Ddaniel-schuermann 2025-08-21 github

@HansKristian-Work Good news, I've bisected it down to: 0a5407c from Jul 7th. That's the first bad commit and the last known-good commit is 3f745e1.

How does this make sense? https://github.com/HansKristian-Work/vkd3d-proton/commit/3f745e10c080523ea23864393e7910342fe9909a is the parent of https://github.com/HansKristian-Work/vkd3d-proton/commit/3f745e10c080523ea23864393e7910342fe9909a.

Mms178 2025-08-21 github

Just wanted to cross-post that with a known-affected vkd3d-proton revision (2.14.1.r360.g984bb57f) and can confirm that DISABLE_LAYER_MESA_ANTI_LAG=1 fixes the issue. See the Mesa issue for two screen shots with the different behavior: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13724#note_3064065