It's possible to use BakkesMod on GNU/Linux when running the Windows edition of Rocket League via Valve's Proton. The in-game GUI is not showing up, but the console and plugins seem to function correctly.


BakkesMod needs to be injected from the same wineprefix using the same version of wine that is used to run Rocket League. Protontricks allows working with wine for Proton enabled games. It's also possible to setup with the wine environment manually.

Using Protontricks

It's required to install Microsoft Visual C++ libraries to run the injector. They can be installed using the vcrun2017 winetrick:

$ protontricks 252950 vcrun2017

The runtime configuration for Rocket League has to be adjusted to use D9VK.

After starting Rocket League, the injector can be launched:

$ protontricks -c 'wine ~/Downloads/BakkesModInjector/BakkesMod.exe' 252950

Be sure to launch the injector using the same in-process synchronization primitives as for running Rocket League. Set WINEFSYNC=1, WINEESYNC=1 or none of those according to your configuration.


Test for the correct wine environment

The first step is to verify that you can run commands in the Proton instance of Wine. Errors at this step can occur due to a conflict from existing Wine settings via the ~/.wine directory.

Someone may have a better approach (if you are currently using wine frequently and have made config changes, you may not want to do this), whereas I just removed the ~/.wine directory all together and ran

env WINEPREFIX="~/.steam/steam/steamapps/compatdata/252950/pfx" ~/.steam/steam/steamapps/common/Proton\ 4.11/dist/bin/wine64 winecfg

This initialized ~/.wine and opened up the configuration pane. There were some custom entries in the Application Settings panel "Bayonetta.exe, NewColossus_x64k.exe" that I think are unique to proton. If this works, you can close winecfg and continue.

Install prerequisites

Directions to download vc_redist.x86.exe at Troubleshooting.

env WINEPREFIX="~/.steam/steam/steamapps/compatdata/252950/pfx" WINEESYNC=1 ~/.steam/steam/steamapps/common/Proton\ 4.11/dist/bin/wine64 vc_redist.x86.exe

Some concerning looking logs will be churned out from wine at this time, but as of yet it seems to install correctly after this.

Installing & Injecting BakkesMod

Launch Rocket League from Steam (Be sure D9VK is enabled), after Rocket League is launched - run the following command:

env WINEPREFIX="~/.steam/steam/steamapps/compatdata/252950/pfx" WINEESYNC=1 ~/.steam/steam/steamapps/common/Proton\ 4.11/dist/bin/wine64 BakkesMod.exe

Start Bakkesmod when RocketLeague is startet and close Bakkesmod when RocketLeague is closed


You need to create a script with execute rights.

Copy this in it:

#Start Bakkesmod
WINEESYNC=1 protontricks -c 'STEAM_COMPAT_DATA_PATH="/home/jokergermany/.steam/steam/steamapps/compatdata/252950" /home/jokergermany/.steam/root/compatibilitytools.d/Proton-5.9-GE-8-ST/proton run  "/home/jokergermany/.steam/steam/steamapps/compatdata/252950/pfx/drive_c/users/steamuser/My Documents/My Games/Rocket League/TAGame/BakkesMod.exe"' 252950 2> bakkesmod-wine.log &
#Start RocketLeague
mangohud MANGOHUD_CONFIG=position=top-right gamemoderun STEAM_COMPAT_DATA_PATH="/home/jokergermany/.steam/steam/steamapps/compatdata/252950"  /home/jokergermany/.steam/root/compatibilitytools.d/Proton-5.9-GE-8-ST/proton run /home/jokergermany/.steam/steam/steamapps/common/rocketleague/Binaries/Win64/RocketLeague.exe &
#wait until RocketLeague.ex is running
while ! killall -0 RocketLeague.ex 2> /dev/null; do
    sleep 1
#wait for closing RocketLeague
while killall -0 RocketLeague.ex 2> /dev/null; do
    sleep 1
killall BakkesMod.exe

You have to change this:

Put the right paths into it.

If you don't use mangohud or gamemoderun, delete it.

Steam Launch Options

Right Click on Rocketleague -> Properties

Paste this into the Launch Options

"/media/HDD/Nextcloud/" && echo %command%

Change the Path to the location of the script from above


Community content is available under CC-BY-SA unless otherwise noted.