Steam Deck: Proton Per-Game Overrides — Proton GE, Force-Specific Versions, Common Fixes (2026)
The deep dive on Steam Deck Proton that goes past the badges — install Proton GE via ProtonUp-Qt, force a specific Proton version per game, real examples (Batman: Arkham Knight, FFXIV, Warframe), and the Visual C++ runtime fix.
This is the deep dive on Steam Deck Proton that the first-time setup guide only touches in §8 — Proton versions, Proton GE, per-game overrides, launch options, the Visual C++ runtime trick that fixes most launch crashes, and three worked examples from real popular games.
By the time you finish this, you should be able to take any unverified game, walk the ProtonDB decision tree, and end up with a working launch — usually without leaving Game Mode.
Why per-game Proton overrides exist
Proton (Valve’s Wine-based Windows→Linux translator) auto-handles most games. A non-trivial minority don’t, for one of four reasons:
- (a) A specific Proton build behaves differently — newer isn’t always better, and a game that worked on Proton 7 may break on Proton 9.
- (b) A community patch that only exists in Proton GE (GloriousEggroll’s fork). Mainline Proton doesn’t ship these.
- (c) Launch-option environment variables that change how the game’s prefix behaves — most often to disable a feature that breaks under translation.
- (d) Windows-only runtimes — Visual C++ redistributables, .NET, XNA. These ship in Windows by default but Proton prefixes don’t auto-install them. This is the #1 cause of “crashes on launch”.
The Steam Deck Verified badge tells you (a) works. It does not cover (b)–(d). That’s what this guide is for.
1. The Proton version landscape in 2026
| Branch | Who maintains | Release cadence | When to try |
|---|---|---|---|
| Proton Experimental | Valve | Auto-updating, ~daily | First thing for unverified games; free and rolls forward |
| Proton 9.0-x | Valve | Stable, ~monthly | Default when Experimental breaks |
| Proton 8.0-x | Valve | Stable, kept for legacy | Pin here if 9.0-x regressed your game |
| Proton GE (GloriousEggroll) | Community (github.com/GloriousEggroll/proton-ge-custom) | Weekly to biweekly | When mainline fails; biggest patch library |
Proton GE is not official — it’s a community fork that backports community fixes. Many games that fail on every official Proton will run on the latest Proton GE. When in doubt, try Proton GE before you give up.
2. Reading ProtonDB before you change anything
ProtonDB is the community compatibility tracker. The badge on Steam tells you Valve’s pick; the ProtonDB tier tells you the community’s lived experience.
| Badge | Meaning |
|---|---|
| Native | Linux build — no Proton needed at all |
| Platinum | Launches and runs perfectly out of the box |
| Gold | Runs well with minor tweaking |
| Silver | Runs with substantial tweaking or occasional issues |
| Bronze | Runs but has major issues — usually not worth the effort |
| Borked | Does not run at all on Linux / Proton |
2.1 Spotting a real fix vs. a placebo
A good ProtonDB report has four things:
- Recent timestamp — within the last 90 days. Older reports ride outdated Proton versions.
- Confirmed by 5+ users with similar setups. Sort by “recent reports” to filter the noise.
- The exact Proton version or launch option spelled out. “Set the Proton version” is useless; “Use Proton 9.0-2 +
PROTON_USE_WINED3D=11” is gold. - Logs or screenshots — bonus signal that the author actually tried it.
2.2 When ProtonDB does NOT help
- Kernel-level anti-cheat that the developer hasn’t opted into Proton support. These games run on Deck but multiplayer doesn’t connect. See §7.
- Games that simply don’t have a Linux port and aren’t in ProtonDB’s catalog at all — increasingly rare in 2026.
3. Forcing a specific Proton version per game
Click-by-click:
- Library → right-click the game → Properties.
- In the Compatibility tab, tick “Force the use of a specific Steam Play compatibility tool”.
- The dropdown now lists every Proton and Proton GE build on your system.
- Pick one. Launch as normal.
Per-game override always beats the Steam-wide default. Use per-game overrides for games that need a specific Proton, and leave the system default alone.
3.1 The flow when an unverified game doesn’t launch
- Proton Experimental first — it’s free and rolls forward; if this works, ship it.
- Latest stable Proton (9.0-x) if Experimental is broken on something else — sometimes Experimental has a regression.
- Latest Proton GE if mainline fails.
- Older Proton (8.0-x) for games released around 2020–2022 that broke when mainline updated.
- ProtonDB as the tiebreaker — search the game; if a known-good version is spelled out, start there.
3.2 Pin your version before patch days
Multiplayer games often break when the developer ships a patch that requires a newer Proton. Pin to a known-working Proton before a major patch, and you’ll save yourself a Wednesday night of frustration.
Proton Experimental auto-updates silently — your game can break overnight. If a game matters to you, pin to a stable build (Proton 9.0-x or a specific Proton GE) and only switch when you have time to deal with breakage.
4. Installing Proton GE via ProtonUp-Qt
The only sanctioned way to install Proton GE on Steam Deck goes through Desktop Mode:
- Switch to desktop mode: Steam → Power → Switch to Desktop (or hold the power button → “Switch to Desktop”).
- Open Konsole (terminal; usually a black icon in the taskbar at the bottom of the desktop).
- Make sure your system is up to date:
sudo steamos-readonly disable && sudo pacman -Syuthensudo steamos-readonly enable. - Open Discover (the KDE Plasma app store; looks like a shopping bag in the taskbar).
- Search for “ProtonUp-Qt” and install it.
- Launch ProtonUp-Qt → click “Add version” → choose Proton GE → pick the latest release → Install. The build is ~500 MB.
ProtonUp-Qt registers the new build with Steam. Restart Steam (Steam menu → “Restart Steam”) and the new build appears in the per-game Compatibility dropdown.
4.1 Updating Proton GE
Re-open ProtonUp-Qt weekly. A banner at the top shows “Latest release available”. Click Install — it overlays the previous build. Restart Steam to use it.
4.2 Rolling back Proton GE
ProtonUp-Qt keeps the last two versions. If a new Proton GE breaks a game, pick the previous one from the dropdown. Each version is independent — you can run a hot new build for one game and pin to last month’s stable build for another.
Proton GE ships faster patches than Valve accepts, but a regression can land just as fast. Pin to a known-good build before each big gaming session — don't leave "latest" on autopilot.
5. Launch options: the command-line override layer
In Properties → General, the bottom box is Launch Options. Anything you type here prepends to the game launch command. Always end with %command% — that’s the placeholder for the game’s actual exe.
5.1 The env vars that actually matter
| Env var | What it does | When to try |
|---|---|---|
PROTON_NO_ESYNC=1 | Disables eventfd synchronization | Legacy 2015–2018 games; rare in 2026 |
PROTON_USE_WINED3D=11 | Forces OpenGL-based D3D11 fallback (DXVK/VKD3D off) | When DXVK crashes; image quality is much worse |
PROTON_FORCE_LARGE_ADDRESS_AWARE=1 | Exposes 4 GB to 32-bit games | Old 32-bit-only titles |
RADV_PERFTEST=gpl | Mesa driver shader workaround | Specific Vulkan shader bugs |
WINE_FULLSCREEN_FSR=1 | Enables AMD FSR upscaling in older games | Performance boost on legacy builds |
5.2 Setting an env var in launch options
Format is one per line, and end the whole thing with %command%. For example:
PROTON_NO_ESYNC=1 %command%
For multiple vars, separate with spaces:
PROTON_USE_WINED3D=11 PROTON_NO_ESYNC=1 %command%
5.3 What env vars DON’T do
They can’t install DLLs. They can’t rebuild shaders. If the game wants a specific DLL that doesn’t exist in the prefix, you need Protontricks (§6).
It only helps on games that predate FSR support. Adding it to a game that already supports FSR can double-up the upscaling and turn the picture to mush. One game at a time; test before keeping.
6. The Visual C++ runtime install (the #1 launch-crash fix)
When a Windows game launches, the Windows runtime ships a folder of DLLs in System32/. Proton prefixes don’t auto-install these. Result: game crashes on launch with a “missing DLL” error or just a white screen.
The fix is protontricks: a GUI wrapper around winetricks for Proton prefixes. Install it via Discover (same as ProtonUp-Qt), then in Konsole:
protontricks <appid> vcrun2022
<appid> is the Steam App ID — find it in Properties → Updates → App ID.
For older games, also try:
protontricks <appid> dotnet48— older .NET frameworksprotontricks <appid> xna40— early-2010s XNA-based indiesprotontricks <appid> d3dx9— old DirectX 9 redistributableprotontricks <appid> physx— Age of Empires / older Ubisoft games
A single protontricks <appid> vcrun2022 fixes about 60% of unverified-game launch crashes. Try it first; it costs 30 seconds.
When a game launches to a black screen, a crash dialog, or silently closes, run protontricks <appid> vcrun2022 before doing anything else. It fixes most "missing DLL" launches on Proton prefixes.
7. Anti-cheat and online multiplayer: the hard wall
Some games run perfectly on Deck in single-player but their online multiplayer requires anti-cheat that doesn’t work on Linux. This is the table to check before you buy a competitive multiplayer game:
| Game | Online play on Deck? | Notes |
|---|---|---|
| Helldivers 2 | ✅ Yes | Sony lifted the Steam Deck ban in 2024 |
| Marvel Rivals | ✅ Yes | Steam Deck Verified |
| Apex Legends | ✅ Yes | EAC permissive mode |
| Path of Exile 2 | ✅ Yes | Verified |
| Counter-Strike 2 | ✅ Yes | VAC runs on Linux via Proton |
| Destiny 2 | ❌ No | Bungie banned Deck explicitly in 2024; offline-only |
| Fortnite | ❌ No | EAC kernel mode |
| Valorant | ❌ No | Vanguard kernel anti-cheat |
| GTA Online | ❌ No | Rockstar blocks Deck; story mode works |
| Rainbow Six Siege | ⚠️ Mixed | EAC works sometimes; check ProtonDB |
This list shifts frequently — game studios turn anti-cheat support on and off. Always check ProtonDB before you buy, especially for competitive multiplayer.
A game that supports Linux today may break its support in a future patch, and vice versa. The ProtonDB recent-reports filter is the most reliable source — official announcements often lag reality by months.
8. Worked examples — three real popular games
8.1 Batman: Arkham Knight
Famously the most broken PC port of its era. On Deck:
- Force Proton GE (latest) via Properties → Compatibility.
- In Launch Options:
PROTON_USE_WINED3D=11 %command%(DXVK struggles with this title). - Disable Steam Overlay in Properties → General.
- Expected: 30–40 fps on OLED, FSR Quality at 800p. The game is CPU-heavy enough that TDP matters — see ROG Ally X20 TDP tuning if you want to grind it lower.
8.2 Final Fantasy XIV
FFXIV works on Deck but takes setup:
- Install XIVLauncher in Desktop Mode. The launcher is the community wrapper that lets FFXIV run outside of the official Square Enix launcher. Download from
https://xivlauncher.net/. - In Steam launch options:
WINEDLLOVERRIDES="d3d11=n,b" %command% - Launch via XIVLauncher, log in, enable FSR in the in-game settings.
- Pin Proton to Proton 9.0-x (Experimental sometimes trips on the launcher).
8.3 Warframe
Warframe has a long history of breaking and unbreaking on Proton. As of mid-2026:
- Force Proton GE latest. Mainline Proton often hits a “white screen on launch”.
- If login blank: add
PROTON_NO_ESYNC=1to launch options. - Verify
game.prefis writable — the Warframe prefix sometimes sets it read-only after a Steam restart.
9. The ProtonDB workflow (recap)
The whole decision tree in one numbered list:
- Search protondb.com for the game.
- Read the top 3 highest-rated recent reports. Sort by “Most helpful” then “Recent”.
- Try the exact Proton version the report used. Force it via Properties → Compatibility.
- Try the launch options spelled out in the report.
- If the report mentions a redistributable (vcredist, dotnet), run
protontricks <appid> vcrun2022. - If still broken, search the report comments for a fix or post your own question on r/SteamDeck with logs from
~/.steam/steam/steamapps/compatdata/<appid>/.
The longest part of this list is step 1. Steps 2–5 take under 5 minutes for most games.
10. Common gotchas
“My game worked yesterday, broke today”
Proton Experimental auto-updated. Either pin to a stable Proton or pick a specific Proton GE build. Pin your Proton version before patch days if you value not being surprised.
“Game launches but no sound”
Usually PulseAudio/PipeWire routing. In Desktop Mode, open pavucontrol (install from Discover if missing), then launch the game and set its audio output to “Built-in Audio”.
“Controller inputs ignored”
Steam Input may not be enabled for the game. Properties → Controller → set to “Enable Steam Input”. Some games need the “Gamepad with Native Trackpad” preset.
“Frame-rate stuck at 30”
Often a launcher-set FPS cap. Force via Quick Access (•••) → Performance tab → set FPS cap to 40. See the per-game TDP tuning guide for matching TDP to the new cap.
What’s next
- Steam Deck: Complete First-Time Setup — start here; §8 of that guide is the Proton intro, this guide is the deep dive.
- ROG Ally X20: Per-Game TDP Tuning — once Proton is sorted, the TDP / FPS side of per-game tuning on Windows handhelds.
- PSP in 2026: Setup, Storage, Battery Guide — the retro path if Proton troubleshooting gets tiresome.
Send us feedback
Found something wrong, missing info, or have a tip? Let us know — we read every message.