All Projects → frostworx → Steamtinkerlaunch

frostworx / Steamtinkerlaunch

Licence: gpl-3.0
Linux wrapper tool for use with the Steam client for custom launch options and 3rd party programs

Programming Languages

shell
77523 projects
bash
514 projects

Projects that are alternatives of or similar to Steamtinkerlaunch

steampak
Nicely packed tools to work with Steam APIs
Stars: ✭ 21 (-92.25%)
Mutual labels:  steam, wrapper
Protontricks
A simple wrapper that does winetricks things for Proton enabled games, requires Winetricks.
Stars: ✭ 182 (-32.84%)
Mutual labels:  wrapper, steam
MojangSharp
A C# wrapper library for Mojang API (no longer actively maintained)
Stars: ✭ 38 (-85.98%)
Mutual labels:  wrapper
Go Steam
Steam's protocol in Go to allow automation of different actions on the Steam network without running an actual Steam client. Includes APIs for friends, chatting, trading, trade offers and TF2 crafting.
Stars: ✭ 264 (-2.58%)
Mutual labels:  steam
instamojo-py
Python library for Instamojo API
Stars: ✭ 39 (-85.61%)
Mutual labels:  wrapper
deno-keyv
A simple, easy to use key-value database wrapper for Deno
Stars: ✭ 16 (-94.1%)
Mutual labels:  wrapper
Tinyengine
Tiny OpenGL Wrapper / 3D Engine in C++
Stars: ✭ 251 (-7.38%)
Mutual labels:  wrapper
Scrython
A python wrapper for the Scryfall API
Stars: ✭ 87 (-67.9%)
Mutual labels:  wrapper
Ios Pwa Wrapper
An iOS Wrapper application to create a native iOS App from an offline-capable Progressive Web App.
Stars: ✭ 268 (-1.11%)
Mutual labels:  wrapper
output container
Automatic output function for STL containers
Stars: ✭ 32 (-88.19%)
Mutual labels:  stl
Boxtron
Steam Play compatibility tool to run DOS games using native Linux DOSBox
Stars: ✭ 262 (-3.32%)
Mutual labels:  steam
BootstraPHP
A Bootstrap wrapper for PHP
Stars: ✭ 24 (-91.14%)
Mutual labels:  wrapper
Redshift-Tray
A no-frills GUI for the excellent Redshift, with some optional OS hotkeys
Stars: ✭ 34 (-87.45%)
Mutual labels:  wrapper
Gostl
Data structure and algorithm library for go, designed to provide functions similar to C++ STL
Stars: ✭ 254 (-6.27%)
Mutual labels:  stl
Jikan4java
Kotlin wrapper for Jikan, an myanimelist api
Stars: ✭ 27 (-90.04%)
Mutual labels:  wrapper
Python Blosc
A Python wrapper for the extremely fast Blosc compression library
Stars: ✭ 264 (-2.58%)
Mutual labels:  wrapper
acinerella
FFmpeg wrapper library for audio/video decoding
Stars: ✭ 18 (-93.36%)
Mutual labels:  wrapper
cozinha loader
An injector focused on undetectability that automatically injects a DLL into the target process with VAC3 bypass.
Stars: ✭ 53 (-80.44%)
Mutual labels:  steam
Java Wkhtmltopdf Wrapper
A Java wrapper for wkhtmltopdf
Stars: ✭ 253 (-6.64%)
Mutual labels:  wrapper
Twitchio
TwitchIO - An Async Bot/API wrapper for Twitch made in Python.
Stars: ✭ 268 (-1.11%)
Mutual labels:  wrapper
**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 Launch Option or as Steam Compatibility Tool

Steam Launch Option

To use stl as Steam Launch Option just add it to your Steam Game Launch Option command line like this:

stl %command%

stl starter

A little script which automatically does this for every game in the Steam library can be found here

To use stl with a linux native game this option needs to be selected, as Steam automatically downloads the windows build, when using a "Steam Compatibility Tool"!

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 Settings 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 make install

Alternatively copy stl wherever you want (f.e. /usr/local/bin/) and make it executable: chmod +x stl

When copying manually the enclosed directories (containing optional configuration files) should be dropped into /usr/share/stl/ (preferred location). Else they are automatically pulled from git (default if /usr/share/stl/ does not exist).

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
  • add your tinkered 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 Settings Menu, but optionally also with a graphical text editor. It might be a good idea to start with configuring everything in the Settings Menu to your needs

Features

For a complete list of features, please see the wiki. For the most recent changes, see the release page or just to browse through the latest version

(main categories)

  • External Tools: All external 3rd party programs (like Boxtron, Luxtorpeda, MangoHud, vkBasalt, etc.) which can be enabled for game launch can be found here, including their corresponding options.
  • GUI Options
  • Misc: All configuration options which can't be put into a generic category usually can be found here.
  • PressureVessel: Some Pressure Vessel options
  • Proton: switch between Proton-Versions, automatically download custom Proton builds...
  • Shader Management: Download/Update/Install/Enable/Disable Shaders with support for ReShade and Depth3D
  • Stl: Stl has multiple configuration options.
  • Tweaks: community mini configfiles (so-called Tweakfiles) to automatically start problematic games OOTB - can also start custom Tweak Commands
  • Vortex
  • VR: Side by Side VR: automatically play regular games in side-by-side mode in VR!
  • Wine: Download and use custom Wine archives instead of Proton

Requirements

(no special order)

Programs required for a full internal functionality:

  • awk (gawk)
  • bash (only shell tested)
  • bc
  • git
  • pgrep
  • unzip
  • wget
  • which
  • xdotool
  • xprop
  • xrandr
  • xwininfo
  • Yad All GUI elements like Settings Menu, Tray Icon, the Editor Dialog and all other windows use yad. A new enough version (>=7.2; see here) is required

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 from imagemagick (currently only used to scale a custom installed game header picture)
  • 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 Settings Menu, which covers almost everything available.

Wait requester

The initial Requester which acts as gate to the Settings Menu. If selected within a timeout the Start Menu will open, else the game starts seamlessly with all configurations set. It also shows how many game-related config files (or tweakfiles) are found.

stl requester

Wait requester duration

The Wait requester will wait WAITEDITOR seconds for User input (either Space or press OK)

When WAITEDITOR is set to 0 (in Game Menu) stl will directly start the game with the current configuration. If MAXASK in the Global Config (f.e. via Global Menu) is defined, the requester can be cancelled maximal MAXASK times before WAITEDITOR is automatically set to 0 for the selected game. Letting the requester timeout does not count as cancelled. The "Cancelled counter" is stored directly in the Game Config as ASKCNT and is resetted to 0 when MAXASK was reached and WAITEDITOR was set to 0.

Start Menu

The menu which should open as initial Menu when accepting the Wait requester. Can for example be configured in the GUI Options Options are

Configuration Locations

Downloads

The STLDLDIR directory stores all downloads started through stl To name a few those are Depth3D shader files Vortex the installation setup exe ReShade ReShade itself and required d3dcompiler dlls Auto Tweaks downloads for all enabled Auto Tweaks are stored in here GFWL/xlive xlive replacement self maintaining configs stl itself will be downloaded here when self-maintaining-configs are used Proton packages Proton packages Shaders all Shader repositories X64dbg debugger

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 options which are useful outside steam. For available options please check `stl help

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].