All 91 environment variables across variants. Amber highlights indicate a unique env var for that Proton variant.
Env Var
Proton (Valve)
Proton CachyOS
Proton EM
Proton GE Custom
DWProton
Proton GE RTSP
COPYPREFIX Set to 1 to enable. If -steamdeck is used on steam (or SteamDeck=1 is set), copies the game's prefix and shader cache from the game partition to the local steam steamapps folder. Logic is reversed if -steamdeck not enabled (or SteamDeck=0)
—
—
—
bool
—
—
DXVK_HDR Enables HDR when set to DXVK_HDR=1, optionally combined with ENABLE_HDR_WSI=1 if required, on Nvidia driver versions older than 595.x.x.
—
bool
—
—
—
—
DXVK_NO_HDR The opposite of DXVK_HDR=1, forcefully disables HDR if it is automatically enabled. NOTE: Presently Gnome does not support enough color management features to expose HDR automatically.
—
bool
—
—
—
—
DXVK_NVAPI_VKREFLEX Enables DXVK-NVAPI's Vulkan Reflex layer to support Reflex in Vulkan games. It's meant to enable Reflex in games such as Portal RTX, Path of Exile 1 and 2 and Doom TDA, etc.
—
bool
—
—
—
—
GST_GL_WINDOW
—
unknown
—
—
—
—
HOST_LC_ALL Set value to a locale to override all other system locale settings for a game. This variable should be used instead of LC_ALL.
unknown
unknown
—
unknown
unknown
—
LICENSE See the LICENSE files here, as well as the LICENSE, COPYING, etc files in each submodule and directory for details. If you distribute a built version of Proton to other users, you must adhere to the terms of these licenses.
path
—
—
—
path
—
LOW_LATENCY_LAYER Enables low_latency_layer, for more information and and configuration options refer to the projects README.
—
bool
—
—
—
—
PIPEWIRE_LATENCY Setting PIPEWIRE_LATENCY does nothing here, use the quantum above. * Choose output device - games follow your PipeWire default sink. Change it in your sound settings, pavucontrol (Playback tab), or wpctl set-default . The game shows up named after itself or as winepipewire. * You can make sure the game uses winepipewire.drv either through pw-top or by looking at the audio device names in the game itself which should include (Pipewire) in their name.
—
unknown
—
—
—
—
PROTON_CRASH_REPORT_DIR Write crash logs into this directory. Does not clean up old logs, so may eat all your disk space eventually.
path
path
—
—
path
—
PROTON_D7VK_DDRAW Use ddraw.dll from the D7VK project for DirectX 7-or-lower games.
—
bool
—
—
—
—
PROTON_DEBUG_DIR Root directory for the Proton debug scripts, /tmp by default.
—
—
—
path
—
path
PROTON_DISABLE_NVAPI Disable NVIDIA's NVAPI GPU support library.
bool
bool
—
—
bool
—
PROTON_DISCORD_BRIDGE Enables rpc-bridge to allow games running in Proton to set Discord's Rich Presence.
—
bool
—
—
—
—
PROTON_DLSS_INDICATOR Enable the DLSS overlay at the bottom left portion of the screen.
—
bool
—
bool
—
—
PROTON_DLSS_UPGRADE g).dll DLLs. Version to download can be specified by supplying it as a value, like so PROTON_DLSS_UPGRADE="310.2", instead of 1, to download version 310.2.1.0. This option also sets DXVK_NVAPI_DRS_SETTINGS` to use the latest preset. If you provide your own configuration through this environment variable, your configuration will override the defaults.
—
bool
—
bool
—
—
PROTON_DUMP_DEBUG_COMMANDS When running a game, Proton will write some useful debug scripts for that game into $PROTON_DEBUG_DIR/proton_$USER/.
—
—
—
bool
—
bool
PROTON_DXVK_D3D8 Use DXVK's d3d8.dll.
bool
bool
—
—
bool
—
PROTON_DXVK_LOWLATENCY Enable the alternative dxvk-low-latency fork, which enhances the original dxvk with low-latency frame pacing capabilities to improve game responsiveness and input lag. It also improves latency stability over time, usually resulting in a more accurate playback speed of the generated video. Refer to the project's documentation for in-depth configuration.
—
bool
—
—
—
—
PROTON_DXVK_SAREK Use the dxvk-sarek fork as DXVK replacement for older GPUs that don't properly support Vulkan 1.3 (supported Vulkan 1.1.x to 1.2.x). It is using the async branch, so it SHOULD NOT to be used with games using anti-cheat or multiplayer games in general. You have been warned.
—
bool
—
—
—
—
PROTON_ENABLE_HDR DXVK_HDR
—
bool
—
—
—
—
PROTON_ENABLE_MEDIACONV For debugging purposes, do not use.
—
bool
—
bool
—
—
PROTON_ENABLE_NVAPI Enable NVIDIA's NVAPI GPU support library.
—
—
—
bool
—
bool
PROTON_ENABLE_WAYLAND Enable Wayland support. winewayland is experimental and work-in-progress, expect issues. When reporting issues ALWAYS mention if you using this environment variable, and make sure the issue still happens without it. Valve's Protons do not include winewayland.drv, they always use winex11.drv. For more information refer to this section
—
bool
—
—
—
—
PROTON_FFX3_UPGRADE
—
bool
—
—
—
—
PROTON_FFX4_UPGRADE
—
bool
—
—
—
—
PROTON_FORCE_LARGE_ADDRESS_AWARE Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
bool
bool
—
bool
bool
bool
PROTON_FSR3_UPGRADE
—
—
—
bool
—
—
PROTON_FSR4_INDICATOR Enable the FSR4 watermark at the top left portion of the screen. This is a shorthand option for setting FSR_WATERMARK=1 and FSR_FG_WATERMARK=1.
—
bool
—
bool
—
—
PROTON_FSR4_RDNA3_UPGRADE Identical to PROTON_FSR4_UPGRADE but for RDNA3 GPUs. Enables some required compatibility options and downloads version 4.0.0 of the DLL by default.
—
—
—
bool
—
—
PROTON_FSR4_UPGRADE Automatically download amdxcffx64.dll and upgrade games with FSR 3.1 to use FSR 4. Version to download can be specified by supplying it as a value, like so PROTON_FSR4_UPGRADE="4.0.1", instead of 1. Downloads the latest available and known-good version of the required DLL by default.
—
bool
—
bool
—
—
PROTON_GST_VIDEO_ORIENTATION Change the orientation (rotation) of videos rendered using gstreamer. The accepted values are the same as gstreamer's videoflip plugin
—
bool
—
—
—
—
PROTON_HEAP_DELAY_FREE Delay freeing some memory, to work around application use-after-free bugs.
bool
bool
—
bool
bool
bool
PROTON_HIDE_NVIDIA_GPU Force Nvidia GPUs to always be reported as AMD GPUs. Some games require this if they depend on Windows-only Nvidia driver functionality. See also DXVK's nvapiHack config, which only affects reporting from Direct3D.
bool
bool
—
—
bool
—
PROTON_LOCAL_SHADER_CACHE Enable per-game shader cache even if "Shader Pre-caching" is disabled. Any configuration set by this option can be overriden, i.e. if one of the environment variables is already set, the user-set value will be used. The default configuration is set up to mimic Steam's "Shader Pre-Caching", with shaders being cached under /shadercache/ for each game.
—
bool
—
—
—
—
PROTON_LOG Convenience method for dumping a useful debug log to $PROTON_LOG_DIR/steam-$APPID.log. Set to 1 to enable default logging, or set to a string to be appended to the default WINEDEBUG channels.
bool
bool
—
bool
bool
bool
PROTON_LOG_DIR Output log files into the directory specified. Defaults to your home directory.
path
path
—
—
path
—
PROTON_MEDIA_FORCE_GST Fixes video/audio playback in cutscenes in some cases.
—
bool
—
—
—
—
PROTON_MEDIA_USE_GST Fixes video/audio playback in cutscenes in some cases.
—
bool
—
—
—
—
PROTON_MLFG_UPGRADE Enables the use of MLFG with FSR4 >= 4.0.3.
—
bool
—
—
—
—
PROTON_NO_D3D10 Disable d3d10.dll and dxgi.dll, for d3d10 games which can fall back to and run better with d3d9.
bool
bool
—
bool
bool
bool
PROTON_NO_D3D11 Disable d3d11.dll, for d3d11 games which can fall back to and run better with d3d9.
bool
bool
—
bool
bool
bool
PROTON_NO_D3D12 Disables DX12.
—
—
—
bool
—
bool
PROTON_NO_D3D9 Disables DX9.
—
—
—
bool
—
bool
PROTON_NO_ESYNC Note: Obsoleted in Proton 11.0. In older versions, do not use eventfd-based in-process synchronization primitives.
bool
—
—
bool
bool
bool
PROTON_NO_FSYNC Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.)
bool
bool
—
bool
bool
bool
PROTON_NO_NTSYNC Do not use ntsync.
bool
—
—
bool
—
—
PROTON_NO_STEAMINPUT
—
bool
—
—
—
—
PROTON_NO_WM_DECORATION Disable window decorations by the the window manager, use wine's own window decorations.
—
bool
—
—
—
—
PROTON_NO_WRITE_WATCH Disable support for memory write watches in ntdll. This should only be applied if you have verified that the game can operate without write watches. This can improves performance for some very specific games.
—
—
—
bool
—
bool
PROTON_NO_XIM Enabled by default. Do not attempt to use XIM (X Input Methods) support. XIM support is known to cause crashes with libx11 older than version 1.7.
—
—
—
—
—
bool
PROTON_NVIDIA_LIBS Enable alternative implementations of Nvidia libraries missing from Proton. Allows things like hardware-accelerated PhysX to function and should be use only when needed. This option enables all of nvcuda, nvenc, nvml and nvoptix. These are incompatible with wow64 and thus disabled when PROTON_USE_WOW64=1 is set.
—
bool
—
—
—
—
PROTON_NVIDIA_LIBS_NO_32BIT Use with the previous option, to enable only the 64bit nvidia libraries. Useful if you are using RTX series 4000 or 5000 GPUs and you had bad performance or crashes when enabling these with 32bit games.
—
bool
—
—
—
—
PROTON_NVIDIA_NVCUDA Enable alternative nvcuda.dll from nvidia-libs only.
—
bool
—
—
—
—
PROTON_NVIDIA_NVENC Enable alternative nvcencodeapi(64).dll from nvidia-libs only.
—
bool
—
—
—
—
PROTON_NVIDIA_NVML Enable alternative nvml.dll from nvidia-libs only. This option is enabled by default.
—
bool
—
—
—
—
PROTON_NVIDIA_NVOPTIX Enable alternative nvoptix.dll from nvidia-libs only.
—
bool
—
—
—
—
PROTON_OLD_GL_STRING Set some driver overrides to limit the length of the GL extension string, for old games that crash on very long extension strings.
bool
bool
—
bool
bool
bool
PROTON_OPTISCALER_CONFIG * You can use PROTON_OPTISCALER_CONFIG write arbitrary configuration in OptiScaler.ini. The config is a semicolon ( ;) separated string of individual options. The template for each option is {section}.{option}={value}, for example PROTON_OPTISCALER_CONFIG="Upscalers.Dx11Upscaler=fsr31;Upscalers.Dx12Upscaler=dlss". To avoid mistakes, only config options that already exist in Optiscaler.ini can be modified. * The changes to the config are permanent until OptiScaler is upgraded or downgraded to a different version. To modify a setting it has to either be manually edited or altered by applying a different config through the environment
—
bool
—
—
—
—
PROTON_OPTISCALER_NAME control the DLL that should be injected. Three names are supported for PROTON_OPTISCALER_NAME, dxgi.dll, d3d12.dll and dbghelp.dll and defaults to dxgi.dll unless explictly set. * You can use PROTON_OPTISCALER_CONFIG write arbitrary configuration in OptiScaler.ini. The config is a semicolon ( ;) separated string of individual options. The template for each option is {section}.{option}={value}, for example PROTON_OPTISCALER_CONFIG="Upscalers.Dx11Upscaler=fsr31;Upscalers.Dx12Upscaler=dlss". To avoid mistakes, only config options that already exist in Optiscaler.ini can be modified.
—
bool
—
—
—
—
PROTON_PREFER_SDL Uses SDL input instead of HIDRAW/Steam Input
—
bool
—
—
—
—
PROTON_SET_GAME_DRIVE Create an S: drive which points to the Steam Library which contains the game.
bool
bool
—
—
bool
—
PROTON_USE_D9VK Note: Obsoleted in Proton 5.0. In older versions, use Vulkan-based DXVK instead of OpenGL-based wined3d for d3d9.
bool
bool
—
—
bool
—
PROTON_USE_OPTISCALER Enables automatic OptiScaler injection. For more information refer to this section
—
bool
—
—
—
—
PROTON_USE_PIPEWIRE Enable the winepipewire.drv audio driver. This audio driver is enabled by default and can be disabled with PROTON_USE_PIPEWIRE=0. For more information and further configuration refer to this section
—
bool
—
—
—
—
PROTON_USE_SDL Alias of PROTON_PREFER_SDL
—
bool
—
bool
—
—
PROTON_USE_SECCOMP Note: Obsoleted in Proton 5.13. In older versions, enable seccomp-bpf filter to emulate native syscalls, required for some DRM protections to work.
bool
bool
—
bool
bool
bool
PROTON_USE_WAYLAND Alias of PROTON_ENABLE_WAYLAND
—
bool
—
bool
—
—
PROTON_USE_WINED3D Use OpenGL-based wined3d instead of Vulkan-based DXVK for d3d11, d3d10, and d3d9.
bool
bool
—
bool
bool
bool
PROTON_USE_WOW64 Enables wow64.
—
—
—
bool
—
—
PROTON_USE_XALIA Enable Xalia, a program that can add a gamepad UI for some keyboard/mouse interfaces, or set to 0 to disable. The default is to enable it dynamically based on window contents.
bool
bool
—
bool
bool
—
PROTON_VKD3D_HEAP N/A
—
bool
—
—
—
—
PROTON_VKREFLEX Enables DXVK-NVAPI's Vulkan Reflex layer to support Reflex in Vulkan games. It's meant to enable Reflex in games such as Portal RTX, Path of Exile 1 and 2 and Doom TDA, etc.
—
bool
—
—
—
—
PROTON_WAIT_ATTACH Wait for a debugger to attach to steam.exe before launching the game process. To attach to the game process at startup, debuggers should be set to follow child processes.
bool
bool
—
—
bool
—
PROTON_XESS_UPGRADE
—
bool
—
bool
—
—
STEAM_COMPAT_CONFIG some options for known games using the STEAM_COMPAT_CONFIG variable. You can override these options using the environment variables described below. The best way to set these environment overrides for all games is by renaming user_settings.sample.py to user_settings.py and modifying it appropriately. This file is located in the Proton installation directory in your Steam library
path
path
—
—
path
—
VKD3D_CONFIG Put force_bindless_texel_buffer into VKD3D_CONFIG.
unknown
unknown
—
—
unknown
—
WAYLANDDRV_PRIMARY_MONITOR Tell the wayland driver what the primary monitor name is (Example: eDP-1). This is a workaround for a missing Wayland Protocol.
—
—
unknown
unknown
—
—
WAYLANDDRV_RAWINPUT A value of 0 disables unaccelerated input and uses accelerated input. Any positive real number (like 0.5) adjusts the sensitivity of rawinput. Requires the Wayland driver.
—
—
—
bool
—
—
WINEALSA_CHANNELS Allows to select more than two channels with the winealsa driver as well as force disable spatial audio in games. Can be useful with surround setups or when the sounds come out wrong positionally (like dialogue coming out only from the left speaker). Possible values is the number of speakers, such as 2 (to disable spatial audio), such as 4 (2 front, 2 rear), 6 (5.1) or 8 (7.1).
—
bool
—
—
—
—
WINEALSA_SPATIAL Properly downmixes spatial with winealsa and includes the height channels. Use 1 to enable, 0 to disable (default). Recommended only if there are spatial audio errors with the WINEALSA_CHANNELS variable
—
bool
—
—
—
—
WINEPULSE_FAST_POLLING Can help eliminate crackling with the default audio driver. Use 1 to enable, 0 to disable (default). Can cause rare crackling in God of War Ragnarok with the power of two quants (e.g. 512/768/1024)
—
bool
—
—
—
—
WINE_AUDIO_DRIVER Comma-separated list of audio drivers for wine to choose from. The default list is pipewire,pulse,alsa. For example WINE_AUDIO_DRIVER=pulse will use winepulse.drv exclusively.
—
enum
—
—
—
—
WINE_BLOCK_HOSTS Provides a list of hosts for Wine to not connect to. The list can be either comma (,) or semicolon (;) separated, i.e WINE_BLOCK_HOSTS=host1.org,host2.net. The maximum number of hosts is 16 and the maximum length of each host is 256 characters.
—
int
—
—
—
—
WINE_DISABLE_VULKAN_OPWR Enable hack to disable Vulkan other process window rendering which sometimes causes issues on Wayland due to blit being one frame behind.
bool
bool
—
—
bool
—
WINE_DO_NOT_CREATE_DXGI_DEVICE_MANAGER Enable hack to work around video issues in some games due to incomplete IMFDXGIDeviceManager support.
bool
bool
—
bool
bool
bool
WINE_FULLSCREEN_FSR Enable AMD FidelityFX Super Resolution (FSR), use in conjunction with WINE_FULLSCREEN_FSR_STRENGTH. Only works in Vulkan games (DXVK and VKD3D-Proton included).
—
—
—
bool
—
bool
WINE_FULLSCREEN_FSR_CUSTOM_MODE Set fake resolution of the screen. This can be useful in games that render in native resolution regardless of the selected resolution. Parameter WIDTHxHEIGHT
—
—
—
unknown
—
unknown
WINE_FULLSCREEN_FSR_STRENGTH AMD FidelityFX Super Resolution (FSR) strength, the default sharpening of 5 is enough without needing modification, but can be changed with 0-5 if wanted. 0 is the maximum sharpness, higher values mean less sharpening. 2 is the AMD recommended default and is set by GE-Proton by default.
—
—
—
unknown
—
unknown
WINE_FULLSCREEN_INTEGER_SCALING Enable integer scaling mode, to give sharp pixels when upscaling.
bool
bool
—
—
bool
—
WINE_USE_KWIN_HACKS Enable KDE-specific windowing hacks that may improve experience with KDE older than 6.4 on Wayland and KDE older than 6.6 on X11.