Protontricks
============
[![image](https://img.shields.io/pypi/v/protontricks.svg)](https://pypi.org/project/protontricks/)
[![Coverage Status](https://coveralls.io/repos/github/Matoking/protontricks/badge.svg?branch=master)](https://coveralls.io/github/Matoking/protontricks?branch=master)
[![Test Status](https://github.com/Matoking/protontricks/actions/workflows/tests.yml/badge.svg)](https://github.com/Matoking/protontricks/actions/workflows/tests.yml)
[<img width="240" src="https://flathub.org/assets/badges/flathub-badge-en.png">](https://flathub.org/apps/details/com.github.Matoking.protontricks)
> [!IMPORTANT]
> **Steam currently needs a beta version of Protontricks** to be installed and will otherwise fail with "Invalid file magic number" error. See [here](https://github.com/Matoking/protontricks/issues/304#issuecomment-2220599470) for installation instructions.
Run Winetricks commands for Steam Play/Proton games among other common Wine features, such as launching external Windows executables.
This is a fork of the original project created by sirmentio. The original repository is available at [Sirmentio/protontricks](https://github.com/Sirmentio/protontricks).
# What is it?
This is a wrapper script that allows you to easily run Winetricks commands for Steam Play/Proton games among other common Wine features, such as launching external Windows executables. This is often useful when a game requires closed-source runtime libraries or applications that are not included with Proton.
# Requirements
* Python 3.6 or newer
* Winetricks
* Steam
* YAD (recommended) **or** Zenity. Required for GUI.
# Usage
**Protontricks can be launched from desktop or using the `protontricks` command.**
## Command-line
The basic command-line usage is as follows:
```
# Find your game's App ID by searching for it
protontricks -s <GAME NAME>
# or by listing all games
protontricks -l
# Run winetricks for the game.
# Any parameters in <ACTIONS> are passed directly to Winetricks.
# Parameters specific to Protontricks need to be placed *before* <APPID>.
protontricks <APPID> <ACTIONS>
# Run a custom command for selected game
protontricks -c <COMMAND> <APPID>
# Run the Protontricks GUI
protontricks --gui
# Launch a Windows executable using Protontricks
protontricks-launch <EXE>
# Launch a Windows executable for a specific Steam app using Protontricks
protontricks-launch --appid <APPID> <EXE>
# Print the Protontricks help message
protontricks --help
```
Since this is a wrapper, all commands that work for Winetricks will likely work for Protontricks as well.
If you have a different Steam directory, you can export ``$STEAM_DIR`` to the directory where Steam is.
If you'd like to use a local version of Winetricks, you can set ``$WINETRICKS`` to the location of your local winetricks installation.
You can also set ``$PROTON_VERSION`` to a specific Proton version manually. This is usually the name of the Proton installation without the revision version number. For example, if Steam displays the name as `Proton 5.0-3`, use `Proton 5.0` as the value for `$PROTON_VERSION`.
[Wanna see Protontricks in action?](https://asciinema.org/a/229323)
## Desktop
Protontricks comes with desktop integration, adding the Protontricks app shortcut and the ability to launch external Windows executables for Proton apps. To run an executable for a Proton app, select **Protontricks Launcher** when opening a Windows executable (eg. **EXE**) in a file manager.
The **Protontricks** app shortcut should be available automatically after installation. If not, you may need to run `protontricks-desktop-install` in a terminal to enable this functionality.
# Troubleshooting
For common issues and solutions, see [TROUBLESHOOTING.md](TROUBLESHOOTING.md).
# Installation
You can install Protontricks using a community package, Flatpak or **pipx**. **pip** can also be used, but it is not recommended due to possible problems.
**If you're using a Steam Deck**, Flatpak is the recommended option. Open the **Discover** application store in desktop mode and search for **Protontricks**.
**If you're using the Flatpak version of Steam**, follow the [Flatpak-specific installation instructions](https://github.com/flathub/com.github.Matoking.protontricks) instead.
## Community packages (recommended)
Community packages allow easier installation and updates using distro-specific package managers. They also take care of installing dependencies and desktop features out of the box, making them **the recommended option if available for your distribution**.
Community packages are maintained by community members and might be out-of-date compared to releases on PyPI.
Note that some distros such as **Debian** / **Ubuntu** often have outdated packages for either Protontricks **or** Winetricks.
If so, install the Flatpak version instead as outdated releases may fail to work properly.
[![Packaging status](https://repology.org/badge/vertical-allrepos/protontricks.svg)](https://repology.org/project/protontricks/versions)
## Flatpak (recommended)
Protontricks is available on the Flathub app store:
[<img width="180" src="https://flathub.org/assets/badges/flathub-badge-en.png">](https://flathub.org/apps/details/com.github.Matoking.protontricks)
To use Protontricks as a command-line application, add shell aliases by running the following commands:
```
echo "alias protontricks='flatpak run com.github.Matoking.protontricks'" >> ~/.bashrc
echo "alias protontricks-launch='flatpak run --command=protontricks-launch com.github.Matoking.protontricks'" >> ~/.bashrc
```
You will need to restart your terminal emulator for the aliases to take effect.
The Flatpak installation is sandboxed and only has access to the Steam
installation directory by default. **You will need to add filesystem permissions when
using additional Steam library locations or running external Windows
applications.** See
[here](https://github.com/flathub/com.github.Matoking.protontricks#configuration)
for instructions on changing the Flatpak permissions.
## pipx
You can use pipx to install the latest version on PyPI or the git repository for the current user. Installing Protontricks using pipx is recommended if a community package doesn't exist for your Linux distro.
**pipx does not install Winetricks and other dependencies out of the box.** You can install Winetricks using the [installation instructions](https://github.com/Winetricks/winetricks#installing) provided by the Winetricks project.
**pipx requires Python 3.6 or newer.**
**You will need to install pip, setuptools and virtualenv first.** Install the correct packages depending on your distribution:
* Arch Linux: `sudo pacman -S python-pip python-pipx python-setuptools python-virtualenv`
* Debian-based (Ubuntu, Linux Mint): `sudo apt install python3-pip python3-setuptools python3-venv pipx`
* Fedora: `sudo dnf install python3-pip python3-setuptools python3-libs pipx`
* Gentoo:
```sh
sudo emerge -av dev-python/pip dev-python/virtualenv dev-python/setuptools
python3 -m pip install --user pipx
~/.local/bin/pipx ensurepath
```
Close and reopen your terminal. After that, you can install Protontricks.
```sh
pipx install protontricks
```
To enable desktop integration as well, run the following command *after* installing Protontricks
```sh
protontricks-desktop-install
```
To upgrade to the latest release:
```sh
pipx upgrade protontricks
```
To install the latest development version (requires `git`):
```sh
pipx install git+https://github.com/Matoking/protontricks.git
# '--spec' is required for older versions of pipx
pipx install --spec git+https://github.com/Matoking/protontricks.git protontricks
```
## pip (not recommended)
You can use pip to install the latest version on PyPI or the git repository. This method should work in any system where Python 3 is available.
**Note that this installation method might cause conflicts with your distro's package manager. To prevent this, consider using the pipx method or a community package instead.**
**You will need to install pip and setuptools first.** Install the correct packages depending on your distribution:
* Arch Linux: `sudo pacman -S python-pip python-setuptools`
* Debian-based (Ubuntu, Linux Mint): `sudo apt install python3-pip python3-setuptools`
* Fedora: `sudo dnf install python3-pip python3-setuptools`
* Gentoo: `sudo emerge -av dev-python/pip dev-python/setuptools`
To install the latest release using `pip`:
```sh
sudo python3 -m pip install protontricks
```
To upgrade to the latest release:
```sh
sudo python3 -m pip install --upgrade protontricks
```
To install Protontricks only for the current user:
```sh
python3 -m pip install --user protontricks
```
To install the latest development version (requires `git`):
```sh
sudo python3 -m pip install git+https://github.com/Matoking/protontricks.git
```
Raw data
{
"_id": null,
"home_page": "https://github.com/Matoking/protontricks",
"name": "protontricks",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": null,
"author": "Janne Pulkkinen",
"author_email": "janne.pulkkinen@protonmail.com",
"download_url": "https://files.pythonhosted.org/packages/19/a6/376253b177385324600c8c3de9ce5fa1d5e38f985937bc4888d3ee684e56/protontricks-1.12.0.tar.gz",
"platform": "linux",
"description": "Protontricks\n============\n\n[![image](https://img.shields.io/pypi/v/protontricks.svg)](https://pypi.org/project/protontricks/)\n[![Coverage Status](https://coveralls.io/repos/github/Matoking/protontricks/badge.svg?branch=master)](https://coveralls.io/github/Matoking/protontricks?branch=master)\n[![Test Status](https://github.com/Matoking/protontricks/actions/workflows/tests.yml/badge.svg)](https://github.com/Matoking/protontricks/actions/workflows/tests.yml)\n\n[<img width=\"240\" src=\"https://flathub.org/assets/badges/flathub-badge-en.png\">](https://flathub.org/apps/details/com.github.Matoking.protontricks)\n\n> [!IMPORTANT]\n> **Steam currently needs a beta version of Protontricks** to be installed and will otherwise fail with \"Invalid file magic number\" error. See [here](https://github.com/Matoking/protontricks/issues/304#issuecomment-2220599470) for installation instructions.\n\nRun Winetricks commands for Steam Play/Proton games among other common Wine features, such as launching external Windows executables.\n\nThis is a fork of the original project created by sirmentio. The original repository is available at [Sirmentio/protontricks](https://github.com/Sirmentio/protontricks).\n\n# What is it?\n\nThis is a wrapper script that allows you to easily run Winetricks commands for Steam Play/Proton games among other common Wine features, such as launching external Windows executables. This is often useful when a game requires closed-source runtime libraries or applications that are not included with Proton.\n\n# Requirements\n\n* Python 3.6 or newer\n* Winetricks\n* Steam\n* YAD (recommended) **or** Zenity. Required for GUI.\n\n# Usage\n\n**Protontricks can be launched from desktop or using the `protontricks` command.**\n\n## Command-line\n\nThe basic command-line usage is as follows:\n\n```\n# Find your game's App ID by searching for it\nprotontricks -s <GAME NAME>\n\n# or by listing all games\nprotontricks -l\n\n# Run winetricks for the game.\n# Any parameters in <ACTIONS> are passed directly to Winetricks.\n# Parameters specific to Protontricks need to be placed *before* <APPID>.\nprotontricks <APPID> <ACTIONS>\n\n# Run a custom command for selected game\nprotontricks -c <COMMAND> <APPID>\n\n# Run the Protontricks GUI\nprotontricks --gui\n\n# Launch a Windows executable using Protontricks\nprotontricks-launch <EXE>\n\n# Launch a Windows executable for a specific Steam app using Protontricks\nprotontricks-launch --appid <APPID> <EXE>\n\n# Print the Protontricks help message\nprotontricks --help\n```\n\nSince this is a wrapper, all commands that work for Winetricks will likely work for Protontricks as well.\n\nIf you have a different Steam directory, you can export ``$STEAM_DIR`` to the directory where Steam is.\n\nIf you'd like to use a local version of Winetricks, you can set ``$WINETRICKS`` to the location of your local winetricks installation.\n\nYou can also set ``$PROTON_VERSION`` to a specific Proton version manually. This is usually the name of the Proton installation without the revision version number. For example, if Steam displays the name as `Proton 5.0-3`, use `Proton 5.0` as the value for `$PROTON_VERSION`.\n\n[Wanna see Protontricks in action?](https://asciinema.org/a/229323)\n\n## Desktop\n\nProtontricks comes with desktop integration, adding the Protontricks app shortcut and the ability to launch external Windows executables for Proton apps. To run an executable for a Proton app, select **Protontricks Launcher** when opening a Windows executable (eg. **EXE**) in a file manager.\n\nThe **Protontricks** app shortcut should be available automatically after installation. If not, you may need to run `protontricks-desktop-install` in a terminal to enable this functionality.\n\n# Troubleshooting\n\nFor common issues and solutions, see [TROUBLESHOOTING.md](TROUBLESHOOTING.md).\n\n# Installation\n\nYou can install Protontricks using a community package, Flatpak or **pipx**. **pip** can also be used, but it is not recommended due to possible problems.\n\n**If you're using a Steam Deck**, Flatpak is the recommended option. Open the **Discover** application store in desktop mode and search for **Protontricks**. \n\n**If you're using the Flatpak version of Steam**, follow the [Flatpak-specific installation instructions](https://github.com/flathub/com.github.Matoking.protontricks) instead.\n\n## Community packages (recommended)\n\nCommunity packages allow easier installation and updates using distro-specific package managers. They also take care of installing dependencies and desktop features out of the box, making them **the recommended option if available for your distribution**.\n\nCommunity packages are maintained by community members and might be out-of-date compared to releases on PyPI.\nNote that some distros such as **Debian** / **Ubuntu** often have outdated packages for either Protontricks **or** Winetricks.\nIf so, install the Flatpak version instead as outdated releases may fail to work properly.\n\n[![Packaging status](https://repology.org/badge/vertical-allrepos/protontricks.svg)](https://repology.org/project/protontricks/versions)\n\n## Flatpak (recommended)\n\nProtontricks is available on the Flathub app store:\n\n[<img width=\"180\" src=\"https://flathub.org/assets/badges/flathub-badge-en.png\">](https://flathub.org/apps/details/com.github.Matoking.protontricks)\n\nTo use Protontricks as a command-line application, add shell aliases by running the following commands:\n\n```\necho \"alias protontricks='flatpak run com.github.Matoking.protontricks'\" >> ~/.bashrc\necho \"alias protontricks-launch='flatpak run --command=protontricks-launch com.github.Matoking.protontricks'\" >> ~/.bashrc\n```\n\nYou will need to restart your terminal emulator for the aliases to take effect.\n\nThe Flatpak installation is sandboxed and only has access to the Steam\ninstallation directory by default. **You will need to add filesystem permissions when\nusing additional Steam library locations or running external Windows\napplications.** See\n[here](https://github.com/flathub/com.github.Matoking.protontricks#configuration)\nfor instructions on changing the Flatpak permissions.\n\n## pipx\n\nYou can use pipx to install the latest version on PyPI or the git repository for the current user. Installing Protontricks using pipx is recommended if a community package doesn't exist for your Linux distro.\n\n**pipx does not install Winetricks and other dependencies out of the box.** You can install Winetricks using the [installation instructions](https://github.com/Winetricks/winetricks#installing) provided by the Winetricks project. \n\n**pipx requires Python 3.6 or newer.**\n\n**You will need to install pip, setuptools and virtualenv first.** Install the correct packages depending on your distribution:\n\n* Arch Linux: `sudo pacman -S python-pip python-pipx python-setuptools python-virtualenv`\n* Debian-based (Ubuntu, Linux Mint): `sudo apt install python3-pip python3-setuptools python3-venv pipx`\n* Fedora: `sudo dnf install python3-pip python3-setuptools python3-libs pipx`\n* Gentoo:\n\n ```sh\n sudo emerge -av dev-python/pip dev-python/virtualenv dev-python/setuptools\n python3 -m pip install --user pipx\n ~/.local/bin/pipx ensurepath\n ```\n\nClose and reopen your terminal. After that, you can install Protontricks.\n\n```sh\npipx install protontricks\n```\n\nTo enable desktop integration as well, run the following command *after* installing Protontricks\n\n```sh\nprotontricks-desktop-install\n```\n\nTo upgrade to the latest release:\n```sh\npipx upgrade protontricks\n```\n\nTo install the latest development version (requires `git`):\n```sh\npipx install git+https://github.com/Matoking/protontricks.git\n# '--spec' is required for older versions of pipx\npipx install --spec git+https://github.com/Matoking/protontricks.git protontricks\n```\n\n## pip (not recommended)\n\nYou can use pip to install the latest version on PyPI or the git repository. This method should work in any system where Python 3 is available.\n\n**Note that this installation method might cause conflicts with your distro's package manager. To prevent this, consider using the pipx method or a community package instead.**\n\n**You will need to install pip and setuptools first.** Install the correct packages depending on your distribution:\n\n* Arch Linux: `sudo pacman -S python-pip python-setuptools`\n* Debian-based (Ubuntu, Linux Mint): `sudo apt install python3-pip python3-setuptools`\n* Fedora: `sudo dnf install python3-pip python3-setuptools`\n* Gentoo: `sudo emerge -av dev-python/pip dev-python/setuptools`\n\nTo install the latest release using `pip`:\n```sh\nsudo python3 -m pip install protontricks\n```\n\nTo upgrade to the latest release:\n```sh\nsudo python3 -m pip install --upgrade protontricks\n```\n\nTo install Protontricks only for the current user:\n```sh\npython3 -m pip install --user protontricks\n```\n\nTo install the latest development version (requires `git`):\n```sh\nsudo python3 -m pip install git+https://github.com/Matoking/protontricks.git\n```\n",
"bugtrack_url": null,
"license": "GPL3",
"summary": "A simple wrapper for running Winetricks commands for Proton-enabled games.",
"version": "1.12.0",
"project_urls": {
"Homepage": "https://github.com/Matoking/protontricks"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "02dcbbd7816907447dcd0da0213f17e7fc6b096f5700bd823c94e2f2aef1402c",
"md5": "b96de6342e275637287e9f25dbf75077",
"sha256": "a4b5b235a2f9156590c6b9b3a75f970aedc97f44a60488d92f40b6dcfb25b0e1"
},
"downloads": -1,
"filename": "protontricks-1.12.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b96de6342e275637287e9f25dbf75077",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 73100,
"upload_time": "2024-09-16T07:07:05",
"upload_time_iso_8601": "2024-09-16T07:07:05.266847Z",
"url": "https://files.pythonhosted.org/packages/02/dc/bbd7816907447dcd0da0213f17e7fc6b096f5700bd823c94e2f2aef1402c/protontricks-1.12.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "19a6376253b177385324600c8c3de9ce5fa1d5e38f985937bc4888d3ee684e56",
"md5": "7963b811d0334b1a021aa5aade4bb47e",
"sha256": "c619721ec0b16519ba45940037b030369068f80d3aa5b9f657e2f511c320f45c"
},
"downloads": -1,
"filename": "protontricks-1.12.0.tar.gz",
"has_sig": false,
"md5_digest": "7963b811d0334b1a021aa5aade4bb47e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 177554,
"upload_time": "2024-09-16T07:07:07",
"upload_time_iso_8601": "2024-09-16T07:07:07.985437Z",
"url": "https://files.pythonhosted.org/packages/19/a6/376253b177385324600c8c3de9ce5fa1d5e38f985937bc4888d3ee684e56/protontricks-1.12.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-16 07:07:07",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Matoking",
"github_project": "protontricks",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "protontricks"
}