protonscr

[Feature Request]Force Refresh Rate

dxvkclosed enhancement
doitsujin/dxvk#4421 · opened 2024-11-02 by ShinChaosBahamut · updated 2025-06-10 · 4 comments · github
SShinChaosBahamut 2024-11-02 github

Was wondering if it'd be possible to add a cvar that forces a game to use your desired refresh rate? (for those stubborn games that insist on using 60hz even though you have a 144hz monitor, for example)

WWinterSnowfall 2024-11-02 github

The d3d8/d3d9 situation on this front should be improved since f74b2cd . Otherwise, I don't think forcing anything not configurable in game is a good idea. Some of them have physics calculations tied to the frame-rate (which is generally expected to be 60 fps for older games).

Vvlad54rus 2024-11-04 github

Some of them have physics calculations tied to the frame-rate

For such games the framerate cap can be configured separately (many are already pre-configured inside DXVK), so that's barely an argument.

BBlisto91 2024-11-04 github

fwiw you can somewhat achieve this behavior with the below for d3d8/d3d9

d3d9.maxFrameRate = -1
d3d9.presentInterval = 1

Or the below for d3d10/d3d11

dxgi.maxFrameRate = -1
dxgi.syncInterval = 1

Though note this will always enable vsync for the game, not only when it is enabled ingame.

Edit:
Removing the second line makes the game control vsync behavior.
Note that if you are using dxvk in a environment where it can actively change the refresh rate of your monitor, e.g. X11 and regular Wine without fshack or on Windows, then the above won't be so useful for using your monitors max refresh rate. (i think)

JJS299990 2025-01-30 github

Hopefully someone will give this request a chance. A feature like this would make Dark Souls Prepare to Die Edition playable again. This version of the game won't work if you have a monitor with a refresh rate higher than 60hz and the only solution I found so far is running it with dgVoodoo. It has this exact feature the OP is requesting which allows you to force a game to use whatever refresh rate you want, in this case 60. It works, but running this game with dgVoodoo creates all kinds of problems so I've been wishing for an alternative option for a little while now. Having this feature in DXVK would be awesome.

Nothing extracted yet.