https://github.com/pebeto/proton-ge-manager
A painless proton-ge installation for Steam Deck/Linux.
https://github.com/pebeto/proton-ge-manager
proton protonge steam steamdeck
Last synced: 17 days ago
JSON representation
A painless proton-ge installation for Steam Deck/Linux.
- Host: GitHub
- URL: https://github.com/pebeto/proton-ge-manager
- Owner: pebeto
- License: mit
- Created: 2024-12-30T04:44:20.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-06-15T23:08:57.000Z (23 days ago)
- Last Synced: 2026-06-15T23:11:18.832Z (23 days ago)
- Topics: proton, protonge, steam, steamdeck
- Language: Shell
- Homepage:
- Size: 86.9 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# proton-ge-manager
A small script to download, install, and remove Proton-GE releases on your system.
> [!NOTE]
> This utility is only compatible with Proton-GE releases from GloriousEggroll's GitHub
> repository, and with the standard directory structure used by Steam across different
> platforms (Steam Deck, Native installation, Flatpak, and Snap).

## Features
- Progress bars for downloads and extractions
- Color-coded output (on terminals that support it; honors `NO_COLOR`)
- Automatic download resume for interrupted transfers
- SHA-512 checksum verification before extraction
- Backup creation before purge operations
- Clear error messages with suggested fixes
- Shell completion for bash and zsh
## Quick start
> [!NOTE]
> These commands fetch the script from a small API that always serves the latest
> version. You can read the endpoint source [here](https://github.com/pebeto/pebeto.github.io/blob/master/app/api/pgm/%5Btype%5D/route.tsx).
### Install the latest Proton-GE
Run the line for your platform:
- Steam Deck
```bash
sh -c "$(curl -fsSL https://pebeto.github.io/api/pgm/steamdeck) -l"
```
- Steam (Native)
```bash
sh -c "$(curl -fsSL https://pebeto.github.io/api/pgm/native) -l"
```
- Steam (Flatpak)
```bash
sh -c "$(curl -fsSL https://pebeto.github.io/api/pgm/flatpak) -l"
```
- Steam (Snap)
```bash
sh -c "$(curl -fsSL https://pebeto.github.io/api/pgm/snap) -l"
```
Once it finishes, restart Steam, right-click a game, open **Properties → Compatibility**, and pick the new Proton-GE version from the dropdown. On Steam Deck, switch back to Gaming Mode to apply the change.
### Install the manager (for repeat use)
The command above downloads the script, runs it once, and discards it. To manage versions over time, save it to your `PATH` instead. Replace `native` with your platform (`steamdeck`, `native`, `flatpak`, or `snap`):
```bash
curl -fsSL --create-dirs https://pebeto.github.io/api/pgm/native -o ~/.local/bin/proton-ge-manager
chmod +x ~/.local/bin/proton-ge-manager
~/.local/bin/proton-ge-manager -l
```
`--create-dirs` lets `curl` create `~/.local/bin` when it's missing; Steam Deck has no such directory by default. If `~/.local/bin` is not on your `PATH`, add it or choose another directory that is; once it's there, you can run `proton-ge-manager` without the full path.
## Commands
- `-i, --install `: Install a specific Proton-GE version (e.g., `./proton-ge-manager.sh -i 9-10`). Skips download if already installed; use `-f` to force reinstall.
- `-l, --latest`: Install the latest Proton-GE version automatically.
- `-L, --list`: List installed Proton-GE versions.
- `-s, --status`: Show detailed status including version, location, size, and file count.
- `-r, --remove `: Remove a specific Proton-GE version.
- `-p, --purge`: Remove ALL installed Proton-GE versions. Offers backup option before deletion.
- `-I, --interactive`: Launch interactive setup wizard for guided installation.
- `-f, --force`: Force reinstallation even if version is present.
- `-y, --yes`: Skip all confirmation prompts.
- `-h, --help`: Display this help message.
Run `./proton-ge-manager.sh -h` to print this list at any time.
## Examples
Create a backup before purging everything:
```bash
./proton-ge-manager.sh -p
# answer "y" to purge, then "y" to create the backup
```
Reinstall a version you already have:
```bash
./proton-ge-manager.sh -i 9-19 -f
```
Install the latest version without any prompts:
```bash
./proton-ge-manager.sh -l -y
```
## Configuration
Set these environment variables before running the script:
- `COMPATIBILITYTOOLS_DIR`: Override the default Steam compatibility tools directory
- `NO_COLOR`: Set to any value to disable color output
Example:
```bash
COMPATIBILITYTOOLS_DIR=/custom/path ./proton-ge-manager.sh -l
```
## Shell completion
The completion scripts ship in this repository, so clone it first:
```bash
git clone https://github.com/pebeto/proton-ge-manager.git
```
Then source the script for your shell.
### Bash
Add to your `~/.bashrc`:
```bash
source /path/to/proton-ge-manager/scripts/proton-ge-manager-completion.bash
```
### Zsh
Add to your `~/.zshrc`:
```zsh
source /path/to/proton-ge-manager/scripts/proton-ge-manager-completion.zsh
```
Reload with `source ~/.bashrc` or `source ~/.zshrc` to enable completion.
## Troubleshooting
**Steam path not found**:
```
Steam compatibility tools directory not found at: /path/to/dir
```
- Ensure Steam is installed
- Launch Steam at least once
- Check your Steam installation path
**Download failed**:
```
Error: failed to download Proton-GE X-Y
```
- Check your internet connection
- Try again later (GitHub may be rate limiting)
- Downloads resume automatically if interrupted
**Checksum mismatch**:
```
Error: checksum mismatch
```
- The download may be corrupted
- Try downloading again
- Ensure you have enough disk space
**Invalid version format**:
```
Error: invalid version format: invalid
```
- Use format like `9-19` or `10-0`
- Check available versions on [GloriousEggroll's GitHub](https://github.com/GloriousEggroll/proton-ge-custom/releases)