-
Notifications
You must be signed in to change notification settings - Fork 832
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
Windows 10: Using DXVK forces Windows to change the Refresh Rate of the monitor to 60Hz. #1928
Comments
And here's another reason why we don't support Windows. It's a known problem. EnumDisplaySettingsW just doesn't seem to work as expected but I'm not aware of any other way to query display modes (especially the current display more) without using Microsoft's DXGI. |
Hmm.. Okay. Is there no way to do a manual workaround and just select a refresh rate and save it in a config file? |
No, and I don't plan to add one. I'd rather like to know why this just doesn't work on Windows. I don't have a high refresh rate display and no multi-monitor setup, so I can't reproduce this problem and therefore also not debug it. Can you run the dxgi-factory test app from DXVK and post the console output? Here's a build if you need: dxgi-factory.exe.zip |
Sure. Here's the output: < |
Ah, sorry, I should have been clearer - please run it with DXVK, i.e. with dxgi.dll next to the executable. Also, multiline code blocks on github work with three backticks, see here. |
ah, okay. One moment then |
|
Yeah, so, it does actually detect the 120 and 144 Hz modes correctly. Note that we currently only report one monitor because wine used to have issues with multi-monitor setups in the past and we haven't enabled multi-monitor stuff in DXGI yet. So yeah, no idea why it would switch to a 60 Hz mode, but I cannot debug this any further. |
That's unfortunate, but understandable. As my own workaround, I just deleted the other lower refresh rates reported by my monitor's EDID to get it to stay at 120Hz for now. That seems to keep it at whatever refresh rate Windows reports as the lowest. |
This is a long standing unresolved bug of Windows 10, which does not happen on Windows 7. On Win10, Vulkan is locked to 60 Hz. Forcing another refresh rate (via Hotkey Resolution Changer for example) will result in a blank screen and the game/app trying to switch back to 60 Hz. For info, it is not specific to dxvk, it occurs in all native Vulkan apps (RDR2, Detroit, RPCS3...). |
Yeah, I've been reading about it too. I've not been getting a blank screen when I deleted the 60Hz from my EDID for my monitor. Checking the OSD of the monitor confirms that it's still boosting to 120Hz while in game with DXVK as well, so the solution works but maybe only for my configuration. It does flicker, but I assumed Vulkan is refreshing the screen whenever it gets in/out of focus, as I can alt-tab out of it and still see the game running in the background but whenever I alt-tab in or out, the screen flickers. |
No it doesn't. I played Doom Eternal at 120hz just fine and I've also had DXVK games running at 120hz on Windows. |
It doesn't for you, you're lucky. It happens to most Win10 users. |
This comment has been minimized.
This comment has been minimized.
@mozo78 Can you please stop shitting on Windows in every single Windows related issue? It adds absolutely nothing to the discussion and is frankly just annoying. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
You could try forcing a higher refresh rate by adding a custom resolution, and make it have only one refresh option available. |
Interesting to see confirmation of the 3x refresh rate listing on an AMD GPU as well. I get this on an Nvidia 1080 Ti with my 144hz monitor. Every resolution and refresh rate listing gets 3 entries in the reported display modes list. This is a major problem for specific games that have a limited entry table capacity and you end up being stuck at a lower resolution, for me it's typically 1280x1024 @ 100hz on my 2560x1440 144hz monitor. Also, this 60hz bug can happen on Nvidia however the Nvidia driver has an option to override the application requested refresh rate and force it to operate at max available one instead. This is automatically configured on a G-Sync display, but can be manually configured without one. I am not familiar with modern AMD/ATi graphics cards so I'm not sure if they have a similar option in the driver but if they do that should resolve this issue. |
As a workaround use custom display resolution created in CRU. |
For the record, Freesync completely solves this problem. |
Ran into this problem after installing nimeZ drivers, solved it with CRU(set a "custom" resolution with automatic timings + proper native res/refresh and left it as the only "detailed resolution"). |
Maybe the problem is fixed with the update to the maxFrameRate option: Lines 42 to 53 in 8573190
|
From what i can see - this is a bug with Windows' ChangeDisplaySettings function, appearing not only in DXVK but many other OpenGL/Vulkan games where it's used to setup fullscreen. When calling it - Windows will reset display refresh rate to what's configured in the monitor's EDID as the "default" refresh rate, and many monitors default to 60 Hz for compatibility purposes. The only workaround for now is to use CRU to make an EDID override. |
Even though I've manually set my refresh rate to 120Hz and sometimes 144Hz for normal usage in Windows applications, whenever I run the DXVK wrapper on any game, it forces my refresh rate to 60Hz and it remains at 60Hz until I manually change it back to whatever refresh rate I had before.
Makes it kind of hard to enjoy DXVK when my refresh rate gets limited to 60Hz by the wrapper.
Edit: If it helps, I have a dual monitor setup that has the second one set at 60Hz. However, even when disconnected, DXVK forces the main monitor to 60Hz.
Software information
Skyrim SE / Guild Wars 2, but I'll just use Skyrim SE as an example.
System information
Apitrace file(s)
Couldn't get APItrace to run alongside DXVK. Crashes everytime.
Log files
dxgi.log
SkyrimSE_d3d11.log
SkyrimSE_dxgi.log
The text was updated successfully, but these errors were encountered: