guide

Installing Proton packs on your Steam Deck

Almost every recipe names a Proton version in its [proton] block — usually GE-Proton, sometimes Proton Experimental or Proton-CachyOS. These are compatibility tools: custom builds of Proton (the Wine-based layer that runs Windows games on Linux) with extra fixes baked in. Your Deck ships with Valve's official Proton but not the community builds — here's how to add them once, in about five minutes.

What Proton actually does

Proton is a translation layer. Your Windows game never changes — Proton sits underneath it and turns its Windows and DirectX calls into things Linux and the Deck's GPU understand. Installing GE-Proton or CachyOS just swaps that middle layer for a better-tuned one — which is why a different build can fix a game the default can't.

Windows game the .exe, untouched
↔ you swap this layer Proton
Wine Windows calls → Linux
DXVK / VKD3D DirectX → Vulkan
Steam Deck SteamOS · Linux + Vulkan

What each one is

GE-Proton

The community workhorse from GloriousEggroll. Extra media codecs, updated DXVK/VKD3D, and game-specific patches. When a recipe says "GE-Proton", this is it.

Proton Experimental

Valve's bleeding-edge official build. Already on your Deck via Steam — no install needed (see the note at the bottom).

Proton-CachyOS

A performance-tuned community build. A few recipes prefer it — for example, for finicky FMV playback.

Every Proton type you'll see

The Compatibility dropdown mixes Valve's official builds, community builds, and a few non-Proton runtimes. Here's the full lineup:

NameSourceWhat it's for
Proton (e.g. 9.0) Valve The stable default. Use it when a recipe doesn't name a version.
Proton Experimental Valve Bleeding-edge fixes that land before they reach stable. Built into Steam.
Proton Hotfix Valve Occasional urgent patches for specific games; shows up only when relevant.
GE-Proton Community GloriousEggroll's build — extra codecs, newer DXVK/VKD3D, game patches. The usual recipe pick.
Proton-CachyOS Community Performance-tuned with recent toolchains; a good second try when GE struggles.
Proton-EM Community An "Experimental mainline" community rebase — bleeding edge, optional.
Proton-TKG Community Build-your-own Proton from source. Advanced; rarely needed on the Deck.
Luxtorpeda Runtime Not Proton — routes supported games to native open-source engines (no Wine).
Boxtron Runtime Not Proton — runs DOS games through native DOSBox instead.
Roberta Runtime Not Proton — runs classic ScummVM adventure games natively.

The last three appear in the same dropdown (ProtonUp-Qt installs them too) but aren't Proton — they swap in a native engine instead of translating Windows calls.

The easy way — ProtonUp-Qt

recommended

ProtonUp-Qt is a tiny app that downloads and installs any of these packs for you and keeps them updated. Use this route.

  1. Switch to Desktop Mode. Hold the STEAM button → PowerSwitch to Desktop (or hold the physical power button → Switch to Desktop).
  2. Open Discover — the blue shopping-bag "Software Center" icon in the taskbar. Search ProtonUp-Qt and click Install. It installs as the Flatpak net.davidotek.pupgui2.
  3. Launch ProtonUp-Qt. Leave it pointed at Steam at the top, then click Add version.
  4. Pick GE-Proton in the dropdown (the latest is selected by default) and click Install. Let the download finish.
  5. Repeat Add version for anything else you want — choose Proton-CachyOS and install it too. Then click Close.
  6. Fully restart Steam so it sees the new tools: choose Return to Gaming Mode (which restarts Steam for you), or right-click the Steam tray icon → Exit and reopen it.

tip

ProtonUp-Qt is also where you update or remove packs later — open it any time, install the newer GE-Proton, and delete versions you no longer need.

The manual way — no ProtonUp-Qt

Prefer not to install an app? Drop a build in by hand. In Desktop Mode open Konsole, copy the latest .tar.gz link from github.com/GloriousEggroll/proton-ge-custom/releases, then:

mkdir -p ~/.steam/steam/compatibilitytools.d
cd ~/.steam/steam/compatibilitytools.d
# paste the release URL you copied:
curl -L -O https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-ProtonX-XX/GE-ProtonX-XX.tar.gz
tar -xf GE-ProtonX-XX.tar.gz
rm GE-ProtonX-XX.tar.gz

Anything extracted into ~/.steam/steam/compatibilitytools.d/ shows up as a compatibility tool. Restart Steam afterwards. Manual installs don't auto-update — you'll repeat this for new versions, which is exactly the chore ProtonUp-Qt removes.

Picking a Proton version for a game

Once a pack is installed, point a specific game at it:

  1. In your Library, select the game — non-Steam shortcuts included.
  2. Open its Properties (the gear icon in Game Mode, or right-click → Properties on Desktop).
  3. Go to the Compatibility tab.
  4. Tick "Force the use of a specific Steam Play compatibility tool" and choose the version the recipe calls for — GE-Proton 9-x, Proton Experimental, or Proton-CachyOS.

That's the same [proton].version value each deckport recipe lists: install the pack here, then select it there.

A note on Proton Experimental

already installed

You don't install this one — it's a Valve tool delivered through Steam. If it isn't already in the compatibility list, enable Steam Play: Steam Settings → Compatibility → turn on "Enable Steam Play for all other titles". Steam fetches Proton Experimental on demand the first time a game uses it.

deckport only tells you which Proton build to use and how to configure the prefix — it never bundles Proton or game files. Proton is from Valve; GE-Proton and Proton-CachyOS are their respective open-source projects.