For the longest time, I have had issues with Unity-based games refusing to start and run properly when using the open-source radeonsi driver (Mesa).
Fortunately, a developer from Parabola (using the alias max_sraw on the Steam forums), offered a fix which solved my issue with their game Kona refusing to start. In the mean time, it has proven to become one of the most reliable ways for me to ensure that all my Unity-based games start on all the Linux distributions that I have tested so far (Ubuntu, Debian and openSUSE).
Solution using Steam
If using Steam, simply add the “-force-opengl” argument to the games “launch options”, like so:
- Right-click the game in Your Library, and click “Properties“
- Then, click the “SET LAUNCH OPTIONS…” button under the “GENERAL” tab
- Copy and paste the following code into the input field and click “OK“
Note: Make sure to include the leading dash (–) sign.
For those of You out there also using the radeonsi driver, I would suggest that You also disable “vsync”, by including the “vblank_mode” parameter. This, for me, ensures that the game (and in particular, it’s main menu) does not freeze. If You are experiencing this issue, try adding the following to the games’ launch options instead:
vblank_mode=0 %command% -force-opengl
This effectively disables “vsync” as well as incorporating the aforementioned launch fix.
If You are not using the Steam version of a Unity-based game, I would instead suggest that You create a bash script that incorporates this fix. Generally speaking, something along the lines of the following, should be sufficient:
As described in the previous section, You may also want to disable “vsync” in order for the game not to lock up after launch. If You experience this, instead try:
vblank_mode=0 /path/to/game/[executable] -force-opengl
Note: Obviously, in both cases, replace the path and the [executable] with their appropriate counterparts for the game in question.
A note about Unity and OpenGL version
“NoXPhasma” over on Reddit points out that this fix only works for newer games using Unity version 5. Supposedly, games using earlier versions ignores the “–force-opengl” argument on Linux.
NoXPHasma also points out that the game launches using an older OpenGL renderer (version 2). If You are not too concerned about this, I would still suggest that You try this solution.
Thanks for pointing this out!
List of confirmed working Unity titles
I hope this information was useful to some of You. It has completely alleviated all issues for many of the Unity-based games that I play, including (but most likely not limited to);
- The Long Dark
- Sky Break
- Frozen State
- The Universim (the demo)
- Wasteland 2