GUIDE · CONFIGURE · DXVK 3.1.1
dxvk.conf: where to put it, what to write, and how to check it works
How we checked this
What dxvk.conf is (and is not)
A plain text file that DXVK reads when a game starts. It changes only what DXVK does, never the game’s own settings. It is optional: DXVK has built-in settings for 263 profile entries (262 in g_profiles plus one for Steam Deck, counted from its source at 3.1.1), so many games need no file at all. There is no dxvk.ini, dxgi.ini or registry setting: if a guide mentions one, it means dxvk.conf.
Where to put dxvk.conf
The rule: the game’s working folder, at the moment it creates its Direct3D device. In every one of our tests that was the folder holding the .exe, and DXVK logged that it found the file there (F23).
Windows: next to the game’s .exe
- Grand Theft Auto IV/
- GTAIV.exe
- d3d9.dll ← DXVK
- dxvk.conf ← your settings
The folder name is an example: use the folder of the exe your game really runs.
Games with launchers or a bin folder
The file goes beside the real game program, not the launcher. Some games keep it in a subfolder, for example a Bin folder. Open Task Manager, right-click the running game, choose Open file location, and use that folder. The Game Checker also tells you launcher from game.
Linux, Proton and Steam Deck
The same rule applies inside the prefix, or you can name a file anywhere with DXVK_CONFIG_FILE=/path/to/file.conf in the launch options. A file named there that does not exist is not an error: the game just runs with defaults, so a typo in the path fails silently (F30).
Program Files and permissions
Writing into C:\Program Files needs administrator approval. With “file name extensions” hidden, Notepad may save dxvk.conf.txt: turn extensions on in File Explorer (View, Show, File name extensions) and check the name. We could not take desktop screenshots of these steps, and we did not test whether Windows redirects writes to a VirtualStore folder.
Build one
API-agnostic form of the frame limiter; the release notes for 3.0 point users here after DXVK_FRAME_RATE was removed. Default 0. Valid: integer (0, n, -n, -1).
HUD element list used when DXVK_HUD is not set; same syntax as the environment variable. Default (empty). Valid: same as DXVK_HUD.
Starting value (MB) for D3D9's memory tracking and GetAvailableTextureMem reports. Default 4096. Valid: any int32 (MB).
Cap the dedicated VRAM amount reported to games (MB); a reporting hint, not an enforced limit. Default 0. Valid: integer MB (0 = no override).
Hide integrated GPUs when a dedicated GPU is present; DXVK_FILTER_DEVICE_NAME is preferred. Default False. Valid: True, False.
Windows only: let the Vulkan driver use exclusive full-screen; can enable VRR/HDR but may break alt-tab and GDI-overlay games. Default False. Valid: True, False.
Save as dxvk.conf next to the game's .exe. Make sure Windows does not add .txt.
Windows files use CRLF line endings. Our Windows lab runs read a one-line file written that way (F21); we did not test long files.
Test it: start the game and look for Found config file: dxvk.conf in DXVK's log (F15). Open the log guide.
Open the full builder for all 105 options, other platforms and file checking.
How to write it
One option per line, as key = value. A line starting with # is a comment. Booleans are True or False, strings go in double quotes, numbers are plain. The part before the dot says which API the option affects.
| Prefix | Affects |
|---|---|
| dxvk. | Everything DXVK does, whichever Direct3D version the game uses. |
| dxgi. | Direct3D 10 and 11: the window, swap chain and what GPU the game sees. |
| d3d11. | Direct3D 10 and 11 games. |
| d3d9. | Direct3D 9 games, and Direct3D 8 games, which run on DXVK's d3d9 code (F07). |
| d3d8. | Direct3D 8 games only. |
No rows match.
One file for several games: per-game sections
A line like [GameName.exe] applies the lines below it to that exe only. We proved it: an option under [dxprobe64.exe] changed the game’s feature level, and the same option under another exe name was ignored (F24). Matching is on the exe file name; upstream says wildcards are not supported. Useful for one shared file on Linux or a folder with several programs.
Check that DXVK read it
Run the game, close it, then open the log. On Windows it is <exe>_d3d9.log or <exe>_d3d11.log next to the exe (F13); under Wine it is the terminal output, or a file if you set DXVK_LOG_PATH (F14). This is what our Windows run showed with dxvk.maxFrameRate = 60:
info: Game: dxprobe64.exe
info: DXVK: v3.1.1
info: Build: x86_64 gcc 16.2.0
info: Found config file: dxvk.conf
DXVK found and read the file.
info: Effective configuration:
info: dxvk.maxFrameRate = 60
The option it applied. If your option is missing here, it was ignored.
| You see | It means |
|---|---|
| Found config file, and your option under Effective configuration | Working. |
| Found config file, but your option is missing | A typo, an option your DXVK version does not have, or it sits under another [exe] section. |
| No Found config file line | Wrong folder, wrong file name, or DXVK is not loaded at all. Look for the log file itself first. |
No rows match.
Setting options without a file: DXVK_CONFIG and DXVK_CONFIG_FILE
DXVK_CONFIG takes the same lines separated by semicolons; DXVK_CONFIG=d3d9.maxFrameRate=30 gave 28.3 FPS in our test (F22). DXVK_CONFIG_FILE names a file, and a missing file is silent (F30). On Linux set them in Steam launch options, for example DXVK_CONFIG=“dxvk.maxFrameRate = 60” %command%, or in your launcher’s environment fields. On Windows a system-wide variable affects every DXVK game, so prefer the file. See environment variables.
Recipes people actually use
| Goal | Line | Evidence |
|---|---|---|
| Cap FPS at 60 | dxvk.maxFrameRate = 60 | F21: 60.5 FPS under Wine, 58.0 on Windows Server 2025 |
| Show FPS and DXVK version | dxvk.hud = fps,version | Upstream option; HUD tested with the variable (F18) |
| Tell a Direct3D 9 game it has 2 GB of texture memory | d3d9.maxAvailableMemory = 2048 | F25: the game saw 2,038 MB |
| Tell a Direct3D 11 game it has 4 GB of video memory | dxgi.maxDeviceMemory = 4096 | F26 |
| Hide the integrated GPU on a laptop | dxvk.hideIntegratedGraphics = True | Upstream option, untested |
| Force 16x anisotropic filtering (Direct3D 9) | d3d9.samplerAnisotropy = 16 | Upstream option, untested |
No rows match.
For game-specific files, see the game guides.
Options that stopped working
| Setting | What happened |
|---|---|
| DXVK_FRAME_RATE (environment variable) | Removed in 3.0. Setting it to 60 gave 184 FPS, uncapped, in 3.1.1 (F21). Use dxvk.maxFrameRate. |
| dxvk.enableAsync, dxvk.gplAsyncCache | Only exist in the gplasync fork. Official DXVK ignores them. |
| DXVK_STATE_CACHE and state-cache options | The state cache was removed in 2.7. |
| HUD item samplers | Removed in 2.7, but the README still lists it. |
No rows match.
Common mistakes
Questions people ask
Where do I put dxvk.conf?
In the folder the game runs from, normally next to the game's .exe (finding F23). On Linux you can also point to a file with DXVK_CONFIG_FILE. Never in System32.
Do I need a dxvk.conf at all?
No. DXVK works without one and carries its own built-in settings for 263 profile entries (from its source at 3.1.1). Add a file only to change something.
Why is my dxvk.conf ignored?
The usual causes are: the file is really named dxvk.conf.txt, it sits next to a launcher instead of the game's .exe, the option is under another game's [exe] section, or DXVK is not loaded at all. The log tells you which: look for the line Found config file.
Can I use one file for all games?
Yes. Put options in the file without a section and they apply to every game that reads it. Add [Game.exe] sections to give one game its own settings (F24).
How do I know it worked?
Open DXVK's log after running the game. A line Found config file: dxvk.conf, then Effective configuration listing your option, means DXVK read and applied it (F15).
What are the best dxvk.conf settings?
There are none that suit every game. DXVK's defaults and built-in game settings are already tuned, so change only an option that fixes a problem you have.
Sources
- DXVK dxvk.conf at v3.1.1 · accessed 2026-11-07
- DXVK wiki: Configuration · accessed 2026-11-07
- DXVK source: src/util/config/config.cpp at v3.1.1 · accessed 2026-11-07