protonscr

Regression on Nvidia driver 590.48 - Smooth Motion hangs HoYo games with latest DXVK

dxvkclosed nvidia proprietary
doitsujin/dxvk#5507 · opened 2026-02-11 by Vyrolian · updated 2026-03-07 · 12 comments · github
1 matching comments, n / p to jump
VVyrolian 2026-02-11 github

When using DXVK in Honkai Star Rail and Zenless Zone Zero with Smooth Motion, the game hangs at boot with driver 590.48. I managed to narrow it down to commits 43178ea to b650fae, anything earlier works (proton cachyos had the narrowest gap between latest working and broken protons - 11/26 to 12/22. Anything newer including bleeding edge does not work, anything earlier does). Does not happen on the 580 driver, but given that older DXVK works, should be fixable here. VKD3D is unaffected, ZZZ launches with dx12. Probably a Unity related issue, Path of Exile 2 launched on dx11 without issues.

System information

  • GPU: 4060 laptop
  • Driver: 590.48

Log files

steam-16577117815924850688.log

Ddoitsujin maintainer 2026-02-11 github

No idea what Smooth Motion is, but does DXVK_CONFIG="dxvk.disableNvLowLatency2 = False" fix the problem?

I'm not particularly interested in debugging Nvidia driver regressions at this point.

VVyrolian 2026-02-12 github

Smooth Motion is a driver level framegen that works with anything Vulkan, so like LSFG

I think I got to the bottom of this, setting m_hasPresentId and m_hasPresentWait to false in dxvk_presenter makes the games work again. With present wait working the the driver makes disallowed system calls and hangs the game. What I dont understand though, is it supposed to work with Nvidia at all? Or maybe the only time it turns on is when I use smooth motion and the new drivers?

VVyrolian 2026-02-12 github

Logs show that present wait works only with Smooth Motion and driver 590, and off without Smooth Motion or always off with driver 580. So maybe it's broken for Nvidia right now?

Ddoitsujin maintainer 2026-02-12 github

Might be because we updated from KHR_present_id/wait to KHR_present_id2/wait2 then?

There shouldn't really be any functional difference there, but iirc those extensions are new in 590 and the framegen thing might not understand those yet.

VVyrolian 2026-02-12 github

Checked logs, adds up. The game always uses them on the very start, and driver 580 doesn't use wait 2, while 590 does.

Ddoitsujin maintainer 2026-02-24 github
VVyrolian 2026-02-25 github

Surely does!

VVyrolian 2026-02-25 github

That mesa thread gave me a clue - std::numeric_limits<uint64_t>::max() in dxvk_presenter causes the deadlock. Changed to an arbitrary 200ms and it doesn't hang anymore. Of course, it's just a workaround for testing so there needs to be a proper fix.

BBukawawkw 2026-03-07 github

@Vyrolian, @doitsujin, (sorry for pings, but might be interesting).
Could it have been a driver related issue altogether? In the recent R595 Beta branch changelog, there's a specific mention of fix for that hang in the Smooth Motion using VK_KHR_present_id2/wait2: NVIDIA R595 BETA CHANGELOG
Would be nice if Vyrolian could test that out with the beta driver and then this commit reverted on dxvk side to confirm, as i don't have smooth motion enabled RTX unfortunately

VVyrolian 2026-03-07 github

This is most definitely a driver issue, I am almost certain it is fixed. Will let you know as soon as the nvidia driver copr is updated.

VVyrolian 2026-03-07 github

Can confirm - fixed with 595.

Ddoitsujin maintainer 2026-03-07 github

Cool, I'll keep that in mind when we implement present_timing at some point in the (somewhat distant) future since present_id2 is required for that.

Apparently it also breaks on Mesa for some users though (not myself of course because that would be too easy), so I think keeping the new extensions disabled by default is the way to go for now.

Launch options

Upstream links