Independent guide · not affiliated with the DXVK project or Valve · downloads always link to the official GitHub

Try: d3d9.maxAvailableMemory, DXVK_HUD, GTA IV, Failed to create Vulkan instance

GUIDE · FPS LIMIT · VSYNC · LATENCY · DXVK 3.1.1

Limit FPS in DXVK: the 3.x way, measured

Put dxvk.maxFrameRate = 60 in a dxvk.conf next to the game's .exe, or launch with DXVK_CONFIG="dxvk.maxFrameRate = 60". The old DXVK_FRAME_RATE variable was removed in DXVK 3.0: in our test it left the program uncapped (184 FPS), while the dxvk.conf line held it at about 60. DXVK 3.1.1 itself logs a warning that an external limiter gives smoother frame pacing.
Checked
2026-11-07
On this page
  1. The quick fix
  2. We measured it
  3. Why DXVK warns about its own limiter
  4. Pick the right limiter
  5. VSync and tearing
  6. Input latency and frame queue
  7. Game-specific caps
How we checked this

The quick fix

Pick one. Both set the same cap.

dxvk.conf · next to the game's .exe ini

          
          dxvk.maxFrameRate = 60
          
          
          
        
Steam launch options · Linux, Proton, Steam Deck bash

          
          DXVK_CONFIG="dxvk.maxFrameRate = 60" %command%
          
          
          
        

dxvk.maxFrameRate applies to every Direct3D version. d3d9.maxFrameRate and dxgi.maxFrameRate apply to that API only (D3D9/D3D8, and D3D10/11). We have not tested which wins when both are set, so set only one.

According to DXVK’s own file, the values mean:

What the maxFrameRate values mean (from DXVK's dxvk.conf)
ValueMeaning
0Default. Limits to the display refresh rate when VSync is on and the real display mode does not match the game's.
nLimit to n frames per second.
-nLimit to n only if the game runs much faster for a short time. Mainly for app profiles; it does not engage when VSync or an external limiter holds the rate.
-1Always disable the limiter, for games that default to a low refresh rate with no way to change it.

We tested the positive value only. If you set it and nothing changes, check that DXVK read the file: see the check step.

We measured it

FPS reached by our test program, by method LAB · SOFTWARE VULKAN

The removed DXVK_FRAME_RATE variable did nothing (184 FPS); the dxvk.conf line held the cap.

  • DXVK_FRAME_RATE=60 (Wine): ignored 184.0 FPS
  • dxvk.maxFrameRate = 60 (Wine) 60.5 FPS
  • dxvk.maxFrameRate = 60 (Windows Server 2025) 58.0 FPS
  • dxvk.maxFrameRate = 60 (Windows Server 2022) 57.8 FPS
  • DXVK_CONFIG d3d9.maxFrameRate=30 (Wine) 28.3 FPS

Our own test program on machines with no physical GPU (F21, F22). What is measured is whether the cap works, not how a game feels.

Show the data
ItemValue (FPS)
DXVK_FRAME_RATE=60 (Wine): ignored184.0
dxvk.maxFrameRate = 60 (Wine)60.5
dxvk.maxFrameRate = 60 (Windows Server 2025)58.0
dxvk.maxFrameRate = 60 (Windows Server 2022)57.8
DXVK_CONFIG d3d9.maxFrameRate=30 (Wine)28.3

This is a test app on a software renderer. It shows the cap mechanics only. It does not show frame pacing, which needs a real GPU and a game; we have not measured that.

Why DXVK warns about its own limiter

When the limiter is on, DXVK 3.1.1 writes this to its log (our Windows Server 2025 run):

conf-maxfps60-d3d11-64--dxprobe64_d3d11.log · lab Windows Server 2025 · DXVK 3.1.1 log

          
          warn:  Built-in frame rate limiter enabled. Please enable an external limiter instead in order to avoid poor frame pacing.
          
          
          DXVK itself recommends an external limiter.
        

In plain words: an average of 60 FPS can still look uneven if frames arrive unevenly. DXVK’s file says the built-in limiter exists mainly for games whose physics or simulation depends on frame rate and which have no limiter of their own, that limiters from MangoHud or Gamescope give a significantly better experience, and that in some games it may reduce performance or make frame pacing less consistent. We did not capture a frame-time trace to show this ourselves.

Pick the right limiter

Which limiter to use
Platform / goalPreferBasis
Linux, any gameGamescope or MangoHud first, then dxvk.maxFrameRateDXVK's own file
Windows, game has its own FPS capThe in-game cap firstGeneral advice, untested
Windows, no in-game capA dedicated external limiter (for example RTSS or the GPU driver's cap), then dxvk.maxFrameRateGeneral advice, untested; DXVK says external limiters are better
Old game whose physics break at high FPSdxvk.maxFrameRate: any reliable hard cap works and a file is the simplestDXVK's file names this as the purpose
Steam DeckThe Deck's own frame limitNot tested by us

VSync and tearing

VSync-related options in DXVK 3.1.1
OptionWhat it does (from DXVK's dxvk.conf)
d3d9.presentInterval, dxgi.syncIntervalOverride the game's VSync. 0 turns VSync off entirely, a positive n turns it on and repeats each image n times, a negative value (default -1) has no effect.
dxvk.tearFreeAuto, True or False. True uses the mailbox present mode when regular VSync is off, which removes tearing but may be unsupported; False uses relaxed FIFO when VSync is on, which can tear but cuts stutter when FPS drops. DXVK asks people not to report issues with it.

For variable refresh rate (G-Sync, FreeSync) on Windows, DXVK leaves exclusive full-screen off by default; dxvk.allowFse = True can enable VRR and HDR but may break alt-tab (see the option entry). We did not test VRR.

Input latency and frame queue

d3d9.maxFrameLatency and dxgi.maxFrameLatency set a stricter maximum frame latency, 0 to 16; 0 has no effect (DXVK’s file). A smaller number keeps fewer frames queued between the CPU and GPU. dxvk.latencySleep (Auto, True or False, since 2.6) controls DXVK’s built-in latency reduction and Reflex support; the file says it assumes the game samples input after Present returns and can reduce performance in some games. We have not measured input latency, so we make no claim about how much any of this helps.

Frame queue at latency 1 and latency 3 (illustrative)Latency 1frame→ GPULatency 3frameframeframe→ GPUIllustration of the idea, not a measurement.

Game-specific caps

Old games often need a cap because their physics depend on frame rate; the game guides cover them one by one: Fallout: New Vegas, GTA IV, The Sims 3 and Source games, which have their own fps_max.

Questions people ask

Why does DXVK_FRAME_RATE not work any more?

DXVK removed it in version 3.0. In 3.1.1 the variable set to 60 left our test program at 184 FPS. Use dxvk.maxFrameRate = 60 in dxvk.conf instead (finding F21).

How do I cap FPS at 60?

Add dxvk.maxFrameRate = 60 to dxvk.conf next to the game's .exe. Our test app then ran at 60.5 FPS under Wine and about 58 on Windows Server (F21).

How do I cap only one game?

Put the line under a [Game.exe] section in a shared dxvk.conf, or put a dxvk.conf next to that game's .exe only (finding F24).

Is the DXVK limiter the best way to cap FPS?

DXVK's own file says not to use it if an external limiter is available, because limiters from MangoHud or Gamescope give a significantly better experience. It exists mainly for old games whose physics depend on frame rate.

Does the cap reduce input lag?

Not by itself, and DXVK warns it can make frame pacing worse. Latency settings are separate; we have not measured input lag.

Sources

  1. DXVK dxvk.conf at v3.1.1 (frame rate, latency, VSync sections) · accessed 2026-11-07
  2. DXVK releases (3.0 notes: DXVK_FRAME_RATE removed) · accessed 2026-11-07