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

REFERENCE · DXVK 3.1.1 · CHECKED AGAINST THE SOURCE

DXVK environment variables: which still work in 3.1.1

DXVK 3.1.1 reads DXVK_HUD, DXVK_LOG_LEVEL, DXVK_LOG_PATH, DXVK_CONFIG, DXVK_CONFIG_FILE, DXVK_FILTER_DEVICE_NAME and _UUID, DXVK_SHADER_CACHE and _PATH, DXVK_HDR, DXVK_ENABLE_NVAPI and DXVK_DEBUG. DXVK_FRAME_RATE was removed in 3.0 (we confirmed it does nothing), DXVK_STATE_CACHE went in 2.7, and DXVK_ASYNC was never part of official DXVK.
Checked
2026-11-07
How we checked this

Old guides still tell you to set DXVK_FRAME_RATE, DXVK_STATE_CACHE or DXVK_ASYNC. This page lists every variable we found in the DXVK 3.1.1 source, whether it still exists, and what replaced it. The list was extracted from the source during our research; we marked the ones we ran ourselves with a finding number.

Every variable at a glance

UPSTREAM
DXVK environment variables and their status in 3.1.1
DXVK_HUDcurrentChooses which HUD items to draw. 1 means device name and FPS; full means everything.before 1.0F18
DXVK_LOG_LEVELcurrentSets how much DXVK logs: none, error, warn, info or debug.before 1.0F16
DXVK_LOG_PATHcurrentFolder for log files. The value none disables files. Under Wine nothing is written unless this is set.before 1.0F14
DXVK_CONFIG_FILEcurrentPath to a dxvk.conf. A missing file is not an error.before 1.0F30
DXVK_CONFIGcurrentConfig options typed inline, separated by semicolons.2.3F22
DXVK_FILTER_DEVICE_NAMEcurrentPicks the GPU whose Vulkan name contains this text.before 1.0F29
DXVK_FILTER_DEVICE_UUIDcurrentPicks the GPU by its 32-digit Vulkan device UUID.2.6.2source only
DXVK_SHADER_CACHEcurrent0 turns off the new shader cache.3.0source only
DXVK_SHADER_CACHE_PATHcurrentFolder for the shader cache. Default is %LOCALAPPDATA%\dxvk under Wine and Windows.3.0F19
DXVK_HDRcurrent1 advertises an HDR10 colour space to the game.2.1source only
DXVK_ENABLE_NVAPIcurrent1 stops DXVK hiding Nvidia GPUs, so dxvk-nvapi can work on plain Wine.1.10.1source only
DXVK_DEBUGcurrent (developer)Debug modes: capture, markers, validation, and hang (added 3.0.2). For bug reports.2.0source only
DXVK_WSI_DRIVERDXVK Native onlyChooses the window backend (SDL3, SDL2 or GLFW) of DXVK Native.2.4source only
DXVK_FRAME_RATEremoved in 3.0Was a global FPS cap.1.9dxvk.maxFrameRate in dxvk.conf, or DXVK_CONFIGF21
DXVK_STATE_CACHEremoved in 2.7Was 0 to disable the pipeline state cache, reset to rebuild it.before 1.0DXVK_SHADER_CACHE (3.0)source only
DXVK_STATE_CACHE_PATHremoved in 2.7Was the folder for .dxvk-cache files.before 1.0DXVK_SHADER_CACHE_PATH (3.0)source only
DXVK_PERF_EVENTSrenamed in 2.0Old name for debug markers.1.xDXVK_DEBUG=markerssource only
DXVK_WSIDRIVERrenamed in 2.4Old spelling of the window backend choice.before 2.4DXVK_WSI_DRIVERsource only
DXVK_FAKE_DX10_SUPPORTgone before 1.0A 0.x switch to report Direct3D 10 support.0.50source only
DXVK_ASYNCfork-onlyNever in official DXVK. Read by the dxvk-async and dxvk-gplasync patches.not upstreamSee the async pagesource only
DXVK_GPLASYNCCACHEfork-onlyA dxvk-gplasync cache switch, removed in gplasync 2.7-1.not upstreamsource only
DXVK_SHADER_DUMP_PATHdeveloperDumps shaders to a folder. For developers only.before 1.0source only
DXVK_FORCE_WINDOWEDdeveloperForces Direct3D 9 windowed mode. Undocumented.1.5source only
DXVK_NO_VRdeveloper1 skips the OpenVR integration. Undocumented.before 1.0source only
DXVK_CAPTURE_FRAMESdeveloperA frame-capture helper. Undocumented.3.1source only

“Source only” means we read the variable in the code and did not run it. We did not document the developer-only variables beyond this table. Variables DXVK reads that belong to other software (for example the Steam Deck marker) are not DXVK settings and are not listed.

When key variables appeared and went

20192020202120222023202420252026 1.x2.x3.x DXVK 1.0 · 2019-02-25DXVK 1.0.1 · 2019-03-14DXVK 1.0.2 · 2019-04-01DXVK 1.0.3 · 2019-04-15DXVK 1.1.1 · 2019-05-04DXVK 1.2 · 2019-05-13DXVK 1.2.1 · 2019-05-19DXVK 1.2.2 · 2019-06-15DXVK 1.2.3 · 2019-06-26DXVK 1.3 · 2019-07-13DXVK 1.3.1 · 2019-07-20DXVK 1.3.2 · 2019-08-05DXVK 1.3.3 · 2019-08-29DXVK 1.3.4 · 2019-09-08DXVK 1.4 · 2019-09-21DXVK 1.4.1 · 2019-09-27DXVK 1.4.2 · 2019-10-04DXVK 1.4.3 · 2019-10-18DXVK 1.4.4 · 2019-10-27DXVK 1.4.5 · 2019-11-19DXVK 1.4.6 · 2019-12-03DXVK 1.5 · 2019-12-16DXVK 1.5.1 · 2020-01-09DXVK 1.5.2 · 2020-01-25DXVK 1.5.3 · 2020-01-30DXVK 1.5.4 · 2020-02-07DXVK 1.5.5 · 2020-02-29DXVK 1.6 · 2020-03-20DXVK 1.6.1 · 2020-04-19DXVK 1.7 · 2020-05-16DXVK 1.7.1 · 2020-08-13DXVK 1.7.2 · 2020-10-07DXVK 1.7.3 · 2020-12-02DXVK 1.8 · 2021-02-19DXVK 1.8.1 · 2021-03-01DXVK 1.9 · 2021-06-15DXVK 1.9.1 · 2021-07-26DXVK 1.9.2 · 2021-09-20DXVK 1.9.3 · 2022-01-11DXVK 1.9.4 · 2022-01-24DXVK 1.10 · 2022-03-04DXVK 1.10.1 · 2022-03-26DXVK 1.10.2 · 2022-07-13DXVK 1.10.3 · 2022-08-02DXVK 2.0 · 2022-11-10DXVK 2.1 · 2023-01-24DXVK 2.2 · 2023-05-12DXVK 2.3 · 2023-09-04DXVK 2.3.1 · 2024-03-20DXVK 2.4 · 2024-07-10DXVK 2.4.1 · 2024-09-26DXVK 2.5 · 2024-11-11DXVK 2.5.1 · 2024-11-18DXVK 2.5.2 · 2024-12-20DXVK 2.5.3 · 2025-01-13DXVK 2.6 · 2025-03-13DXVK 2.6.1 · 2025-04-07DXVK 2.6.2 · 2025-06-10DXVK 2.7 · 2025-07-05DXVK 2.7.1 · 2025-08-30DXVK 3.0 · 2026-06-25DXVK 3.0.1 · 2026-07-05DXVK 3.0.2 · 2026-07-18DXVK 3.1 · 2026-08-27DXVK 3.1.1 · 2026-09-15 1.9: DXVK_FRAME_RATE2.3: DXVK_CONFIG2.6.2: filter by UUID2.7: state cache gone3.0: shader cache, no FRAME_RATE
65 releases, 1.0 to 3.1.1. Each dot is one release; the ringed dot is the latest. Select a dot to open its card.
Show the releases as a list
  1. 3.1.1 · 2026-09-15
  2. 3.1 · 2026-08-27
  3. 3.0.2 · 2026-07-18
  4. 3.0.1 · 2026-07-05
  5. 3.0 · 2026-06-25
  6. 2.7.1 · 2025-08-30
  7. 2.7 · 2025-07-05
  8. 2.6.2 · 2025-06-10
  9. 2.6.1 · 2025-04-07
  10. 2.6 · 2025-03-13
  11. 2.5.3 · 2025-01-13
  12. 2.5.2 · 2024-12-20
  13. 2.5.1 · 2024-11-18
  14. 2.5 · 2024-11-11
  15. 2.4.1 · 2024-09-26
  16. 2.4 · 2024-07-10
  17. 2.3.1 · 2024-03-20
  18. 2.3 · 2023-09-04
  19. 2.2 · 2023-05-12
  20. 2.1 · 2023-01-24
  21. 2.0 · 2022-11-10
  22. 1.10.3 · 2022-08-02
  23. 1.10.2 · 2022-07-13
  24. 1.10.1 · 2022-03-26
  25. 1.10 · 2022-03-04
  26. 1.9.4 · 2022-01-24
  27. 1.9.3 · 2022-01-11
  28. 1.9.2 · 2021-09-20
  29. 1.9.1 · 2021-07-26
  30. 1.9 · 2021-06-15
  31. 1.8.1 · 2021-03-01
  32. 1.8 · 2021-02-19
  33. 1.7.3 · 2020-12-02
  34. 1.7.2 · 2020-10-07
  35. 1.7.1 · 2020-08-13
  36. 1.7 · 2020-05-16
  37. 1.6.1 · 2020-04-19
  38. 1.6 · 2020-03-20
  39. 1.5.5 · 2020-02-29
  40. 1.5.4 · 2020-02-07
  41. 1.5.3 · 2020-01-30
  42. 1.5.2 · 2020-01-25
  43. 1.5.1 · 2020-01-09
  44. 1.5 · 2019-12-16
  45. 1.4.6 · 2019-12-03
  46. 1.4.5 · 2019-11-19
  47. 1.4.4 · 2019-10-27
  48. 1.4.3 · 2019-10-18
  49. 1.4.2 · 2019-10-04
  50. 1.4.1 · 2019-09-27
  51. 1.4 · 2019-09-21
  52. 1.3.4 · 2019-09-08
  53. 1.3.3 · 2019-08-29
  54. 1.3.2 · 2019-08-05
  55. 1.3.1 · 2019-07-20
  56. 1.3 · 2019-07-13
  57. 1.2.3 · 2019-06-26
  58. 1.2.2 · 2019-06-15
  59. 1.2.1 · 2019-05-19
  60. 1.2 · 2019-05-13
  61. 1.1.1 · 2019-05-04
  62. 1.0.3 · 2019-04-15
  63. 1.0.2 · 2019-04-01
  64. 1.0.1 · 2019-03-14
  65. 1.0 · 2019-02-25

How to set an environment variable

Steam on Linux and Steam Deck

Open the game’s properties, then Launch Options, and write the variables before %command%, separated by spaces:

bash

          
          DXVK_HUD=fps,frametimes DXVK_LOG_LEVEL=warn %command%
          
          
          
        

The most common mistake is leaving out %command%: Steam then has nothing to run. This is the widely used Steam launch-option syntax; we have not run it on a Deck ourselves.

Lutris, Bottles and Heroic

Each has an environment variables field in the game or runner settings. Put the name in one box and the value in the other, with no quotes and no %command%. We have not tested these launchers; see the launcher page for version handling.

Windows

  • System-wide: Windows settings, search “environment variables”, then add a user variable. It applies to every program started afterwards, including every DXVK game, so a forgotten DXVK_HUD or DXVK_FILTER_DEVICE_NAME will follow you everywhere.
  • One game: put the lines in a .bat file next to the game, such as set DXVK_HUD=fps then start game.exe, and launch that instead.
  • Better still: use a dxvk.conf next to the game exe. It affects only that game, and it works with Steam. See the dxvk.conf page.

Variables that changed

DXVK_FRAME_RATE: removed in 3.0

Removed in 3.0 (upstream commit dae35be7), after being added in 1.9. In 3.1.1 with DXVK_FRAME_RATE=60 our Direct3D 9 test program ran at 184 FPS. With dxvk.maxFrameRate = 60 in a config file it held 60.5 FPS under Wine, 58.0 FPS on Windows Server 2025 and 57.8 on Windows Server 2022 (F21). Replace it with:

bash

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

or a dxvk.conf line, or a limiter outside DXVK such as MangoHud or gamescope. DXVK_CONFIG itself works: d3d9.maxFrameRate=30 gave 28.3 FPS (F22). Full guidance is on the FPS limit page. The removal drew long discussion upstream (issue 5340 has 47 comments).

DXVK_STATE_CACHE and DXVK_STATE_CACHE_PATH: removed in 2.7

They went when DXVK 2.7 removed the state cache. In 3.0 a new shader cache arrived with DXVK_SHADER_CACHE (set 0 to disable) and DXVK_SHADER_CACHE_PATH. We saw one .dxvk.bin and one .dxvk.lut file per game created in the cache folder, and the path variable moved them (F19). See shader stutter.

DXVK_ASYNC: never in upstream

We found it at no official release, and no upstream commit introduces it. It comes from the dxvk-async patch, now archived, and from dxvk-gplasync. With official DXVK it does nothing. Read the async page before using a fork.

Renamed: DXVK_PERF_EVENTS and DXVK_WSIDRIVER

DXVK_PERF_EVENTS became DXVK_DEBUG=markers in 2.0. DXVK_WSIDRIVER became DXVK_WSI_DRIVER in 2.4.

Current variables in detail

DXVK_HUD

A comma list of items, for example DXVK_HUD=fps,frametimes,compiler. 1 shows the device and FPS; full shows everything. The valid items come from the source, not the README: samplers was removed in 2.7 and latency exists. We confirmed 1, full and scale work (F18). Values and screenshots are on the HUD page.

DXVK_LOG_LEVEL and DXVK_LOG_PATH

DXVK_LOG_LEVEL takes none, error, warn, info or debug. With warn the version banner is not logged, because it is an info: line, so a missing banner does not mean DXVK is off (F16). DXVK_LOG_PATH=C:\dxvk-logs writes files to that folder; under Wine DXVK only prints to the terminal unless this is set (F14). To silence things: DXVK_LOG_LEVEL=none stops the messages, while DXVK_LOG_PATH=none only stops the files. See error messages.

DXVK_CONFIG and DXVK_CONFIG_FILE

DXVK_CONFIG takes options inline, separated by semicolons: DXVK_CONFIG="dxvk.maxFrameRate=60;dxgi.maxDeviceMemory=4096". DXVK_CONFIG_FILE names a config file; if the file does not exist the game runs with defaults and DXVK says nothing (F30). The Config Builder writes the Steam launch-options form for you.

DXVK_FILTER_DEVICE_NAME and DXVK_FILTER_DEVICE_UUID

They tell DXVK which GPU to use, by part of its name or by UUID. A name that matches nothing leaves DXVK with no GPU and breaks Direct3D 11 completely (F29), while a matching substring works. Choosing a GPU is covered on the GPU selection page.

DXVK_SHADER_CACHE and DXVK_SHADER_CACHE_PATH

DXVK_SHADER_CACHE=0 disables the 3.x cache. DXVK_SHADER_CACHE_PATH moves it, which we verified (F19). Useful for putting the cache on a faster drive or deleting it cleanly. See shader stutter.

DXVK_HDR

DXVK_HDR=1 makes DXVK advertise an HDR10 colour space to games; it is the default value of the dxgi.enableHDR option. Source only, not tested by us.

DXVK_ENABLE_NVAPI

1 stops DXVK hiding NVIDIA GPUs, which dxvk-nvapi needs for features such as DLSS on plain Wine. Source only, not tested by us. See the dxvk-nvapi page.

DXVK_DEBUG

For bug reports: markers, capture, validation and, since 3.0.2, hang. Not for everyday use.

DXVK_WSI_DRIVER

Only for DXVK Native, which picks a window backend. See DXVK Native.

Proton’s own variables are different

These belong to Proton, not to DXVK. Setting them in a plain Windows install does nothing. We have not tested them; the Proton page explains each.

Proton variables that are not DXVK variables
PROTON_USE_WINED3DProton (choosing WineD3D over DXVK)
PROTON_NO_D3D11Proton
PROTON_DXVK_D3D8Proton
PROTON_ENABLE_NVAPIProton
PROTON_LOGProton

See DXVK in Proton and on Steam Deck.

Questions people ask

Why does DXVK_FRAME_RATE not work?

It was removed in DXVK 3.0. With DXVK_FRAME_RATE=60 on 3.1.1 our test program ran at 184 FPS, uncapped; the same cap as dxvk.maxFrameRate = 60 in a config file held 60.5 FPS under Wine (F21). Use dxvk.maxFrameRate instead.

Does DXVK_STATE_CACHE=0 still do anything?

No. The state cache and its two variables were removed in DXVK 2.7. DXVK 3.0 added a different cache, controlled by DXVK_SHADER_CACHE and DXVK_SHADER_CACHE_PATH.

Is DXVK_ASYNC=1 a real variable?

Not in official DXVK: it appears at no upstream release. It belongs to the dxvk-async and dxvk-gplasync patches, so setting it with official DXVK does nothing.

How do I set DXVK_HUD on Windows?

Set it as a user environment variable in Windows settings, or start the game from a .bat file that sets it first. Or put dxvk.hud = fps in a dxvk.conf next to the game, which affects only that game.

What is the difference between DXVK_LOG_LEVEL=none and DXVK_LOG_PATH=none?

The first stops DXVK writing log messages at all. The second stops log files being written but leaves the messages on the terminal (stderr). Under Wine, DXVK 2.2 and newer write no files unless DXVK_LOG_PATH is set (F14).

Sources

  1. DXVK README at v3.1.1 (environment variables) · accessed 2026-11-07
  2. DXVK 3.0 release notes · accessed 2026-11-07
  3. DXVK issue 5340: DXVK_FRAME_RATE removal discussion · accessed 2026-11-07