GE-Proton is a tarball. Installing it means extracting that tarball into a directory where Steam will look for it. There is no build step, no installer, no package to register.
Which makes ProtonUp-Qt an odd thing to recommend, because the job it does is tar. I recommend it anyway, and the reason is worth more than the tutorial.
The manual version, so you can see the size of the problem
Download a release from the GE-Proton repo, then:
tar -xf GE-Proton*.tar.gz -C ~/.steam/steam/compatibilitytools.d/ Create that directory first if it does not exist. Restart Steam. The version now appears in the compatibility tool dropdown.
That is the entire installation. One command.
Now the same thing for Flatpak Steam:
tar -xf GE-Proton*.tar.gz -C ~/.var/app/com.valvesoftware.Steam/data/Steam/compatibilitytools.d/ Still one command. Different path.
The problem is combinatorial, not difficult
Steam alone has two target directories depending on how it was installed. Bottles keeps its runners somewhere else entirely, and also splits by native versus Flatpak. Lutris has its own location. Heroic has another.
None of those paths are hard. There are just a lot of them, they are all long, they are all invisible, and you will get one wrong at some point and spend twenty minutes wondering why the dropdown is empty.
On top of that, you need to know which GE-Proton versions exist. The release tags are not sequential with Valve's Proton numbering, ProtonDB reports often name a specific build, and figuring out whether GE-Proton10-27 is current means opening a browser.
ProtonUp-Qt is a dropdown of install targets, a dropdown of available versions, and a button. It is not solving a hard problem. It is removing a class of small stupid errors, which is a perfectly good reason for a tool to exist.
yay -S protonup-qt # or flatpak install flathub net.davidotek.pupgui2 The AUR build integrates with your system packages. The Flatpak runs sandboxed and updates on its own schedule. If you install the Flatpak and run native Steam, that is the combination most likely to need a filesystem permission check, so keep Flatseal handy.
The one gotcha that will actually bite you
Close Steam completely before installing anything. Not minimised to tray. Closed.
Steam scans compatibilitytools.d when it starts and writes its own config when it exits. Drop files in while it is running and you get one of two outcomes: Steam never notices the new tool, or it overwrites its config on quit and the registration vanishes. Either way the dropdown stays empty and nothing tells you why.
This is the single most common failure with ProtonUp-Qt and it is not the tool's fault. It is a consequence of Steam treating that directory as a startup-time read.
Bottles has no equivalent problem. It reads its runners directory when you open the components list.
The flow, compressed
For Steam: open ProtonUp-Qt, Steam is usually preselected, click Add version, pick GE-Proton as the compatibility tool, pick a version, install.
For Bottles: select Bottles in the same dropdown, Add Version, choose ProtonGE from the Compatibility list, pick a version, install. Takes a few minutes.
Then point a game at it. Steam: right-click the game, Properties, Compatibility, tick Force the use of a specific Steam Play compatibility tool, choose your GE-Proton build. Bottles: open the bottle, Settings, Components, pick the runner from the dropdown and accept the Proton disclaimer.
Note that ProtonUp-Qt manages each target separately. Installing GE-Proton for Steam does not make it available in Bottles. Two installs, one tool.
What GE-Proton is not
It is not a free frame rate boost, and it gets recommended as though it were.
GE-Proton is Valve's Proton plus patches: fixes for specific games that are broken on stock Proton, media codecs so cutscenes play instead of showing a black screen, and upscaling work that lands ahead of upstream. The value is categorical, not incremental. A game either needs one of those patches or it does not.
So the honest usage pattern is reactive. Run stock Proton first. When a game refuses to launch, crashes at a cutscene, or shows a known issue on ProtonDB with a specific GE build named in the reports, install that build and force it for that one game. Switching your whole library to GE-Proton by default buys you nothing and costs you Valve's own testing.
In my case Red Dead Redemption 2 was the game that made this necessary. It would not run reliably on stock Proton and it did on GE-Proton. That is the shape of the problem this solves.
The full walkthrough with screenshots of every ProtonUp-Qt dialog, both install methods and a longer FAQ is on my site: ProtonUp-Qt and GE-Proton on Arch Linux.
It is part of a wider Linux gaming series: Steam and Proton, Bottles, Wine, CoreCtrl and MangoHud, and a year of gaming on both Linux and Windows. The Linux Gaming Roadmap indexes all of it.
If you keep a specific GE-Proton build pinned for a particular game, I would like to know which game and which build in the comments. That pairing is the most useful thing to share here and it is scattered across ProtonDB reports.
Originally published on MusaBase.