proton
Valve's Windows game compatibility layer for Linux
TLDR
SYNOPSIS
proton verb [arguments...]
DESCRIPTION
Proton is Valve's compatibility layer for running Windows games on Linux through the Steam client. It bundles a patched Wine, the DXVK Direct3D 9/10/11 → Vulkan translator, VKD3D-Proton for Direct3D 12, FAudio for XAudio2, and various runtime libraries. Steam normally invokes proton automatically via the "Steam Play" setting; direct invocation is rare and primarily useful for troubleshooting.Each game has its own Wine prefix under $STEAM_COMPAT_DATA_PATH/pfx. The proton script can be called directly with a verb such as run once the required environment variables are set.
VERBS
run
Run a Windows executable under Proton.waitforexitandrun
Wait for any lingering Wine server to exit, then run the executable. Used by Steam when switching prefixes.runinprefix
Run a program inside the currently configured Proton prefix without spawning a new one.destroyprefix
Delete the current Proton prefix, forcing Steam to recreate it.getcompatpath
Print the pfx compatdata path for the game.getnativepath
Print the native (Linux) path that corresponds to a Windows path.
ENVIRONMENT VARIABLES
STEAM_COMPAT_CLIENT_INSTALL_PATH
Required. Path to the Steam client install (usually ~/.steam/steam).STEAM_COMPAT_DATA_PATH
Required. Directory where Proton stores the pfx, configuration, and caches.PROTON_LOG
Enable user-friendly logging to $HOME/steam-$APPID.log.PROTON_USE_WINED3D
Use WineD3D (OpenGL) instead of DXVK/VKD3D for DirectX.PROTON_NO_ESYNC, PROTON_NO_FSYNC
Disable the esync or fsync synchronization primitives.PROTON_ENABLE_NVAPI
Enable NVIDIA NVAPI so DLSS and Reflex work with supported GPUs.PROTON_FORCE_LARGE_ADDRESS_AWARE
Mark 32-bit executables as large-address-aware.PROTON_DUMP_DEBUG_COMMANDS
Dump helper scripts for re-running the game with winedbg, strace, etc.
CAVEATS
Running proton outside Steam requires setting STEAM_COMPAT_CLIENT_INSTALL_PATH and STEAM_COMPAT_DATA_PATH. Not all Windows software runs successfully — consult ProtonDB for compatibility reports. Games with kernel-level anti-cheat frequently refuse to run under Proton.
HISTORY
Proton was announced by Valve in August 2018 as part of the Steam Play initiative, in collaboration with CodeWeavers and the DXVK author Philip Rebohle. Proton Experimental and Proton-GE (community fork) continue to receive frequent updates.
SEE ALSO
wine(1), steam(1), lutris(1), winetricks(1)
