#proton #download #linux #steam #wine #version #installer

libprotonup

Library for Custom Proton Download and installation

15 releases

new 0.8.6 Feb 5, 2025
0.8.5 Nov 19, 2024
0.8.3 Aug 18, 2024
0.8.2 Jun 9, 2024
0.3.0 Nov 27, 2022

#456 in Filesystem

Download history 1/week @ 2024-11-05 339/week @ 2024-11-19 10/week @ 2024-11-26 2/week @ 2024-12-03 18/week @ 2024-12-10 156/week @ 2025-02-04

156 downloads per month
Used in protonup-rs

Apache-2.0

28KB
560 lines

Protonup-rs

Lib, CLI and GUI(wip) program to automate the installation and update of Proton-GE

NOTE: This has no relations with the original ProtonUp project, and I am glad it was created. This is not nearly as feature complete as the original Protonup.

I've create it because the original project had a few issues with its Python dependencies (that most likely got fixed already). I wanted to to re-create it in rust, in a way it could be used as a lib and a CLI. If this repo gets to a stable and feature rich state, I will publish it to Cargo and other repositories. I guess it got there! Thanks!

asciicast

Usage

The default way is to simply invoke the cli, and navigate the text interface.

protonup-rs

To run a quick update and get the latest GE Proton version without navigating the TUI, you can use the quick flag:

Usage: protonup-rs [OPTIONS]

Options:
  -q, --quick-download  Skip Menu, auto detect apps and download using default parameters
  -h, --help            Print help

Installing

Clickable download (Steam Deck Friendly)

  • download .decktop file
  • run it
  • open a new terminal window to run protonup-rs

Click Here to Download installer

NOTE: This will download a simple ".desktop" file that will download the pre-compiled binary from release, decompress it, place it in "$HOME/.local/bin/", and add this folder to your PATH.

In one line

Does the same as the installer above, but from the command line

sh -c 'if curl -S -s -L -O --output-dir /tmp/ --connect-timeout 60 https://github.com/auyer/Protonup-rs/releases/latest/download/protonup-rs-linux-amd64.tar.gz ; then tar -xvzf /tmp/protonup-rs-linux-amd64.tar.gz -C /tmp/ && mv /tmp/protonup-rs ${HOME}/.local/bin/ && [[ "$SHELL" == *"bash"* ]] && [ "$SHELL" = "/bin/bash" ] && echo "export PATH=\"$PATH:${HOME}/.local/bin\"" >> ${HOME}/.bashrc || ([ "$SHELL" = "/bin/zsh" ] && echo "export PATH=\"$PATH:${HOME}/.local/bin\"" >> ${HOME}/.zshrc ) && rm /tmp/protonup-rs-linux-amd64.tar.gz; else echo "Something went wrong, please report this if it is a bug"; read; fi'

This assumes /usr/bin is in your path. You may change this to any other location (in your path echo $PATH).

Or manually

Get the latest binary: Download link

It is a single binary. You can just run it, or add it to your path so you can call it from anywhere.

Quick way to add it to your path: or download the zip from the releases page

cd Downloads
sudo unzip protonup-rs-linux-amd64.zip -d /usr/bin

Building from source

You can install from source using the last released version in Crates.io:

cargo install protonup-rs

Or clone repo:

cd protonup-rs
cargo build -p protonup-rs --release
mv ./target/release/protonup-rs "your path"

GUI

Not ready for usage.

The GUI is in its early stages. My current plan is to develop it in the iced framework, but GUI development is not my forte.

Dependencies

~13–27MB
~410K SLoC