# Proton — Run Windows Games on Linux via Steam Play > Valve's compatibility layer based on Wine, DXVK, and vkd3d-proton that lets Steam Play run thousands of Windows-only games on Linux without modification. ## Install Save as a script file and run: # Proton — Run Windows Games on Linux via Steam Play ## Quick Use ```bash # Enable Steam Play for all titles in Steam settings: # Steam → Settings → Compatibility → Enable Steam Play for all titles # Select "Proton Experimental" or a numbered version # Then install and launch any Windows game from your library ``` ## Introduction Proton is Valve's open-source compatibility tool that allows Windows games to run on Linux through Steam Play. It bundles a customised build of Wine with graphics translation layers (DXVK for Direct3D 9-11, vkd3d-proton for Direct3D 12), media codecs, and other patches that together provide near-native gaming performance. ## What Proton Does - Translates Windows system calls to Linux equivalents via a patched Wine build - Converts Direct3D 9/10/11 calls to Vulkan through the bundled DXVK layer - Converts Direct3D 12 calls to Vulkan through the bundled vkd3d-proton layer - Integrates with Steam's runtime container for consistent library availability - Provides per-game prefix isolation so each title gets its own Windows-like environment ## Architecture Overview Proton wraps Wine in a Steam-aware launcher script that sets up a game-specific prefix, configures environment variables, and loads translation layers. DXVK and vkd3d-proton run as drop-in DLLs inside the Wine prefix, intercepting Direct3D calls and emitting Vulkan commands. Valve maintains a continuous integration pipeline that builds Proton against the latest Wine, DXVK, and vkd3d-proton sources. ## Self-Hosting & Configuration - Install Steam on your Linux distribution and enable Steam Play in settings - Choose between Proton Experimental (latest) and numbered releases (more stable) - Use `PROTON_LOG=1` to generate debug logs for troubleshooting - Override Proton versions per game via right-click → Properties → Compatibility - Community builds like GE-Proton add extra patches for specific titles ## Key Features - Thousands of Windows games run out of the box on Linux with zero configuration - Vulkan-based translation delivers performance close to native Windows - Automatic Steam Runtime containerisation avoids host library conflicts - Prefix management is handled transparently by Steam - Anti-cheat support through collaboration with EasyAntiCheat and BattlEye ## Comparison with Similar Tools - **Wine** — general-purpose Windows compatibility; Proton adds gaming-specific layers and Steam integration - **Lutris** — game manager that can use Wine or Proton; Proton is the engine, Lutris the frontend - **CrossOver** — commercial Wine distribution by CodeWeavers; Proton is free and Steam-focused - **Bottles** — Wine prefix manager with a GUI; Proton is embedded in Steam's workflow - **Box64/FEX** — CPU translation for ARM; Proton focuses on x86-64 graphics translation ## FAQ **Q: Do all Windows games work?** A: Not all. Check ProtonDB (protondb.com) for community compatibility reports per title. **Q: Does Proton affect performance?** A: Overhead varies by title. Many games run within 5-10% of native Windows performance; some match or exceed it. **Q: Can I use Proton outside Steam?** A: Proton is tightly integrated with Steam. For non-Steam games, consider Wine with DXVK directly, or use Lutris. **Q: How do I report a bug?** A: File an issue on the Proton GitHub repository with your system info and game title. ## Sources - https://github.com/ValveSoftware/Proton - https://www.protondb.com --- Source: https://tokrepo.com/en/workflows/asset-68021b0c Author: Script Depot