Supreme Commander

Supreme Commander

Not enough ratings
Running on Linux with Proton and AMD GPU
By RaidonChrome
A guide for making this game work on Linux with Proton and Gallium Nine patches. This only works on AMD GPUs.
   
Award
Favorite
Favorited
Unfavorite
Introduction


This game doesn't work with Proton as is, because its compatibility with DirectX 9 is not perfect, and this game is sadly not compatible with Proton DX9 -> OpenGL translator.
However, those of us with AMD graphic cards can use Gallium Nine instead of a translator - essentially it is an implementation of DX9 rather than translation. This implementation works perfectly with this game. Proton versions shipped by Valve don't have Gallium Nine built in, but you can fix it by installing a custom Proton version. On a plus side, Nine has much better performance, and in some cases it works even better than on Windows.
Making sure your system is running proper software
In order to use Gallium both your Mesa3D and Proton have to support it. Unless your distribution disables Gallium on package build it should come with any Mesa >= 10.4
You also must have DRI3 enabled and be on open source drivers, not on AMDGPU-Pro.
If you aren't sure or you have issues refer to the ixit website[wiki.ixit.cz]
Download and install Proton with Gallium Extras
Go to the popsUlfr/Proton[github.com] and get the latest release available, you need the .tar.xz archive. Save it to ~/Downloads


You can follow the instructions there, but here they are for convenience
In your terminal do the following:
  • mkdir -p ~/.steam/root/compatibilitytools.d
  • cd ~/Downloads #Or the folder you've downloaded the archive to
  • tar xf Proton_3.16-6_Gallium_Nine_Extras_0.3.0.tar.xz -C ~/.steam/root/compatibilitytools.d
Replace the file with a newer one if needed, you can start typing Proton and press TAB for convenience

Now go into Steam settings and check that Steam Play is enabled for all titles




Restart Steam to finish the installation
Setting up Supreme Commander to use Gallium Nine
Now you have to tell Proton to use Gallium Nine with this game. You also have to disable esync and (optionally) disable GLSL to reduce stutter.

Click on the game and open it's properties


Check the "Force the use of a specific Steam Play compatibility tool" box and select the one with Gallium Nine Extras.

Click on "SET LAUNCH OPTIONS"


Paste this line:
PROTON_NO_ESYNC=1 PROTON_USE_GALLIUM_NINE=1 PROTON_NO_GLSL=1 %command%

Now the game should run as if it was native. If you have troubles try reading the documentation of this patched Proton and Gallium 3D, but on most modern distros this should not be a problem
PS
I want to yet again stress that this will never work for Nvidia or Intel.
Since the resulting window doesn't use Vulkan or OpenGL, Steam Overlay will not work.
You can, however, enable an FPS counter by adding "GALLIUM_HUD=fps" into the launch options before the %command%.

I hope that the guide was useful, it's a great game, and it's a shame that it can't run with normal Proton yet, enjoy!
8 Comments
demoth 12 Feb @ 12:20pm 
Thanks for the guide!:love::vort:
6dwavenminer 23 Nov, 2024 @ 8:01am 
To update @DonDiego's comment:
To get fullscreen:

PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 %command% /fullscreen x y
example:
PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 %command% /fullscreen 1920 1080
DonDiego 25 Aug, 2024 @ 12:43am 
Thanks to Culex's comment, it is now working fine for me as of August 25 2024. :steamhappy:

Setup:
Linux Mint 21.3 + NVidia 3080 w/555.82.02 + kernel 6.8 works fine with Proton 4.11-13 selected for the compatibility option.
Launch options:
PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 %command% /windowed 2560 1440

I could not make it work properly full-screen regardless of Proton versions or other options. Had to give it the /windowed x y command. Cheers!
bluesaka111 31 Oct, 2020 @ 11:50pm 
@slaxOr on Pop! OS or archlinux base distro?
RaidonChrome  [author] 23 Oct, 2020 @ 12:12pm 
Yeah it's somewhat outdated now, a lot have changed in Proton
slax0r 23 Oct, 2020 @ 11:50am 
Radwulf option is confirmed, add PROTON_NO_ESYNC %command% to your launch options.
im using latest proton with nvidia gfx. flawlesss. thanks
Radwulf 14 May, 2020 @ 5:44pm 
This game does work with proton. Try 'PROTON_NO_ESYNC=1 %command%'.
Culex 6 Mar, 2020 @ 3:00pm 
This guide didn't work. Black screen with audio only. I did manage to get it working with 4.11 proton however.