LinuxCommandLibrary

protontricks

Manage Windows applications running through Proton

TLDR

Run the protontricks GUI

$ protontricks --gui
copy

Run Winetricks for a specific game
$ protontricks [appid] [winetricks_args]
copy

Run a command within a game's installation directory
$ protontricks -c [command] [appid]
copy

[l]ist all installed games
$ protontricks -l
copy

[s]earch for a game's App ID by name
$ protontricks -s [game_name]
copy

Run an executable in the proton environment of a specific game
$ protontricks-launch --appid [appid] [path/to/executable.exe]
copy

Display help
$ protontricks --help
copy

SYNOPSIS

protontricks [winetrick_verb] [winetricks_options...]
protontricks

PARAMETERS


    The Steam Application ID of the game whose Proton prefix should be targeted (e.g., 221680 for Fallout: New Vegas). This is the most common way to identify a prefix.


    An absolute path to a custom Proton prefix. Use this if the game is not managed by Steam directly or if the AppID detection fails.

[winetrick_verb]
    An optional Winetricks verb to apply immediately (e.g., corefonts, vcrun2019, d3dcompiler_43). If omitted, the Winetricks GUI will be launched for the specified prefix.

[winetricks_options...]
    Any additional options that should be passed directly to the underlying Winetricks command (e.g., --unattended, --force, --no-isolate). Refer to the Winetricks manual for a full list of available options.

--no-steam
    Prevents protontricks from attempting to launch Steam during the operation. Useful in headless environments or when you don't want Steam to interfere.

--gui
    Forces the Winetricks graphical user interface to open for the selected prefix, even if a winetrick_verb was provided. This allows interactive selection of components.

--force
    Forces the installation of a winetrick_verb even if Winetricks thinks it's already installed. This is passed directly to Winetricks.

--debug
    Enables debug output, providing more verbose information about the execution process, which can be helpful for troubleshooting.

--skip-library-override
    Prevents protontricks from automatically setting DLL overrides after installing certain components. Use with caution.

--list-appids
    Lists all Steam Application IDs for which Proton prefixes are detected on your system, along with their associated names.

--list-prefixes
    Lists all detected Proton prefixes, including those not directly linked to a Steam AppID but found in common Proton locations.

--list-verbs
    Lists all available Winetricks verbs that can be applied. This output comes directly from the underlying Winetricks utility.

--help
    Displays a help message with usage information and available options.

--version
    Shows the version information for protontricks.

DESCRIPTION

protontricks is a powerful BASH script designed to simplify the process of applying Winetricks commands to Proton prefixes.

When running Windows games via Steam Play (Proton) on Linux, certain applications or game components might require specific DLLs, runtimes, or other tweaks to function correctly. Winetricks is the standard utility for managing these dependencies within a Wine prefix. However, directly applying Winetricks to Proton prefixes can be complex due to Proton's unique Wine build and prefix structure.

protontricks acts as a smart wrapper, automatically locating the correct Proton prefix for a given Steam AppID or custom path, setting up the necessary environment variables, and then executing the specified Winetricks command. This makes it an indispensable tool for Linux gamers looking to resolve compatibility issues, install required dependencies like DirectX components, Visual C++ runtimes, or specific fonts, and generally improve the stability and performance of their games running through Proton.

CAVEATS

Using protontricks can sometimes have unintended side effects on a Proton prefix. It is always recommended to backup game saves and, if possible, the entire Proton prefix before applying complex Winetricks verbs.

protontricks requires Winetricks to be installed on your system. It also relies on the specific Wine builds provided by Proton; thus, not all Winetricks verbs may function as expected or might conflict with Proton's optimizations. For automatic AppID detection, Steam must be running.

USAGE EXAMPLES

Here are some common ways to use protontricks:

Install corefonts for AppID 221680 (e.g., Fallout: New Vegas):
protontricks 221680 corefonts

Install vcrun2019 for AppID 730 (e.g., CS:GO):
protontricks 730 vcrun2019

Open the Winetricks GUI for AppID 221680:
protontricks 221680 --gui

List all detected Steam AppIDs and their names:
protontricks --list-appids

List all available Winetricks verbs:
protontricks --list-verbs

APPID AND PREFIX DETECTION

protontricks automatically attempts to locate the correct Proton prefix for a given Steam AppID. It typically searches in common Steam Library locations (e.g., ~/.steam/steam/steamapps/compatdata/ and other library folders). If a game's prefix isn't automatically detected, or if you are working with a custom prefix, you can provide the full path to the prefix directory as an argument instead of the AppID.

HISTORY

protontricks emerged as a community-driven solution to a common challenge faced by Linux gamers: effectively using Winetricks with Valve's Proton compatibility layer. While Proton aims to provide out-of-the-box compatibility, many Windows games still require specific dependencies (like older DirectX runtimes or Visual C++ redistributables) that Winetricks traditionally handles.

Before protontricks, users often had to manually locate Proton prefixes, set environment variables, and then invoke Winetricks, a cumbersome process. protontricks automated this, making it a staple utility for improving game compatibility and performance on Proton. Its development has been closely tied to the evolution of Proton and Steam Play, adapting to changes in prefix structure and Proton versions.

SEE ALSO

wine(1), winetricks(1), steam(6)

Copied to clipboard