Skip to content

Repository files navigation

TinkerGame

Wiki

TinkerGame is a Linux game-launch wrapper for Steam. It gives each game a small graphical control panel for Proton, Wine, Gamescope, MangoHud, mod managers, launch commands, environment variables, and troubleshooting tools.

It supports Proton games, native Linux games, non-Steam games launched through Steam, X11, Wayland, and Steam Deck game mode.

TinkerGame is independent software. It is not affiliated with Valve or Steam. Use third-party tools and game modifications at your own risk.

Documentation

The TinkerGame wiki covers every feature category with detailed pages, including the Install guide, use as a Steam Compatibility Tool, and per-feature options. Every TinkerGame window can also open the matching wiki page with the F1 key.

What It Provides

  • Per-game environment variables, launch commands, executables, and scripts.
  • Proton and Wine selection, downloads, and prefix tools.
  • Gamescope, MangoHud, GameMode, DXVK, VKD3D, FSR, and related options.
  • Mod Organizer 2, Vortex, ReShade, Special K, Hedge Mod Manager, and other integrations.
  • Native Linux game support through a Steam launch option.
  • A YAD-based interface that works from the desktop and Steam Deck game mode.
  • Command-line tools for installation, diagnostics, compatibility tools, and configuration.

Install

Use your distribution package manager when a TinkerGame package is available. ProtonUp-Qt and ProtonPlus support depends on their current release and package metadata.

For a local system installation:

make
sudo make install

For a user-local installation:

make PREFIX="$HOME/.local"
make PREFIX="$HOME/.local" install

For distribution packaging, DESTDIR stages files without changing the runtime prefix embedded in the installed scripts:

make PREFIX=/usr DESTDIR="$PWD/pkg" install

An Arch Linux package recipe is provided at packaging/arch/PKGBUILD.

To uninstall an installation, run the installed uninstaller:

# System installation
sudo tinkergame-uninstall

# User-local installation
tinkergame-uninstall

The default keeps your settings, cache, downloaded tools, and game data. Add --purge to remove those files and the TinkerGame Steam compatibility-tool registration as well. Add --yes to skip the confirmation prompt.

sudo tinkergame-uninstall --purge

The install requires Bash, YAD, Git, Wget, Tar, Unzip, and the other tools listed by the installation checks. Optional integrations add their own dependencies. jq is required for custom Proton and shader repository data.

Use With Steam

Proton games

Register TinkerGame as a Steam compatibility tool:

tinkergame compat add

Select TinkerGame in the game's compatibility settings, or set it as the default compatibility tool in Steam's Steam Play settings.

Native Linux games

Set this as the game's launch option:

tinkergame %command%

Use only one integration method per game. Do not select TinkerGame as a compatibility tool and add it as a launch option at the same time.

Command line

Run tinkergame help for the complete command list. Useful commands include:

tinkergame settings
tinkergame configdir
tinkergame version
tinkergame help

Configuration

User configuration is stored under:

${XDG_CONFIG_HOME:-$HOME/.config}/tinkergame

Logs are stored in the configuration directory and temporary startup logs are stored under /dev/shm/tinkergame.

This is a full breaking rename. Existing users should read MIGRATION.md before installing.

Troubleshooting

Start with the latest log from the configured logs directory and the startup log under /dev/shm/tinkergame. Run the following to verify the local script:

bash -n tinkergame
shellcheck tinkergame

When reporting a problem, include the TinkerGame version, distribution, desktop or game mode, display server, YAD version, game AppID, and relevant log sections. Remove personal paths and tokens first.

Credits

TinkerGame is a rename and continuation of SteamTinkerLaunch, the project this repo was forked from, and builds on the work of its many contributors. TinkerGame's parent project was created by frostworx and long maintained by sonic2kk, with help from the broader SteamTinkerLaunch community over the years.

The complete history of the code remains available through this repository's git log. This project is licensed under the GPLv3, as was its upstream SteamTinkerLaunch; see LICENSE.

Development

TinkerGame is primarily Bash. The main script remains intentionally portable, but new code should use arrays for external command arguments, quote paths, and handle optional dependencies explicitly.

Run the local checks with:

bash -n tinkergame
shellcheck tinkergame
make -n install PREFIX="$HOME/.local"

See CONTRIBUTING.md for development notes.

License

TinkerGame is licensed under the GNU General Public License v3.0. See LICENSE.

Releases

Packages

Contributors

Languages