Skip to main content

Simple Proton version and prefix management.

Project description

protonenv

License Python Steam Proton

Simple Proton version and prefix management.

A simple tool to manage different Proton versions and prefixes through the command line. The interface is designed to be similar to virtualenv management tools for ease-of-use. This tool is geared for those who want to run Windows programs easily without bloating their system with Wine and its dependencies. Although Proton is usable from the Steam client, it's not convenient to use for most scenarios, especially when installations are required.

Requirements

  • Python >= 3.6
  • Steam

Installation

PyPI (recommended)

pip install protonenv

GitHub

Non-editable

pip install --upgrade git+https://github.com/rizkiarm/protonenv.git

You can upgrade the package by re-running the above command.

Editable

This option is recommended for development.

In the folder of your choosing, run the following command:

git clone https://github.com/rizkiarm/protonenv.git
cd protonenv/
pip install -e .

You can upgrade the package by running git pull from the protonenv folder.

Usage

Basic commands

protonenv versions
protonenv install {<version>,--list}
protonenv uninstall {<version>,<prefix>}
protonenv prefix <version> <prefix>
protonenv run <prefix> [command]

Managing a prefix

protonenv default <prefix> --command <command> --flags <KEY1=VALUE1> [KEY2=VALUE2] ...
protonenv info <prefix>
protonenv directory <prefix> [--open]

The available flags (runtime config options) can be obtained from: https://github.com/ValveSoftware/Proton#runtime-config-options

More info

protonenv -h
protonenv -h {versions,install,uninstall,prefix,default,info,directory,run}

Examples

Basic example

Install Proton 5.0

protonenv install 5.0 

An example of installing and running INSIDE:

# Create a new prefix called "inside"
protonenv prefix 5.0 inside 
# Run INSIDE's installer "Setup.exe" with prefix "inside"
protonenv run inside /path/to/INSIDE/Setup.exe
# Get the directory of drive C for prefix "inside"
DRIVE_C_DIR=$(protonenv directory inside | tail -1)
# Run INSIDE
PROTON_USE_WINED3D=1 protonenv run inside $DRIVE_C_DIR/path/to/INSIDE.exe

You can also set the flags and command as default for prefix "inside":

# Configure the default command and use wined3d environment variable by default
protonenv default inside --command $DRIVE_C_DIR/path/to/INSIDE.exe
protonenv default inside --flags PROTON_USE_WINED3D=1 
# Run INSIDE
protonenv run inside

Directly running a program

An example of running program.exe with Proton 5.0

protonenv run 5.0 /path/to/program.exe

This command will execute the program in a temporary prefix with the specified Proton version. This is ideal for a situation where you want to test a program or you simply don't want to retain the program configuration/files.

Uninstallation

pip uninstall protonenv
rm -rf ~/.protonenv

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

protonenv-0.1.1.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

protonenv-0.1.1-py2.py3-none-any.whl (8.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file protonenv-0.1.1.tar.gz.

File metadata

  • Download URL: protonenv-0.1.1.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.6.0

File hashes

Hashes for protonenv-0.1.1.tar.gz
Algorithm Hash digest
SHA256 fc39b0f6c38d8eeb1193c596c241e867df58b17fe596ea656f275aca7fbb6b2d
MD5 79f8e0a1604e1f54dd893c6057feaf51
BLAKE2b-256 f651aa10ccce1253ee2edc3b8c0fe3c13d351a25f66a81ad688a8442004be56b

See more details on using hashes here.

File details

Details for the file protonenv-0.1.1-py2.py3-none-any.whl.

File metadata

  • Download URL: protonenv-0.1.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.6.0

File hashes

Hashes for protonenv-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 868a5f0f4eb2f5a08a10bb9547c1fa48f3bb21e9099dcf4933260cfbd02b5818
MD5 83cf1deabc3d9b85b78e6866712c5f51
BLAKE2b-256 6e79bc81ffcf808993c61afb45df4e74c0d15299bffb31a065e1ec58b9093a29

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page