Skip to content

Instantly share code, notes, and snippets.

@srlemke
Last active April 4, 2026 10:46
Show Gist options
  • Select an option

  • Save srlemke/617fe318ea26fed4cbd2edaec9209c86 to your computer and use it in GitHub Desktop.

Select an option

Save srlemke/617fe318ea26fed4cbd2edaec9209c86 to your computer and use it in GitHub Desktop.
SimHub on Linux
Update 02.Apr.2026:
I made a script that will do all the needed checks and install SimHub:
https://github.com/srlemke/SimHub_on_Linux
There is also a V2 in the works that also can install CrewChief:
https://github.com/srlemke/SimHub_on_Linux/tree/With-Crewchief
Automatically adds and configures plugins for LMU, it also detects custom Proton.
Automatically adds dash.exe when Raceroom.
Fixes common issues, like removal of dotnet4 Steam stub
Applies a lot of workarounds, shoul work out of the box and faster compared to bellow manual procedure.
The script is probably way faster todo it now, basically:
git clone https://github.com/srlemke/SimHub_on_Linux.git
cd SimHub_on_Linux/
chmod +x Install_Simhub_Linux.sh runsimhub2.sh
./Install_Simhub_Linux
./runsimhub2.sh
'Old' tutorial is still bellow unchanged.
##################################################################
Updated: 26.Nov.2025 - working again after some adjustments!
Reading is annoying some times, but read before start pasting commands, this also gives you a small overview on how
Linux/proton manages games.
This installs simhub per game, so you have to install it for each game.
All commands in a terminal as regular user, never as root.
Bellow grep will get you this id, I will be using Raceroom in this example, but change it to the id of your game:
slemke@games:~> grep name ~/.steam/steam/steamapps/appmanifest_* |grep -v 'Steam\|Proton'
/home/slemke/.steam/steam/steamapps/appmanifest_211500.acf: "name" "RaceRoom Racing Experience "
/home/slemke/.steam/steam/steamapps/appmanifest_2399420.acf: "name" "Le Mans Ultimate"
slemke@games:~>
for info only, the vessels for each game are at:
If for whatever reason, you delete a game id vessel its kind of similar to formating windows, the good think is it wont delete
the downloaded game data, as it is stored elsewhere, so you start with a fresh game without having to re-download. (Try it
with just renaming the id, you can rename it back later anyway.)
~/.steam/steam/steamapps/compatdata/
For practicalitty, lets store the game id into a variable (Raceroom here in this example, change the number for your game):
game=211500
Install dotnet48 into the game vessel:
WINEPREFIX=~/.steam/steam/steamapps/compatdata/$game/pfx winetricks -q --force dotnet48
You can get latest simhub here: https://github.com/SHWotever/SimHub/releases
Installing Simhub - after install do not run it if the installer asks, bacause it will lock the game prefix and steam wont be able to start the game.
So to be able to run the game, simHUB cannot be running, so always, first start game, then simHUB.
WINEPREFIX=~/.steam/steam/steamapps/compatdata/$game/pfx protontricks-launch --appid $game /home/slemke/Downloads/SimHubSetup_9.11.1.exe
To launch:
export PYTHONWARNINGS="ignore::UserWarning"
protontricks-launch --appid "$game" ~/.steam/steam/steamapps/compatdata/"$game"/pfx/drive_c/"Program Files (x86)"/SimHub/SimHubWPF.exe
Info: Maybe in the future you have todo the dotnet48 install command again as sometimes steam updates
owerwrite something and simHUB stops to work, reinstalling dotnet48 fixes it.
Caveat, above command uses the gameID we set to the game alias, this will be gone after reboot to above launch command will fail.
You can also run it without --appid then it will ask the game name.
If you get:
protontricks (ERROR): Active Proton installation could not be found automatically.
Then you need to set the proton version you use, for example:
export PROTON_VERSION="Proton Experimental"
Info / nice to know:
Linux games are isolated 'Compatibility Vessels' per game, it may look weird, but after understanding it better its
quite handy, if something goes wrong you just delete the whole 'vessel' and start from scratch, as if windows was reinstalled.
The vessel for each game has an unique ID.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment