#proton #valve #wine #steam #distribution

bin+lib proton-call

Run any Windows program through Valve's Proton

5 stable releases

3.1.2 Mar 6, 2023
3.1.1 Dec 11, 2022
3.1.0 Apr 3, 2022
3.0.1 Dec 19, 2021
2.3.0 May 30, 2021

#326 in Science

MIT license

92KB
865 lines

Proton Caller logo Proton-Caller

Run any Windows program through Valve's Proton.

Packaging status

Usage

FAQ

Problem Reporting:

Please create an issue on the Github page which lists: system, kernel version, game, shell, and if it is or isn't a Steam game – provide how you had installed it and where it is installed. Additionally provide screenshots of the shell. Try many methods to get it to work and describe what you did in your issue.

Warning: if you are not using a release, use a release.

Usage:

Defaults to the latest version of Proton.

proton-call -r foo.exe

Defaults to the latest version of Proton, all extra arguments passed to the executable.

proton-call -r foo.exe --goes --to program

--goes --to program are passed to the proton / the program

Uses specified version of Proton, any extra arguments will be passed to the executable.

proton-call -p 5.13 -r foo.exe

Uses custom version of Proton, give the path to directory, not the Proton executable itself.

proton-call -c '/path/to/Proton version' -r foo.exe

Config:

Configuration files are extremely simple: ~/.config/proton.conf Set your own path to data (any empty directory), steam, (the directory steam is installed in), and optionally common (steam's common directory).

data = "/home/avery/Documents/Proton/env/"
steam = "/home/avery/.steam/steam/"

# optional
common = "/home/avery/.steam/steam/steamapps/common/"

Runtime:

Proton Caller 3.1.0 added support for Steam's runtimes and their options. Selecting a runtime can be done by using -R Soldier/Sniper/Default/BattleEye

On Proton versions 5 and newer, runtime Soldier is selected automatically

The runtime options can be selected using multiple -o

available options:

    log, // PROTON_LOG
    wined3d, // PROTON_USE_WINED3D
    nod3d11, // PROTON_NO_D3D11
    nod3d10, // PROTON_NO_D3D10
    noesync, // PROTON_NO_ESYNC
    nofsync, // PROTON_NO_FSYNC
    enablenvapi, // PROTON_ENABLE_NVAPI
}

More about these options can be found in Proton's manual.

Install:

Arch Linux:

proton-caller is available as a package in the AUR.

Debian-based Distributions:

Based on Debian 12+ or Ubuntu 22.04+:

sudo apt install proton-caller

Based on Ubuntu 20.04-21.10:

sudo add-apt-repository ppa:benthetechguy/proton-caller
sudo apt install proton-caller

Other:

A .deb file is available for download at the releases page.

RPM-based Distributions:

A .rpm file is available for download at the releases page. There is also a Copr repository available for Fedora 34+ users:

sudo dnf copr enable benthetechguy/proton-caller
sudo dnf install proton-caller

Other Linux:

An x86_64 Linux binary is available for download at the releases page.

Compile from source:

git clone https://github.com/caverym/proton-caller.git
cd proton-caller
cargo b --release --locked
sudo install -Dm 755 target/release/proton-call /usr/bin/proton-call 

Space Engine example:

Make a .desktop launcher. example file

[Desktop Entry]
Type=Application
Name=Space Engine
Comment=Space Engine
Exec=proton-call --run SpaceEngine.exe
Path=/home/avery/Documents/games/SpaceEngine/system
Terminal=false
StartupNotify=false

Credits

logo by Maro_Does_Art on twitter

Dependencies

~0.7–1.3MB
~31K SLoC