Auto update Proton GE on Linux (Glorious Eggroll version with latest fixes for games)
EDIT: Based largely on work by laedit (Jérémie Bertrand) https://laedit.net/2024/08/04/installing-and-updating-ge-proton-automatically.html
/EDIT

Run this bash script to automatically download the latest version of Proton GE. May work on Steam Deck, probably needs adjustments to at least the guide below.

Restart Steam to have it update the list of Protons that are available (since this Proton is externally added by you).

Paste this code into a file like proton-ge-update.bash , save. Run from terminal
bash proton-ge-update.bash

or
give the file executable permission for your user
chmod u+x proton-ge-update.bash
and run from the terminal
./proton-ge-update.bash

NB! I have not tested this for the Steam flatpak version, should work but not sure. The date of this post is May 13 2025 , this script may stop working in the future and need updating.

#!/bin/bash # Update GE Proton set -euo pipefail currentUser=$(whoami) githubReleaseUrl="https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases/latest" compatibilityToolsDir=compatibilitytools.d/ steamNativeDir=/home/$currentUser/.steam/root/ steamFlatpakDir=/home/$currentUser/.var/app/com.valvesoftware.Steam/data/Steam/ tmpDir=/tmp/proton-ge-custom if [ -d "$steamNativeDir" ]; then dir="$steamNativeDir$compatibilityToolsDir" elif [ -d "$steamFlatpakDir" ]; then dir="$steamFlatpakDir$compatibilityToolsDir" else echo "steam not installed or installation not supported" echo "folders searched:" echo "- $steamNativeDir$compatibilityToolsDir" echo "- $steamFlatpakDir$compatibilityToolsDir" exit 1 fi # make steam directory if it does not exist mkdir -p $dir latestRelease=$(curl -s $githubReleaseUrl) version=$(echo "$latestRelease" | grep tag_name | cut -d\" -f4) # check if version already installed if [ -d "$dir$version" ]; then echo "latest version $version already installed" exit 0 fi # make temp working directory mkdir $tmpDir cd $tmpDir echo "installing version $version" # download tarball curl -sLOJ "$(echo "$latestRelease" | grep browser_download_url | cut -d\" -f4 | grep .tar.gz)" # download checksum curl -sLOJ "$(echo "$latestRelease" | grep browser_download_url | cut -d\" -f4 | grep .sha512sum)" # check tarball with checksum sha512sum -c ./*.sha512sum # extract proton tarball to steam directory tar -xf GE-Proton*.tar.gz -C $dir # copy release notes echo -e "$(echo "$latestRelease" | grep body | cut -d\" -f4)" >> "$dir$version/release_note.txt" cd .. rm -r $tmpDir echo "version $version installed"
Last edited by CohenTheBlue; May 13 @ 3:37am