/HeroicBashLauncher

Directly launch any Epic Games Store and GOG game from anywhere without Heroic on Linux.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Announcement: This project will no longer be maintained. It was a good run. Thanks everyone for using HeroicBashLauncher!

GitHub GitHub release (latest by date including pre-releases) GitHub Repo stars GitHub closed issues GitHub top language GitHub all releases

HeroicBashLauncher

NOTE - This is an independent project and not affiliated with Heroic Games Launcher.

Ever wanted to launch your Heroic Games Launcher game library directly from the Steam, Lutris, GameHub or any other frontend game launcher without opening Heroic? Bash Launcher does exactly this and takes you straight to the game!

Heroic Bash Launcher

Index

Features

✔️ Creates game launch scripts for installed Epic & GOG games that act as shortcuts

✔️ Completely bypasses Heroic running in the background and eliminates any extra CPU and memory usage*

✔️ Includes all launch parameters including cloud save-syncing (EPIC GAMES ONLY) set in Heroic's Game Settings

✔️ Syncs games to Steam along with artwork**

✔️ Enables per game profile customization for Steam Deck users

✔️ Users can add game launch scripts to any game library or manager like Lutris, GameHub, GNOME Games, etc.

*Launching occurs via legendary and gogdl programs which Heroic uses

**The "Add To Steam" feature in Heroic (v2.4.0+) is recommended

Pre-requisites

  • Heroic
  • Zenity
  • glibc v2.31+

Using Bash Launcher

Download

Head over to the Releases page. Then download and extract the .zip file of the latest release.

Running the Program

Execute the program by simply double-clicking the HeroicBashLauncher executable. You should be greeted by the Process Finished dialog at the end. Don't forget to enable executable permission - you can achieve that by doing a right-click and selecting Properties.

Running in Silent Mode

If you want to disable the GUI dialog pop-ups for some reason, you can execute ./HeroicBashLauncher --silent from the terminal.

Configuring Settings

Open the settings.config file and disable an option by changing "true" to "false".

The following options are available:

  • "artwork" - Downloads artwork for adding Heroic games to Steam
  • "epic" - Creates scripts for your Heroic Epic library
  • "gog" - Creates scripts for your Heroic GOG library
  • "autoaddtosteam" - Automatically add Heroic games (game scripts) to Steam for Deck users

Launching Games

Steam Deck users

Your games will be automatically added to Steam along with the artwork. Just open Steam or switch to the Deck UI Mode to launch your titles.

Desktop users

  • Run your game by executing the game's launch script by double-clicking the game's launch scipt or running ./<gamename>_Heroic.sh
  • Using your preferred game launcher/manager, just point the executable path to the game's launch script or just run AddToSteam.sh to add and launch games from Steam. Simple!

Don't copy or move the game files and launch scripts anywhere else, it won't work.

Handy Guides

Issues and Suggestions

Do note that I don't have a Deck and this tool wasn't developed with the Steam Deck in mind, thus you may encounter Deck-specific issues.

Before submitting an issue :

  • Make sure you've run the game from Heroic atleast once

  • Restart Steam after adding the launch scripts if the games don't launch.

  • Disable the Proton compatibility layer for the newly added launch script. You're not trying to run a game but a script.

  • Try using Wine-GE instead of Proton, since Proton is made for Steam games in mind.

  • Check if the added game's TARGET (Right Click Game -> Properties -> SHORTCUT) points to the correct path in Steam

If it's not working for you, consider checking the logs. The logs for the game launch scripts and the program are present in /GameFiles/logsand the HeroicBashLauncher.log respectively.

Feel free to suggest any new features and post issues in the heroic-bash-launcher channel by joining Heroic's Discord server.

Building and Testing

Since the program makes use of an executable, you will need Python version 3.8+ and PyInstaller to build the code.

You will also need wget and requests.

To build the program, run build.sh which will generate an executable stored in the dist folder. Copy the executable, paste it in HeroicBashLauncher and run it to test.

License

This project is under the GNU GPLv3 license. You can take a look at LICENSE.md for more information.

Makes use of these amazing projects - Legendary, heroic-gogdl and Heroic Games Launcher.

Support

Like my work!? Feel free to Buy Me A Coffee.