Skip to content
master
Switch branches/tags
Code

**SteamTinkerLaunch** (short **stl**) is a Linux wrapper tool for use with the Steam client

Steam Tinker Launch (short stl) is a Linux wrapper tool for use with the Steam client which allows customizing and start tools and options for games quickly on the fly (see Features)

By using a versatile configuration structure it is both easy to set up and flexible.

How to use

General usage

stl works with Linux native games and with games using Proton! (Some features (f.e. ReShade) are only available for games using Proton) (Non-Steam games added to Steam are supported as well)

There are two ways to use stl with Steam. Either as Steam Launch Option or as Steam Compatibility Tool (simply enabling it as global default Steam Compatibility Tool works fine as well)

(of course you're using this tool at your own risk and you're responsible which 3rd party programs you launch with it)

Game specific use

When starting a game a small Wait requester will pop up. If within a short waiting period (default 2 seconds) the spacebar is pressed the Main Menu will open where everything can be configured comfortably. When done with configuring (or when the requester timeouts) the game will be started regularly with all tools and options configured.

Installation

Installation via Package Management

If you are on Arch Linux you can install stl from AUR (f.e. using yay): yay -S steamtinkerlaunch

Packaging status

Manual Installation:

If stl is not in your package management yet, just sudo make install

Press

Several great people already mentioned stl on their platforms/channels.

Thanks a lot to you all! 👍

(no specific order, list might be incomplete)

Community

Feel free to contribute to the project - there are many possibilities to do so:

  • implement new features
  • make good bug reports
  • suggest new features
  • maintain a package for your distribution
  • add translations
  • contribute your tinkered tweaks to steamtinkerlaunch-tweaks
  • find out how cool it is and tell others :)

Got and idea or suggestions, but don't want to open an issue? Visit /r/SteamTinkerLaunch/

Quick start

When stl is started for the first time it will create its default configuration structure. Almost everything can be configured with the built-in Main Menu, but optionally also with a graphical text editor. It might be a good idea to start with configuring everything in the Main Menu to your needs

If you want to get an overview over the Steam Tinker Launch features, but the huge wiki is too overwhelming, you might want to check the articles and videos of many cool people!

Features

For a complete list of features, please see the wiki. For the most recent changes, see the release page For current development changes, you can also check this Changelog issue

Requirements

(no special order)

Programs required for a full internal functionality:

  • awk (gawk)
  • bash (only shell tested)
  • git
  • pgrep
  • unzip
  • wget
  • which
  • xdotool
  • xprop
  • xrandr
  • xwininfo
  • Yad All GUI elements like Main Menu, Tray Icon, the Editor Menu and all other windows use yad. A new enough version (>=7.2; see here) is required Instead of a global/system wide installation, stl also supports easy to use custom solutions

Programs needed for optional external features (no special order):

  • strace
  • Gamemode
  • MangoHud
  • winetricks
  • vr-video-player for playing regular games side-by-side in VR (SBS-VR)
  • a graphical text editor and optionally an internet browser see Global Config
  • vkBasalt
  • Nyrna
  • ReplaySorcery
  • netstat from net-tools for basic network monitoring
  • Boxtron and dosbox to optionally start dos games with linux native dosbox
  • ScummVM to optionally start compatible games natively using Roberta
  • luxtorpeda-dev or Luxtorpeda to optionally start supported games with a linux native binary
  • GameConqueror/scanmem to optionally cheat
  • GameScope
  • cabextract (currently only used to extract the WMP10 setup exe)
  • innoextract (currently only used to extract the Cheat Engine setup exe - with wine as fallback)
  • lsusb (for an optional SBS-VR check if a VR HMD was found)
  • jq (used to extract game names from the steam api and for receiving the Lutris wine list)
  • convert, identify from imagemagick (currently used to scale a custom installed game header picture and for converting Game Icons for Game-Desktop-Files)
  • appinfo-vdf for converting the binary appinfo.vdf into a parsable format
  • rsync (for backup support)
  • openssl (currently only used to generate a random hex string for Non-Steam Game appid)

Configuration

All Configuration Files are self-contained documented and always growing, so not every option is documented in here. For a general overview what can be configured, just check the wiki or simply browse through the Main Menu, which covers almost everything available.

Wait requester

The initial Wait Requester acts as gate to the Main Menu. If selected within a timeout the Start Menu will open, else the game starts seamlessly with all configurations set.

Wait Requester

Configuration Files

Downloads

Logs

Logs are written into the LOGDIR defined in the Global Menu / Global Config. The verbosity of the logfile depends on WRITELOG (write logfile if not 0, increase verbosity from 1-2 (1:less, 2:all)) in the same location. There are several logfiles, those which are written mostly are the game specific ones ($SteamAppId.log)

Command Line

stl also has several command line which can also be useful outside steam. For available options please check stl help