Skip to content

Latest commit

 

History

History
123 lines (88 loc) · 15.7 KB

README.md

File metadata and controls

123 lines (88 loc) · 15.7 KB

Steam Tinker Launch

GitHub stars GitHub contributors GitHub issues GitHub license reddit

What is SteamTinkerLaunch?

**SteamTinkerLaunch** is a Linux wrapper tool for use with the Steam client

Steam Tinker Launch is a versatile Linux wrapper tool for use with the Steam client which allows for easy graphical configuration of game tools, such as GameScope, MangoHud, modding tools and a bunch more. It supports both games using Proton and native Linux games, and works on both X11 and Wayland.

As described by /u/TaylorRoyal23 on r/linux_gaming:

"An incredible wrapper with a menu that lets you easily toggle and modify various settings for games on Linux. Anything from proton versions, to startup and exit scripts, proton/dxvk/etc. settings, FSR, reshade, and even options for various tools like gamemode, replay-sorcery, gamescope, etc. Tons more too. I just set my default proton version to "steam tinker launcher" and then every game launches with a 2 second menu that allows you to easily change any of the settings. If you don't press any buttons it just goes with the defaults and launches the game. The menus can get a little confusing but it consolidates it all in one place and is way more simple than trying to remember dozens of commands for various settings that one might need."

image

What Does It Do?

SteamTinkerLaunch offers a huge variety of features, too many to list in this Readme. Please see the Features List and their associated wiki pages for a full breakdown. However, here are some of the key features offered by SteamTinkerLaunch. Note that some of these features may not work with Flatpak Steam!

Feature Description
Custom Per-Game Environment Variables Set custom environment variables on a per-game basis. Useful for adding command-line tweaks for various games.
Custom Game Executable Change the executable that Steam launches. Useful for custom game launchers/mod launchers.

This option is extremely flexible, allowing for launching a custom executable with a game, instead of the game, before the game or after the game. See the Custom Program wiki page for usage.
Easy installation of Winetricks verbs SteamTinkerLaunch can apply the necessary steps to install, for example, dotnet48 or later in a Proton prefix, which can fix common issues with GUI tools running through Proton.
ModOrganizer 2 Support Installs and sets up mod installation and organization tool ModOrganizer 2. Includes browser integration for handling NXM links.

See our ModOrganizer 2 wiki page and modding wiki page for more details.
Vortex Mod Manager Support Installs and sets up Nexus Mods' mod management tool Vortex Mod Manager. Includes browser integration for handling NXM links.

See our Vortex wiki page and modding wiki page for more details.
SpecialK support Utility for enhancing and fixing common problems with Windows games.

See our SpecialK wiki page for usage. May require additional Optional Dependencies.
ReShade Support (Proton/Wine Only) Supports the use of ReShade shaders to enhance the visual quality of games.

See our ReShade wiki page for usage and information on using ReShade and SpecialK together.
Custom Proton/Wine Download Manages downloading custom Proton and Wine releases, such as GloriousEggroll's popular Proton flavour GEProton. These versions are installed and managed by SteamTinkerLaunch.

See our wiki pages on Custom Proton Versions and Custom Wine Versions for more details.

To find out about the latest release, check out the stable release changelog. To find out about the latest bleeding-edge development changes not yet in a stable build, check out the full changelog.

How Do I Use It?

General usage

Steam Tinker Launch works with Linux native games and games using Proton, however some Windows-only utilities (such as ReShade) are only available for Proton games. SteamTinkerLaunch also supports Non-Steam Games so long as they are launched through the Steam client.

There are two ways to use SteamTinkerLaunch through Steam:

Steam Compatibility Tool (Proton Games)

Using SteamTinkerLaunch as a compatibility tool is the preferred way of using it with Proton games. Once SteamTinkerLaunch is installed, force it as a compatibility tool for your chosen game from the list of compatibility tools. You can also set SteamTinkerLaunch as the default compatibility tool for all applications from the Steam Play settings of the Steam client.

Please note that some platforms such as Steam Flatpak only allow you to use SteamTinkerLaunch as a compatibility tool. When forcing a game to use a compatibility tool, Steam will always download the Windows release of a game, so as a result your mileage may vary. Please report any issues using SteamTinkerLaunch as a compatibility tool with Steam Flatpak on the SteamTinkerLaunch Flatpak issue.

Steam Launch Option (Native Linux Games)

To use SteamTinkerLaunch with native Linux games, you can simply add the following to your native game's launch option:

steamtinkerlaunch %command%

On some platforms such as Steam Deck, using SteamTinkerLaunch as a launch option may require you to add it to your path. Refer to your distributions documentation on how to add the script to your path, as this can vary between distributions and shells. A very general guide on how to add SteamTinkerLaunch to your path can be found on the Local (Non-Root) section of the Installation wiki.

Game-Specific Use

When starting a game, a small Wait Requester dialog will pop up. This will allow you to access the Main Menu either by pressing the button or pressing the spacebar, or skip to launching the game. By default, the dialog will only stay for two seconds before it times out and launches the game, but this can be configured in the SteamTinkerLaunch settings.

Wait Requester

The Main Menu is the springboard to tinkering with your game options. See the wiki page for more information on the options it provides.

Command Line

SteamTinkerLaunch has several command line options which can be useful outside Steam, such as for installing modding tools. You can run steamtinkerlaunch help for a full list of available commands, or if SteamTinkerLaunch is not in your path you can run sh steamtinkerlaunch help from the folder where you downloaded SteamTinkerLaunch.

How Do I Install It?

SteamTinkerLaunch can be installed in a few different ways depending on your platform and needs. Please refer to the Installation wiki page for detailed installation instructions.

Platform Notes
Package Manager Preferred installation method. See distribution package status below, though this list may not be exhaustive.
Many thanks to all package maintainers!

Packaging status

Refer to the Installation Wiki for more information on available packages.
Manual Installation SteamTinkerLaunch supports system-wide (root) and may support a local (non-root) manual installation. See Installation Wiki notes for setup and details.
Steam Deck See Installation Wiki for Steam Deck specific installation instructions.
Steam Flatpak See Installation Wiki for setup instructions on using Steam Flatpak and SteamTinkerLaunch.
Other See Installation Wiki for any distro-specific installation instructions.

Press

Several great people have mentioned SteamTinkerLaunch on their platforms/channels. Many thanks to all who have covered SteamTinkerLaunch!

Name Press
podiki (also a SteamTinkerLaunch contributor) Wrote a huge article about SteamTinkerLaunch on BoilingSteam!
ekianjo Wrote up a Q&A on BoilingSteam with SteamTinkerLaunch creator Frostworx!
Hex DSL Made a YouTube video showcasing SteamTinkerLaunch
tuxfoo Made a YouTube video showcasing SteamTinkerLaunch
Linux Game Cast Mentioned SteamTinkerLaunch on their casts several times, and counting!
Mark Dougherty Has written several articles about SteamTinkerLaunch

Configuration

When SteamTinkerLaunch is started for the first time, it will create its default configuration structure (usually in ~/.config/steamtinkerlaunch). All Configuration Files are self-contained documents and are always growing, and as a result some options may be missing. If you find a configuration option that is not documented, please request it on the issue tracker. You may even write the documentation yourself and a collaborator can add it.

For a general overview what can be configured, you check the wiki, or simply browse through the Main Menu, which covers almost everything available. If you want to get an overview of SteamTinkerLaunch's features, and you find the huge wiki too overwhelming, you might want to check out the articles and videos created by members of the community.

Configuration with Text Editors

As mentioned, almost everything can be configured from the Main Menu, but optionally you can edit SteamTinkerLaunch's global and per-game configuration files with a graphical text editor for a more granular approach. Before diving into editing with a text editor, it might be a good idea to start by exploring the configuration options in the Main Menu, and then diving in and tweaking with a text editor.

For more information on SteamTinkerLaunch's specific configuration files, see the Configuration Files wiki page.

For information on where SteamTinkerLaunch stores downloaded files, see the Downloads wiki page.

Troubleshooting

Logs

Logs are written into the LOGDIR as defined in the Global Menu or Global Config (by default, this is usually ~/.config/steamtinkerlaunch/logs/). The verbosity of the logfile depends on the WRITELOG variable, where 0 is no logging, 1 is less verbosity and 2 is most verbosity.

SteamTinkerLaunch produces a number of logs, including game-specific log files. For logs that have a Steam AppID in them (such as Proton logs), there is usually a symlink for the log file with the game's name to make it easier to identify logs.

SteamTinkerLaunch may also store additional logging information in /dev/shm/steamtinkerlaunch.

Disclaimer

Keep in mind that you are using SteamTinkerLaunch at your own risk and that you are responsible for the 3rd party programs that you launch with it.

License

SteamTinkerLaunch is licensed under the GNU General Public License v3.0. See LICENSE for more information.