ScriptsJul 13, 2026·3 min read

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.

Agent ready

Ready-to-run agent install

This asset can be installed after the agent chooses its runtime, checks the plan, and runs the matching command.

Native · 98/100Policy: allow
Agent surface
Any MCP/CLI agent
Kind
Skill
Install
Single
Trust
Trust: Established
Entrypoint
Proton Overview
Direct install command
npx -y tokrepo@latest install 68021b0c-7eb7-11f1-9bc6-00163e2b0d79 --target codex

Run after dry-run confirms the install plan.

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

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets