Installation
PLEASE NOTE: There are prerequisites for using this version of proton:
- You must have the proper Vulkan drivers/packages installed on your system. VKD3D on AMD requires Mesa 22.0.0 or higher for the VK_KHR_dynamic_rendering extension. Check here for general driver installation guidance.
Native
This section is for those that use the native version of Steam.
- Download a release from the Releases page.
- Create a
~/.steam/steam/compatibilitytools.ddirectory if it does not exist. - Extract the release tarball into
~/.steam/steam/compatibilitytools.d/.tar -xf GE-Proton*.tar.gz -C ~/.steam/steam/compatibilitytools.d/
- Restart Steam.
- Enable proton-ge-custom.
Terminal example based on Latest Release
# make temp working directory
echo "Creating temporary working directory..."
rm -rf /tmp/proton-ge-custom
mkdir /tmp/proton-ge-custom
cd /tmp/proton-ge-custom
# download tarball
echo "Fetching tarball URL..."
tarball_url=$(curl -s https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases/latest | grep browser_download_url | cut -d\" -f4 | grep .tar.gz)
tarball_name=$(basename $tarball_url)
echo "Downloading tarball: $tarball_name..."
curl -# -L $tarball_url -o $tarball_name --no-progress-meter
# download checksum
echo "Fetching checksum URL..."
checksum_url=$(curl -s https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases/latest | grep browser_download_url | cut -d\" -f4 | grep .sha512sum)
checksum_name=$(basename $checksum_url)
echo "Downloading checksum: $checksum_name..."
curl -# -L $checksum_url -o $checksum_name --no-progress-meter
# check tarball with checksum
echo "Verifying tarball $tarball_name with checksum $checksum_name..."
sha512sum -c $checksum_name
# if result is ok, continue
# make steam directory if it does not exist
echo "Creating Steam directory if it does not exist..."
mkdir -p ~/.steam/steam/compatibilitytools.d
# extract proton tarball to steam directory
echo "Extracting $tarball_name to Steam directory..."
tar -xf $tarball_name -C ~/.steam/steam/compatibilitytools.d/
echo "All done :)"
The shell code above can be run as a script by pasting the commands in a file and adding the following to the top of the file:
#!/bin/bash
set -euo pipefail
Save the file and make the script runnable by adding the executable bit:
chmod +x file.sh
Native Via asdf, the version manager
There is an unofficial plugin for installing and managing ProtonGE versions
with asdf (the universal version manager), it follows
the same process as the manual installation but makes it a lot easier. Managing
versions by removing and updating to newer versions also becomes easier.
To install by it first install asdf,
and then proceed to add the ProtonGE plugin and install the version you want.
asdf plugin add protonge
# Or install a version from a tag (Eg.: GE-Proton8-25)
asdf install protonge latest
It's also possible to use the asdf plugin in Flatpak installations, by
customizing the target compatibilitytools.d path. For more settings check the
plugin's official documentation
After every install you need to restart Steam, and enable proton-ge-custom.
Flatpak
This section is for those that use the Steam flatpak.
Flatpak Manual
- Download a release from the Releases page.
- Create a
~/.var/app/com.valvesoftware.Steam/data/Steam/compatibilitytools.d/directory if it does not exist. - Extract the release tarball into
~/.var/app/com.valvesoftware.Steam/data/Steam/compatibilitytools.d/.tar -xf GE-ProtonVERSION.tar.gz -C ~/.var/app/com.valvesoftware.Steam/data/Steam/compatibilitytools.d/
- Restart Steam.
- Enable proton-ge-custom.
Flatpak Terminal example based on Latest Release
# make temp working directory
echo "Creating temporary working directory..."
rm -rf /tmp/proton-ge-custom
mkdir /tmp/proton-ge-custom
cd /tmp/proton-ge-custom
# download tarball
echo "Fetching tarball URL..."
tarball_url=$(curl -s https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases/latest | grep browser_download_url | cut -d\" -f4 | grep .tar.gz)
tarball_name=$(basename $tarball_url)
echo "Downloading tarball: $tarball_name..."
curl -# -L $tarball_url -o $tarball_name --no-progress-meter
# download checksum
echo "Fetching checksum URL..."
checksum_url=$(curl -s https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases/latest | grep browser_download_url | cut -d\" -f4 | grep .sha512sum)
checksum_name=$(basename $checksum_url)
echo "Downloading checksum: $checksum_name..."
curl -# -L $checksum_url -o $checksum_name --no-progress-meter
# check tarball with checksum
echo "Verifying tarball $tarball_name with checksum $checksum_name..."
sha512sum -c $checksum_name
# if result is ok, continue
# make steam directory if it does not exist
echo "Creating Steam directory if it does not exist..."
mkdir -p ~/.var/app/com.valvesoftware.Steam/data/Steam/compatibilitytools.d
# extract proton tarball to steam directory
echo "Extracting $tarball_name to Steam directory..."
tar -xf $tarball_name -C ~/.var/app/com.valvesoftware.Steam/data/Steam/compatibilitytools.d/
echo "All done :)"
Flathub
The unofficial build provided by Flathub isn't supported by GloriousEggroll nor Valve and wasn't tested with all possible games and cases. It can behave differently from upstream builds. Use at your own risk.
Snap
This section is for those that use the Steam snap.
This unofficial build isn't supported by GloriousEggroll nor Valve and wasn't tested with all possible games and cases. It can behave differently from upstream builds. Use at your own risk.
Snap Manual
- Download a release from the Releases page.
- Create a
~/snap/steam/common/.steam/steam/compatibilitytools.d/directory if it does not exist. - Extract the release tarball into
~/snap/steam/common/.steam/steam/compatibilitytools.d/.tar -xf GE-ProtonVERSION.tar.gz -C ~/snap/steam/common/.steam/steam/compatibilitytools.d/
- Restart Steam.
- Enable proton-ge-custom.
Enabling
- Right click any game in Steam and click
Properties. - At the bottom of the
Compatibilitytab, CheckForce the use of a specific Steam Play compatibility tool, then select the desired Proton version. - Launch the game.