-
Notifications
You must be signed in to change notification settings - Fork 877
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request] Implement equivalent of VKD3D_DISABLE_EXTENSIONS
for DXVK
#4510
Comments
Wouldn't it make more sense for DXVK to just not use the extension on Nvidia then if it's still broken? Am I misunderstanding anything here? I guess we could technically add a config to not use present_wait, but just implementing a |
No, I think that would also be a more ideal workaround. I wasn't sure about the potential impact of such a change which is why I was apprehensive to suggest it.
This makes sense to me as well. Definitely not an ideal situation to make users do the extra work of dealing with a driver issue, so taking care of it upstream until the underlying issue is fixed would be preferable. I could submit this as a PR if you'd like, unless you see a better way to handle the approach of disabling it:
|
Some background context here:
On NVIDIA GPUs under gamescope, when using Gamescope WSI + HDR with either the Wayland backend or the DRM backend, there is a ~25% chance of the game you are trying to run appearing to freeze on a random frame within the first couple of seconds or minutes of running, and remaining stuck on that frame while audio continues to play. This happens under both vkd3d-proton and DXVK, and has a gamescope issue tracking it: ValveSoftware/gamescope#1592 (NV bug 4924590).
As someone in the gamescope thread noted, the freeze can be worked around by disabling
VK_KHR_present_wait
. In vkd3d-proton, this is possible to do at runtime withVKD3D_DISABLE_EXTENSIONS=VK_KHR_present_wait
and it works for the D3D12 games I tested that previously froze with HDR. Eventually, I found a DirectX 11 game that supported HDR and froze for me (Ori and the Will of the Wisps) to poke around a bit, but I wasn't able to find any readily available debugging option for testing DXVK withVK_KHR_present_wait
disabled in a similar manner.To get around this, I cooked up a somewhat goofy patch sprucing up the old workaround logic here
dxvk/src/dxvk/dxvk_adapter.cpp
Lines 429 to 433 in b1ad431
Instead of asking people to go through the steps of patching and re-building DXVK to try disabling
VK_KHR_present_wait
(or any VK extension I suppose), I think it would make more sense to consider introducing aDXVK_DISABLE_EXTENSIONS
debugging function that could be used to disable certain extensions similar to what vkd3d-proton does withVKD3D_DISABLE_EXTENSIONS
.The text was updated successfully, but these errors were encountered: