Skip to content

Instructions for Heroic Games Launcher #17

@valenipes

Description

@valenipes

Hi, a few weeks ago I discovered this project, and it was incredibly helpful in getting BakkesMod (BM) up and running. I installed Rocket League (RL) using the Heroic Games Launcher (HGL), and since this guide is more oriented towards Steam, I encountered some challenges that I managed to work around. Now that BM is functioning properly, I wanted to share the information I've gathered from this and other guides in the hope of helping someone else. I won't cover the installation of RL.

To the project owner: I'm not sure if this is the best way to share knowledge or if I should create a fork or a pull request, I'm not a developer. I kindly ask for your patience.

Heroic Games Launcher installation

First of all, I initially tried with the flatpak version, however, as it introduces some level of insulation, there are extra steps to take, but I am very lazy and busy so I decided to uninstall the Flatpak version and reinstall the Arch User Repository executable. For distributions different from Arch, I suggest you to visit the installation page of HGL, or to search further to get the Flatpak version working.

Wine installation and Wine path

Once installed HGL, I launched it and selected "Wine Manager" in the sidebar (1), then "WINE-GE" at the top (2) and then I installed Wine-GE-Latest (3). Once finished, from here you can also see the Wine path by clicking in the folder icon under the column "Action" (4).

Image

A file manager will open in the path
of all wine versions. Enter the Wine-GE-latest folder, then bin and here is the wine executable.
For me, the path was ~/.config/heroic/tools/wine/Wine-GE-latest/bin/wine. I will refer to this path as <Wine_Path> from now on.

Wine prefix and its configuration

From the library section in the sidebar (1), click in the RL's settings icon (2)

Image

then you will see the WinePrefix folder, for me it's ~/Games/Heroic/Prefixes/default/Rocket League. I will refer to this path as <WinePrefix_Path> from now on.

Scroll down in the menu and you will see a Winecfg button, click on it and a new window will open. Select Windows 10 as the Windows version.

BakkesMod installation and installation path

Download BakkesModSetup.exe from BM's site (I will suppose it's in your Downloads directory), then open a terminal and launch (replace paths before launching):
WINEFSYNC=1 WINEPREFIX="<WinePrefix_Path>" "<Wine_Path>" ~/Downloads/BakkesModSetup.exe

Follow the installation process. For me it wasn't necessary to see the whitelisting documentation, and probably that's not your case too.

During the installation, the BakkesMod.exe path should be showed, anyway it's something like
<WinePrefix_Path>/drive_c/Program\ Files/BakkesMod/BakkesMod.exe by default. I will refer to this path as <BM_Path> from now on.

BakkesMod configuration

Open a terminal and run:
cd <WinePrefix_Path>/drive_c/ProgramData
mkdir -p Epic/EpicGamesLauncher/Data/Manifests

Someone suggests to write a new file inside the Manifests folder just made, but for me it wasn't necessary as the a file .item autogenerated the first time I launched BM.

BakkesMod launch (Manual)

First of all, launch RL, then from a separate terminal (I suggest you to use a Virtual Desktop setup with at least 2 workspaces, as shown here for example: https://itsfoss.com/ubuntu-workspaces/) run:
WINEFSYNC=1 WINEPREFIX="<WinePrefix_Path>" "<Wine_Path>" <BM_Path>

A window will open. Click yes everytime it asks to do an update. If everything goes well, it won't be needed to uncheck Enable Safe Mode in BM's settings.

Update! BakkesMod launch (Automatic)

Thanks to @256shadesofgrey for his guide. Basically:

  1. Launch HGL from a terminal (by typing Heroic, at least on Arch). You'll see some debug messages in the terminal.
  2. Launch RL; in the terminal, you'll see something like this:
    (22:08:38) INFO: [Legendary]: Launching Rocket League®: HEROIC_APP_NAME=Sugar HEROIC_APP_RUNNER=legendary GAMEID=umu-0 HEROIC_APP_SOURCE=epic STORE=egs STEAM_COMPAT_INSTALL_PATH=/home/<user>/Games/Heroic/rocketleague WINEFSYNC=1 LD_PRELOAD= WINEPREFIX="/home/<user>/Games/Heroic/Prefixes/default/Rocket League" WINEDLLOVERRIDES=winemenubuilder.exe=d WINE_FULLSCREEN_FSR=0 WINEESYNC=1 DXVK_ENABLE_NVAPI=1 DXVK_NVAPI_ALLOW_OTHER_DRIVERS=1 PROTON_EAC_RUNTIME=/home/<user>/.config/heroic/tools/runtimes/eac_runtime PROTON_BATTLEYE_RUNTIME=/home/<user>/.config/heroic/tools/runtimes/battleye_runtime ORIG_LD_LIBRARY_PATH= LD_LIBRARY_PATH=/home/<user>/.config/heroic/tools/wine/Wine-GE-latest/lib64:/home/<user>/.config/heroic/tools/wine/Wine-GE-latest/lib GST_PLUGIN_SYSTEM_PATH_1_0=/home/<user>/.config/heroic/tools/wine/Wine-GE-latest/lib64/gstreamer-1.0:/home/<user>/.config/heroic/tools/wine/Wine-GE-latest/lib/gstreamer-1.0 WINEDLLPATH=/home/<user>/.config/heroic/tools/wine/Wine-GE-latest/lib64/wine:/home/<user>/.config/heroic/tools/wine/Wine-GE-latest/lib/wine LEGENDARY_CONFIG_PATH=/home/<user>/.config/heroic/legendaryConfig/legendary /opt/Heroic/resources/app.asar.unpacked/build/bin/x64/linux/legendary launch Sugar --wine /home/<user>/.config/heroic/tools/wine/Wine-GE-latest/bin/wine --language en
    Now, (22:08:38) INFO: [Legendary]: Launching Rocket League®: is useless, the list of variables (i. e. VARIABLE=value) is important (I'll refer to it as <List_of_variables> from now on) and also the line /opt/Heroic/resources/app.asar.unpacked/build/bin/x64/linux/legendary launch Sugar --wine /home/<user>/.config/heroic/tools/wine/Wine-GE-latest/bin/wine --language en (I'll refer to it as <Game_launcher> from now on).
  3. Create a new file and place it somewhere, for example I have a folder Scripts in the home folder. Call it something like launch_rocket_league.sh and inside it:
#!/bin/bash
<List_of_variables> <Game_launcher> &

sleep 30 # This is necessary at least for me because otherwise RL crashes

WINEFSYNC=1 WINEPREFIX="<WinePrefix_Path>" "<Wine_Path>" <BM_Path>

For example, my launch_rocket_league.sh is:

#!/bin/bash

HEROIC_APP_NAME=Sugar HEROIC_APP_RUNNER=legendary GAMEID=umu-0 HEROIC_APP_SOURCE=epic STORE=egs STEAM_COMPAT_INSTALL_PATH=/home/<user>/Games/Heroic/rocketleague WINEFSYNC=1 LD_PRELOAD= WINEPREFIX="/home/<user>/Games/Heroic/Prefixes/default/Rocket League" WINEDLLOVERRIDES=winemenubuilder.exe=d WINE_FULLSCREEN_FSR=0 WINEESYNC=1 DXVK_ENABLE_NVAPI=1 DXVK_NVAPI_ALLOW_OTHER_DRIVERS=1 PROTON_EAC_RUNTIME=/home/<user>/.config/heroic/tools/runtimes/eac_runtime PROTON_BATTLEYE_RUNTIME=/home/<user>/.config/heroic/tools/runtimes/battleye_runtime ORIG_LD_LIBRARY_PATH= LD_LIBRARY_PATH=/home/<user>/.config/heroic/tools/wine/Wine-GE-latest/lib64:/home/<user>/.config/heroic/tools/wine/Wine-GE-latest/lib GST_PLUGIN_SYSTEM_PATH_1_0=/home/<user>/.config/heroic/tools/wine/Wine-GE-latest/lib64/gstreamer-1.0:/home/<user>/.config/heroic/tools/wine/Wine-GE-latest/lib/gstreamer-1.0 WINEDLLPATH=/home/<user>/.config/heroic/tools/wine/Wine-GE-latest/lib64/wine:/home/<user>/.config/heroic/tools/wine/Wine-GE-latest/lib/wine LEGENDARY_CONFIG_PATH=/home/<user>/.config/heroic/legendaryConfig/legendary /opt/Heroic/resources/app.asar.unpacked/build/bin/x64/linux/legendary launch Sugar --wine /home/<user>/.config/heroic/tools/wine/Wine-GE-latest/bin/wine --language en &

sleep 30 

WINEFSYNC=1 WINEPREFIX="/home/<user>/Games/Heroic/Prefixes/default/Rocket League" "/home/<user>/.config/heroic/tools/wine/Wine-GE-latest/bin/wine" /home/<user>/.config/heroic/tools/wine/Wine-GE-latest/bin/wine /home/<user>/Games/Heroic/Prefixes/default/Rocket\ League/drive_c/Program\ Files/BakkesMod/BakkesMod/BakkesMod.exe

Maybe the variables definition is reduntant, but using export doesn't work for me. This is the only way I found which works.

Make sure the script is executable.

This script alone will run the game even if you don't open HGL's GUI, but we can do better.

  1. Open HGL, go to to the Library section and then settings (like I said in "Wine prefix and its configuration"), then advanced (1) and simply write "echo" under Select an alternative EXE to run (2); then scroll down to Select a script to run before the game is launched and select the script you wrote before (3) (e.g. /home/<user>/Scripts/launch_rocket_league.sh).

Image

  1. Launch RL normally from HGL.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions