This is how to go straight from Steam to playing the game in one simple step.
The Trick
The usual method of skipping the Paradox Launcher we know from Cities: Skylines 1 and other Paradox games – putting “<path to executable> %command%” in the launch options – doesn’t work with Proton.
You can use this command instead:
eval $( echo "%command%" | sed -E "s#Launcher/dowser.exe#Cities2.exe#g" )
How?
- Right click Cities: Skylines 2 in your Steam library, and select Properties
- In the “General” section, at the bottom, under “Launch Options”, paste the aforementioned command
- Hit Play!
How It Works
When Steam runs a game using Proton, the compatibility layer commands become part of the game’s command line. For me, it looks something like this:
/home/outfrost/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=949230 -- /home/outfrost/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- '/home/outfrost/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper'/_v2-entry-point --verb=waitforexitandrun -- '/storage/warehouse/outfrost/Steam/steamapps/common/Proton - Experimental'/proton waitforexitandrun '/storage/warehouse/outfrost/Steam/steamapps/common/Cities Skylines II/Launcher/dowser.exe'
We can’t just replace the whole command with the path to the game, since that won’t invoke Proton properly.
Instead, we take the whole command line text (%command%), and filter it through sed to replace “Launcher/dowser.exe” with “Cities2.exe” in the command line text. Then, we use eval to execute the resulting text as a command.
The command Steam ends up running, on my machine, looks something like this:
/home/outfrost/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=949230 -- /home/outfrost/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- '/home/outfrost/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper'/_v2-entry-point --verb=waitforexitandrun -- '/storage/warehouse/outfrost/Steam/steamapps/common/Proton - Experimental'/proton waitforexitandrun '/storage/warehouse/outfrost/Steam/steamapps/common/Cities Skylines II/Cities2.exe'
If you want to see what your full command looks like, you can change the launch options to:
eval $( echo "%command%" | sed -E "s#Launcher/dowser.exe#Cities2.exe#g" | tee ~/cities2_cmd.txt )
And then open the file cities2_cmd.txt in your home directory.
Be the first to comment