Skip to content

v12.0 - Still Alive

Compare
Choose a tag to compare
@sonic2kk sonic2kk released this 24 Dec 15:47
· 323 commits to master since this release

It's been a while since the last release and there are many cool new features, thanks to all contributors! 🎉

A special mention this release goes to @frostworx, the creator and previous maintainer of SteamTinkerLaunch. Frostworx has stepped down as maintainer of the project and @sonic2kk (that's me!) has taken over as project lead after several months of active contributions. Many thanks to Frostworx for the countless hours dedicated to creating and maintaining SteamTinkerLaunch, and here's to the future of the project!

Thanks, and happy holidays!

Changes in "12.0 - Still Alive"

Note for Steam Deck users: This release updates the Steam Deck innoextract dependency version to 1.9-7. This dependency is used to install ModOrganizer 2, and this version is only supported on SteamOS 3.4 and above. You'll want to update SteamTinkerLaunch before installing ModOrganizer 2 on SteamOS 3.4. If you already have ModOrganizer 2 installed, you shouldn't be impacted by this change.

Features

  • Update issue templates by @sonic2kk
  • Search on NAME as well as GAMENAME for getTitleFromId by @sonic2kk
  • Add uninstall to Makefile by @sonic2kk
  • Write out GAMEID to meta file for native Linux games by @sonic2kk
  • Update the user-installed language file for the selected language to keep them up-to-date by @sonic2kk
  • Add dinput8=n,b to the list of preset DLL override options by @sonic2kk - This is commonly used for mods
  • Add xaudio2_7=n,b to the list of preset DLL override options by @sonic2kk
  • Improvements to ReShade support all by @zany130
    • Added Per-Game ReShade Override versions - You can now set a custom version of ReShade to use with a specific game
    • Added option to automatically bump the global version of ReShade by @zany130
      • Note: On occasion, new releases of ReShade can break Linux compatibility
    • Updated ReShade wiki to reflect these changes
  • Several Steam Deck improvements by @sonic2kk:
    • Enable GameScope options in Steam Deck Desktop Mode
    • Enable GameMode options in Steam Deck Desktop Mode
    • Enable MangoApp options in Steam Deck Desktop Mode
    • Enable Tray Icon in Steam Deck Desktop Mode
    • Enable Notifier in Steam Deck Desktop Mode - For existing installs, you will have to manually enable the notifier checkbox in the Global Menu
    • Clean up dependency files after successful Steam Deck install
    • Use xdg-open for Wiki Page F1 shortcut and Wiki button
    • Bump innoextract version to 1.9-7 for SteamOS 3.4 support
  • Major overhaul to Steam Deck installation experience (#629) by @sonic2kk:
    • Visual Feedback
      • Add notifiers during Steam Deck installation process
      • Add echo statements to further clarify installation progress from the command line
      • Add more logging during Steam Deck installation
    • Offline Installation
      • Warn when attempting to install SteamTinkerLaunch offline, but attempt to do it anyway
      • When offline, install from local files if there is no existing install
      • When offline, overwrite older installation files if the local files are newer
      • Skip downloading dependencies if an exact filename match exists in the SteamTinkerLaunch dependencies directory (usually /home/deck/stl/deps)
      • Try to match downloaded dependency archives with a fuzzy name search if an exact filename is not found (e.g., for offline intallation). This should allow innoextract.tar.gz to be found if you manually add your own dependencies for offline installation
      • Warn if downloaded dependency versions do not match what SteamTinkerLaunch expects
      • Try to find Yad offline instead of failing right away if the AppImage cannot be downloaded. There is currently no version checking for the Yad AppImage, and you are still free to provide your own Yad AppImage, such as one with built-in WebKit support
    • Quality of life
      • Improve language file loading process. The language file argument is prioritized early in the SteamTinkerLaunch execution
      • Search the current script directory for a language file if one is not found anywhere else
      • Add a -q option for a "Quiet" mode, which will disable the notifier during SteamTinkerLaunch installation.
    • Code was improved and cleaned up in various places relating to the Steam Deck installation process
  • Various UI improvements by @sonic2kk
    • Make various user interface elements bold
    • Remove quotes from some Main Menu text elements
    • Use prettier game name in Main Menu
    • Upcase first letter of ProtonDB Rating Trend
    • Show last played time in hours, minutes and seconds
    • Only show last played text on the Main Menu if the game was played with SteamTinkerLaunch before
    • On Steam Deck, make scrollbar slightly thinner
    • Add Steam Deck Compatibility rating to Main Menu and Wait Requester
    • Rename "Cancel" button to "Skip" on Wait Requester
    • Add program version to Wait Requester heading
    • Add "Open Issue" option to Tray Icon menu
  • Various command line usage improvements by @sonic2kk
    • Add command line function steamtinkerlaunch steamdeckcompat <appid> to get a game's Steam Deck compatibility rating by @sonic2kk - This will also work offline if it's been fetched before
      • If you've launched a game with SteamTinkerLaunch before, can search for its AppID by name with steamtinkerlaunch getid "<gamename>"
    • Add command line function openissue to compliment the Tray Icon option
    • Make output of getgamedir command prettier and more flexible by using the AppManifest by @sonic2kk - Now outputs in the format Game (AppId) -> /path/to/game
    • Make output of getcompatdata command prettier by @sonic2kk - Now outputs in the format Game (AppID) -> /path/to/prefix
    • Using -h flag now shows the help screen
    • Using --version or -v now shows the SteamTinkerLaunch version
  • Various One-Time Run Improvements by @sonic2kk - Note that on Flatpak, permissions may have to be granted for STL Flatpak to access some directories
    • Add button for one-time run of Winecfg
    • Add button for one-time run of Winetricks
    • Add option to use the custom executable's directory as the working directory - This allows tools like Committee of Zero's STEINS;GATE Steam Patch to run
    • Add option to use a custom working directory to run an executable
  • Various MO2 improvements by @sonic2kk and @frostworx
    • Major overhaul of ModOrganizer 2 implementation by @frostworx (#674)
    • Add 'Valheim' to MO2 games list
    • Make output of mo2 list-installed prettier
    • Make output of mo2 list-supported prettier
  • Various minor improvements to Vortex Mod Manager support by @sonic2kk
    • Added the following games to vortexgames.txt in an attempt to improve autodetection when selecting these games for managing by @sonic2kk: Dragon Quest XI S: Echoes of an Elusive Age, Dying Light 2 Stay Human, Elegos, Elden Ring, Encased: A Sci-Fi Post-Apocalyptic RPG, ELEX II, Farming Simulator 22, FINAL FANTASY VII REMAKE INTERGRADE, Ghostrunner, God of War, Groundbranch, Grounded, Half-Life 2: Episode Two, Hardspace: Shipbreaker, Hollow Knight, Horizon Zero Dawn, Into the Radius VR, JoJo's Bizarre Adventure: All-Star Battle R, Jurassic World Evolution 2, Judgement, Lost Judgement, Marvel's Spider-Man Remastered, MechWarrior 5: Mercenaries, MechWarrior Online, Mon Bazou, My Summer Car, NARUTO SHIPPUDEN: Ultimate Ninja STORM 4, Ready or Not, Resident Evil 3, SpongeBob SquarePants: Battle for Bikini Bottom - Rehydrated, Star Traders: Frontiers, The Dark Pictures Anthology: House of Ashes, The Dark Pictures Anthology: Little Hope, The Dark Pictures Anthology: Man of Medan, The Elder Scrolls: Arena, V Rising, Wildermyth, Yakuza 0, Yakuza 3 Remastered, Yakuza 4 Remastered, Yakuza 5 Remastered, Yakuza 6: The Song of Life, Yakuza: Like a Dragon
      • This list does not guarantee Linux mod support for all of these games, but Vortex should be able to autodetect these games now, allowing you to select them for managing. Some of them may still require you to install an extension to work (e.g., the Yakuza games may require RyuModManager to be downloaded and ran at least once).
    • Make output of vortex list-owned prettier - Games are now output in the format Game Name (AppID)
    • Make output of vortex list-installed prettier - Output format matches list-owned
    • Make output of vortex list-online prettier - Output format matches list-owned
  • Added initial support for Hedge Mod Manager, an open-source Modern Sonic game mod manager, support added by @sonic2kk - Huge thanks to the Hedge Mod Manager team for their permission and collaboration! For more details, see the wiki page
    • Installation automatically handles installing all the necessary Winetricks for HedgeModManager to run (dotnet48 d3dx9 vcrun2019 d3dcompiler_47)
    • Support for installing the latest stable or latest nightly - Can be configured from the Global Menu
    • Automatically updates to the latest version available for the stable and nightly builds
    • Automatically installs the needed dotnet48 for each 64bit game to properly load mods - Including for games installed after initial installation (see HedgeModManager wiki page for notes on workarounds should this installation fail)
    • Automatic installation of any necessary Winetricks to improve compatibility with certain mods (i.e., d3dcompiler_47 for the Sonic Generations Direct3D 11 mod)
    • Automatic link handling for GameBanana's 1-Click Mod Install button for all supported Hedge Mod Manager titles
      • NOTE: This may not work fully on Steam Deck, but manually copying the URL from GameBanana 1-click button and pasting it into the command xdg-open <your url goes here> should allow for one-click installation
    • Automatic .desktop file creation for launching Hedge Mod Manager from your Desktop Environment's Application Menu
    • Various command-line options added as well, see them all with steamtinkerlaunch help
  • Add option to keep SteamTinkerLaunch open once a game is closed
  • Minor Readme updates
  • General wiki improvements
  • Updated Chinese translation by @ling0412
  • Various minor changes and additions to logging

Fixes

  • partial github download rewrite, vortex fixes, other fixes (#597, #555)
  • Fixed list of available Wine packages not working
  • Fix getExeFromID when GAMEEXE is not available in meta file by @sonic2kk
  • Fix getIDFromTitle by @sonic2kk
  • Fix systems list duplicating in Help URL button's tooltip each time the Main Menu gets reloaded by @sonic2kk
  • Fix Steam Collection matcher only matching first word in collection name by @sonic2kk
  • Fix invalid identifier logging error for some native Linux games by @sonic2kk
  • Various Steam Deck fixes by @sonic2kk:
    • Don't attempt to update SteamTinkerLaunch on Steam run
    • Various fixes to improve and reduce notifier spam and process spam
    • On Steam Deck, fix some UI elements being covered by the scrollbar
    • Fix Yad path not being set in global.conf if the SteamTinkerLaunch config folder was cleared but SteamTinkerLaunch was not uninstalled
  • Attempt to redownload game header if the existing one is zero bytes by @sonic2kk - Fixes missing headers when game is ran offline (most noticeable on Steam Deck)
  • Handle Proton Experimental version mismatch by @sonic2kk
    • If there is a Proton Experimental mismatch, SteamTinkerLaunch will update to the latest available on your system. If we cannot find any Proton Experimental version, fall back to the first Proton version listed in ProtonCSV.txt
  • Various path fixes for local installs on Linux Desktop by @sonic2kk - This should particularly help Desktop ProtonUp-Qt users that see warnings or incorrectly configured global paths pointing at /usr/share/
  • Various minor Vortex Mod Manager fixes by @sonic2kk:
    • Fix Vortex sometimes failing to download dotnet6 if site folder was missing
    • Fix Vortex games dialog listing some installed games as 'none' if they were never launched with SteamTinkerLaunch
    • Fix rare case of Vortex games dialog incorrectly listing duplicate game names
    • Fix vortex list-installed command not returning game names for games that had never been launched with SteamTinkerLaunch before
    • Fix vortex list-online command returning duplicate entries
    • Fixes and improvements to vortex list-supported command
  • Clean up empty appinfo bin files by @sonic2kk
  • Fix removing user-created prefix symlinks by @sonic2kk
  • Fix ReShade installing into custom command by default by @sonic2kk - Now ReShade will only install into a custom command if a specific option for it is enabled, or if ReShade is enabled and "Only custom command" is enabled

Removed

  • Removed CheatEngine and GameConqueror support by @sonic2kk.
    • Having these tools has the possibility of flagging SteamTinkerLaunch as a cheating program by various anti-cheat programs, which could result in players getting banned. No such case has been reported as of yet. See #618 for explanation and discussion around the feature removal. If you really want these programs back, you can add them as custom commands on a per-game basis.

Upstream Improvements

ProtonUp-Qt Support

Several users reported issues with installing SteamTinkerLaunch using ProtonUp-Qt. These issues should be fixed in ProtonUp-Qt v2.7.5 and above (#125), thanks to a collaborative effort between @sonic2kk and ProtonUp-Qt maintainer @DavidoTek. Here is a brief overview of the changes:

  • Fixed some Flatpak installation bugs
  • Ability to replace (and also remove) existing SteamTinkerLaunch installations external to ProtonUp-Qt
  • Ability to disable adding SteamTinkerLaunch to your PATH if you want (advanced mode only)
  • Fix incorrect game count in SteamTinkerLaunch remove dialog

Note that when installed via ProtonUp-Qt, SteamTinkerLaunch will not automatically update including on Steam Deck. You can install SteamTinkerLaunch from source if you want automatic updates.