Steam Tinker Launcher - Interview with Developer


Ever heard of Steam Tinker Launcher,? If I have to go by the preliminary results of the Linux Gamer survey (still open by the way!), most of you have not. It is a tool helps you to launch your Steam games with specific options (such as launch flags) and making it very easy to manage individual game settings if needed.

Frostworx, who is the developer of STL, has agreed to answer questions from us about his tool (and more!).

Boiling Steam: Why did you create Steam Tinker Launcher (STL), and how did that come about?

Frostworx: Initially I just wanted to write a small tool for myself, which helps starting additional scripts besides GameMode [game booster from Feral Interactive] when playing on Steam. With only one single line text field, the Steam “Launch Options” are barely usable and I never feel welcome when using it. So I wanted a program which squeezes whatever tweak I want through this eye of a needle to make tinkering easier.

To make “installing” the program as easy as possible it was clear that the name should be short - so the idea of “stl” was born. Many new ideas for additional features arose quickly and as I had (pandemic related) lots of free time to implement them. The project became bigger and bigger very fast.

I was sure that some other users could have a use for such a tool as well, so I released it publically very early. With STL having so many options, this might sound totally contradictory first, but I like the “one thing well” philosophy. It is incredibly fascinating how many games using SteamPlay/Proton simply work out of the box on Linux, but those games which do not work require many different, often very specific customizations to get them working. The “one thing well” philosophy doesn’t apply here with hacking one solution for one game, but with offering one single tool which covers every possible tweak required to get any game working.

BS: What are the typical use cases for STL? There’s a long list of features but do you know how it is mostly used by end users?

Frostworx: To be honest I do not know that for sure. End users are surprisingly shy and feedback is very rare. I often do not even know if a feature is used at all or if it could simply be removed as well. The most apparent sign for people actually using STL is the amount of stars on the project page. When I started the project I would have never expected so many, so thanks for every single one! More verbose feedback would still be very nice, but apparently all the work was not in vain.

BS: Many options in STL are kind of related to Proton. For native Linux games, what benefits is there in using STL?

Frostworx: Initially I did not even think of supporting native Linux games at all. Only when an issue was opened, where it turned out that the non-working game was not using Proton I implemented it. As you said, STL is mostly meant for games using Proton as native Linux games are supposed to work out of the box without any further tweaks needed. Multiple proton/windows related features are disabled automatically for native Linux games, but STL also comes in handy for example for using 3rd-party tools like GameMode or Game Conqueror, starting custom scripts and binaries, or playing a game natively by using tools like Boxtron, Roberta and Luxtorpeda. Also some sort of debugging, f.e. using strace can be easily activated.

BS: Any idea what are the most popular features (or requests)?

Frostworx: I can’t really tell, because both feedback and feature requests are rare.

BS: How do you use STL yourself? Can you give us a couple of examples on how it made your gaming experience better?

Frostworx: I enable STL for every single game on Steam, simply because it doesn’t have any disadvantages and every option I want (f.e. my default Proton version, GameMode, MangoHud, whatever feature) just works without having to configure anything for every single game. By using STL as as Steam compatibility tool it also has the practical side effect, that the Steam Linux Runtime is not enabled, because Steam simply doesn’t use it in combination with any Steam Compatibility Tool.

STL generally gives comfortably quick access to configuration and debug options whenever I need them, all log files are properly sorted (can be found by game title and SteamAppID) in one place and (re-usable) meta-data files are seamlessly generated in the background. I also often use STL to download and switch custom Proton versions, toggle some options, enable debugging, manage game shaders, install animated grids or use winetricks. STL generates backups automatically for all of my “steamuser” files (so mostly savegames and game configs) and automatically offers all editable found game configs for editing.

I like the STL “Steam Category functions”, because they can simply be used by dragging a game into the corresponding Steam Category. Whenever I want to use Vortex for a game, I simply add the game to the “Vortex” steam category. Same with the “ReShadeVR” Steam category - every game in that category will start in Stereo3D mode in VR by installing and using ReShade with the SuperDepth3D shader in combination with vr-video-player - fully automated. There are many more pre-configured categories to choose from (like Backup, CheatEngine, DOSBox or Luxtorpeda).

BS: Newcomers to STL may be overwhelmed by the amount of options available in the tool. What would you suggest they start tweaking with, to get started?

Frostworx: I have to admit that this is very true. Fortunately a friendly user (I guess you know it is “your” podiki) is currently working on rewriting the monstreous README into a sane formatted wiki, which probably helps a lot to get an overview of all the available features. Anyway I’d suggest to simply start by using it:

  1. After installing STL and its dependencies (I hope it will appear in multiple distribution packages), simply add STL as Steam compatibility tool (Steam only allows games using Proton here)
  2. Choose a game you want to test with and start it
  3. Confirm to open the STL GUI
  4. Look around – there are many options to discover. For an initial overview you should have some time and patience
  5. Later, when you’ve seen everything and you know what you mostly want to use, you can also configure STL to show only those options you’re interested in

For first steps you might want to enable GameMode, change the Proton version and options for the game, download a custom Proton version like ProtonGE and use it. Also find out how to enable features by simply dragging the game into the corresponding Steam category. It is really very easy to use for most of the things it offers after a learning curve.

BS: What are your long term goals for the tool?

Frostworx: As long as it makes fun, there are new ideas and I find the free time, I will continue to work on it. Like with every open-source project, an active community is mandatory to stay alive in the public. Of course I would not mind if STL would be integrated officially into Steam, but that is more a wish than a goal.

BS: How can people contribute to STL?

Frostworx: There many ways to contribute. I even added an extra chapter in the documentation, to make choosing one even easier. Any contribution in either of these suggestions would be great, but as many of them are based on each other initially helping to make Steam Tinker Launch more known is the best contribution to start with. So I think creating/maintaining a steamtinkerlaunch package for your distribution or simply suggesting the tool itself would help a lot.

For the gaming community I would still love to see people picking up the idea of sharing their tweaks so others can play a game out of the box, because those tweaks are seamlessly auto-applied. My idea for this are the “tweakfiles” - minimal configuration files with required tweaks, which are loaded when found. All of the tweakfiles are either created by myself or by sidebyside, and these can optionally be imported from Lutris and protonfixes as “auto-tweaks” automatically. It seems pretty obvious that there’s no bigger interest in this solution.

Perfect would be an online platform with a parsable API: the user could fill pre-defined columns with his findings comfortably with a nice web-interface and (f.e. based on a user-rating score) those tweaks could be autoloaded by STL (of course optional). In theory STL could not only parse such a platform, but could as well upload user-contributions. If there’s any interest in helping to create something like this, please get in contact).

Everybody knows ProtonDB, which could be perfect for this, but it doesn’t have an open API, the monthly dumps are giant monolitic blobs and the user contributions are barely parsable loose free form texts, so unfortunately this is not an option in the current form.

BS: We just ran a predictions for Linux gaming in 2021 article, do you have any predictions? Or wishlists?

Frostworx: I’m sure we’ll see several new SteamVR announcements. Although there are several old Linux-related SteamVR issues still not fixed, I’m pretty confident that the Linux VR situation will improve a lot, including additional new VR peripherals with Linux drivers. Finally getting functional Valve Index cameras would be really nice. There probably won’t be too many new games (pandemic), but most of the major titles will work fine from day one on Linux. I’m also confident that there will be at least one Linux native masterpiece by the end of the year (likely from Valve).

Definitely on my games wishlist is day-one Linux compatibility for BioMutant (I have it on my Steam wishlist since 2017 and can’t wait to play it).

note: not sure if appropriated: (As a long term wish I also hope that the Valve keeps the SteamLinuxRuntime optional and not start preventing the user from tweaking by forcing it. I personally still don’t see any user-benefit from using it, but several disadvantages, so I’d like to keep the freedom to skip it).

BS: What kinds of games do you like?

Frostworx: I don’t play any kind of war games and prefer singleplayer (or sometimes local coop games) generally. Apart from that games I like come from multiple different genres though. I’m sure I forget some of my all time favorites, but to name just a few I like Skyrim, Fallout 3, Witcher 3, FFX, FFXII, Fable, Thief: Deadly Shadows, WipeOut, HOMM 3+5, Portal, and Dishonored. Also multiple VR games are excellent of course, like Half-Life:Alyx, Beat Saber, InDeath, Summer Funland, Headmaster (hidden gem), Audica…And of course there are many Amiga (and GameBoy) titles, which I will never forget.

BS: Do you use Linux exclusively, and if so, why?

Frostworx: Yes, I use Linux exclusively. Beginning in childhood I was a long-time Amiga user (still have my high-end A4000), consequently switched directly to MorphOS in about 2001, started dual-boot into multiple Linux distributions in 2002 and switched to Gentoo Linux as my main OS in 2004. Now since about 2018 I use Arch Linux everywhere. I never liked operating systems which treat the user like an enemy, like an idiot and/or are shipped pre-infected with 1st- or 3rd-party crap and spyware. That’s why I never used Windows, only MacOS in a short period on above MorphOS PPC machine and still don’t use any mobile phone.

We would like thank Frostwork for all his work on STL and his availability to answer questions! We will be following up with STL in the near future again.