Background

There are a lot of Steam games with great Linux-native source ports, like Roller Coaster Tycoon 2 (OpenRCT2), Elder Scrolls II: Daggerfall (Daggerfall Unity), Elder Scrolls III: Morrowind (OpenMW), all id Software games pre-2009, and any game supported by the ScummVM project, to name a few. The only downside to playing source ports rather than the original game (most of the time), is the lack of steam integration.

However, it is possible to play these games through source ports with steam integration on Linux, and I’ll explain how.

First, Steam-Play-None

In order to get around using Proton for many of these games, we need to install the Steam-Play-None compatibility tool. This compatibility tool basically allows us to use no compatibility tool and run these games natively. To install, follow the steps listed on the GitHub page.

Now, by default, steam only gives you this tool as an option for Linux-native steam games. However, many games with source ports only have a Windows version on steam, like Morrowind or Roller Coaster Tycoon 2. So we need to change the configuration files for Steam-Play-None.

Go to the file ~/.steam/steam/compatibilitytools.d/Steam-Play-None/compatibilitytool.vdf and change the line stating

      "from_oslist"  "linux"

to

      "from_oslist"  "windows"

Now Steam-Play-None can be used for Windows-only steam games.

Second, Modify Launch Options

Now, open steam, and go to the game for which you want the source port to run when you hit “Play.” Right click the game and click “Properties.” Under “General,” there are two settings you want to change: First, turn “Enable the Steam-Overlay while in-game” off. Next, put this for the launch options:

LD_LIBRARY_PATH="" "*insert absolute path to source port here*" # %command%

That’s it! Now when you play your source ports, it will track hours into Steam.