protonutils is a CLI tool that provides different utilities to make using the Proton compatibility tool more easily. It has the following features:
- List games by configured Proton version
- Download latest and older Proton-GE releases
- Download latest and older Luxtorpeda releases
- Clean-up unused compatibility tools automatically
- Search for app ID of game in your library by name
- Print or open compatdata and install directories by game name
(handy of you want to mess with savegames or mods, for example) - Update assigned compatibility tool for one or more games
- Clean-up unused
compatdata
directories
- Latest version (Linux x86_64)
Make sure, the downloaded binary is executable (e.g. by running chmod +x protonutils
).
There is a package in the AUR.
yay -S protonutils
Minimal Go version is 1.18.
This step is only necessary if aforementioned binary does not suit your needs for some reason. Install Go, make sure $GOPATH
is set correctly, then run...
go install github.com/nning/protonutils/cmd/protonutils@latest
protonutils
$ protonutils list
Proton-6.21-GE-2
Cyberpunk 2077
DEATHLOOP
Dishonored 2
Frostpunk
Horizon Zero Dawn
Iron Harvest
Kena - Bridge of Spirits [SHORTCUT]
Proton 6.3-8 (Default)
Age of Empires II: Definitive Edition
Fallout 4
Grand Theft Auto V
It Takes Two
Metro Exodus
Shadow Tactics: Blades of the Shogun
The Witcher 3: Wild Hunt
proton_experimental
Mass Effect™ Legendary Edition
Red Dead Redemption 2
The two outputs are just examples for two prominent commands, see full usage
documentation by running protonutils -h
on your machine (or man protonutils
on Arch Linux if you installed from the AUR).
$ protonutils list -h
List games by runtime
Usage:
protonutils list [flags]
Flags:
-a, --all List both installed and non-installed games
-h, --help help for list
-c, --ignore-cache Ignore app ID/name cache
-j, --json Output JSON (implies -a and -i)
-i, --show-id Show app ID
-u, --user string Steam user name (or SteamID3)
$ protonutils ge update -h
Download and extract the latest Proton-GE release
Usage:
protonutils ge update [flags]
Flags:
-f, --force Force last version update
-h, --help help for update
-k, --keep Keep downloaded archive of last version
$ protonutils compattool migrate -h
Migrate compatibility tool version mappings from on version to another. Version parameters have to be version IDs. See `compattool list` for list of possible options.
Usage:
protonutils compattool migrate [flags] <fromVersion> <toVersion>
Flags:
-h, --help help for migrate
-r, --remove Remove fromVersion after migration
-y, --yes Do not ask
$ protonutils compattool migrate Proton-6.21-GE-2 Proton-7.0rc2-GE-1
Proton-6.21-GE-2 -> Proton-7.0rc2-GE-1
* Cyberpunk 2077
* DEATHLOOP
* Horizon Zero Dawn
Really update? [y/N]
$ protonutils compatdata clean
Calculating unused compatdata directory sizes...
19 B Fallout 4
Total size: 19 B
WARNING: Backup save game data for games without Steam Cloud support!
Do you want to delete compatdata directories? [y/N]
uid
can be a Steam user name or a SteamID3.
$ protonutils config user <uid>
$ protonutils config steam_root ~/.var/app/com.valvesoftware.Steam/data/Steam
$ protonutils config steam_root ""