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
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)
(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 via Package Management
If you are on Arch Linux you can install stl from AUR (f.e. using yay):
yay -S steamtinkerlaunch
If stl is not in your package management yet, just
sudo make install
Several great people already mentioned stl on their platforms/channels.
Thanks a lot to you all!
(no specific order, list might be incomplete)
- podiki (who also contributed to stl) wrote a huge Boiling Steam article
- ekianjo made a Q&A
- Hex DSL made a youtube video
- tuxfoo made a youtube video
- Linux Game Cast already mentioned stl in their casts several times
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/
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
Support for multiple External Tools like
Highly customizable Gui System
Misc features like support for various methods to launch custom programs
Multiple Proton options like
Multiple Steam related options like
(no special order)
Programs required for a full internal functionality:
- awk (gawk)
- bash (only shell tested)
- 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):
- 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
- 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
- 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
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.
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)
stl also has several command line which can also be useful outside steam.
For available options please check