Linux Support

@tatsu I'd be massively keen to hear if @foodlfg has any good ideas!

I don't think Proton experimental has ever worked for me. Generating a run file with PROTON_NO_ESYNC=1 PROTON_DUMP_DEBUG_COMMANDS=1 %command% I get the the contents:

#!/bin/bash
#Run game or given command in environment

cd "/home/chris/.local/share/Steam/steamapps/common/Supreme Commander Forged Alliance"
DEF_CMD=("/home/chris/.local/share/Steam/steamapps/common/Supreme Commander Forged Alliance/bin/SupremeCommander.exe")
PATH="/home/chris/.local/share/Steam/steamapps/common/Proton - Experimental/dist/bin/:/usr/bin:/bin" \
	TERM="xterm" \
	WINEDEBUG="-all" \
	WINEDLLPATH="/home/chris/.local/share/Steam/steamapps/common/Proton - Experimental/dist/lib64//wine:/home/chris/.local/share/Steam/steamapps/common/Proton - Experimental/dist/lib//wine" \
	LD_LIBRARY_PATH="/home/chris/.local/share/Steam/steamapps/common/Proton - Experimental/dist/lib64/:/home/chris/.local/share/Steam/steamapps/common/Proton - Experimental/dist/lib/:/overrides/lib/x86_64-linux-gnu:/overrides/lib/i386-linux-gnu" \
	WINEPREFIX="/home/chris/.local/share/Steam/steamapps/compatdata/9420/pfx/" \
	SteamGameId="9420" \
	SteamAppId="9420" \
	WINEDLLOVERRIDES="steam.exe=b;dotnetfx35.exe=b;dxvk_config=n;d3d11=n;d3d10=n;d3d10core=n;d3d10_1=n;d3d9=n" \
	STEAM_COMPAT_CLIENT_INSTALL_PATH="/home/chris/.local/share/Steam" \
	WINE_LARGE_ADDRESS_AWARE="1" \
	GST_PLUGIN_SYSTEM_PATH_1_0="/home/chris/.local/share/Steam/steamapps/common/Proton - Experimental/dist/lib64/gstreamer-1.0:/home/chris/.local/share/Steam/steamapps/common/Proton - Experimental/dist/lib/gstreamer-1.0" \
	WINE_GST_REGISTRY_DIR="/home/chris/.local/share/Steam/steamapps/compatdata/9420/gstreamer-1.0/" \
	MEDIACONV_AUDIO_DUMP_FILE="/home/chris/.local/share/Steam/steamapps/shadercache/9420/fozmediav1/audio.foz" \
	MEDIACONV_AUDIO_TRANSCODED_FILE="/home/chris/.local/share/Steam/steamapps/shadercache/9420/swarm/transcoded_audio.foz" \
	MEDIACONV_VIDEO_DUMP_FILE="/home/chris/.local/share/Steam/steamapps/shadercache/9420/fozmediav1/video.foz" \
	MEDIACONV_VIDEO_TRANSCODED_FILE="/home/chris/.local/share/Steam/steamapps/shadercache/9420/swarm/transcoded_video.foz" \
	"/home/chris/.local/share/Steam/steamapps/common/Proton - Experimental/dist/bin/wine" steam.exe "${@:-${DEF_CMD[@]}}"

This launches fine in Steam but when I configure FAF to launch using this file it crashes without launching FA properly:

2021-03-11 20:08:55.013  INFO 60023 --- [     Thread-144] c.f.client.fa.ForgedAllianceService      : Starting Forged Alliance with command: [/home/chris/personal/faf/downlords-faf-client-1.4.2/run3, /home/chris/.faforever/bin/ForgedAlliance.exe, /init, init.lua, /nobugreport, /log, /home/chris/.faforever/logs/game_14048771.log, /gpgnet, 127.0.0.1:42855, /mean, 1262.54, /deviation, 104.661, /savereplay, gpgnet://127.0.0.1:45845/14048771/SlowHands89.SCFAreplay, /country, GB, /numgames, 404] in directory: /home/chris/.faforever/bin
wineserver: using server-side synchronization.
wine: RLIMIT_NICE is <= 20, unable to use setpriority safely
wine: Using RTKit to control niceness in the [-15,15] range
Setting breakpad minidump AppID = 9420
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561197969765596 [API loaded no]
INTEL-MESA: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

INTEL-MESA: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

2021-03-11 20:08:57.141  INFO 60023 --- [ool-3-thread-11] com.faforever.client.game.GameService    : Forged Alliance terminated with exit code 0
2021-03-11 20:08:57.466  INFO 60023 --- [     Thread-144] c.f.client.fa.relay.ice.IceAdapterImpl   : ICE adapter terminated normally

The game log file never gets created, the ICE log seems to just be an EOF exception when it can't talk to FA and then shuts down. Any other logs I should be looking at?

I've also tried generating a run file using the args you mentioned and noticed the only difference seems to be that yours generates a run file without the WINEFSYNC="1" \ entry (which also doesn't make any different, Experimental still fails to launch).

hmm. well I'm not certain proton experimental would fix it.

Could you try this? :

  • move your steamapps folder to somwhere safe.
  • purge and delete steam and all steam-related files.
  • run "Additional Drivers" and put the mesa driver back.
  • reboot.
  • install and run steam.
  • run "Additional Drivers" again and put the nvidia 450 driver back.
  • reboot.
  • run FA with whatever proton version and args (I recommend mine, I'm pretty sure it'll work)

now test to see in FAF if it gets beyond 30 mins.

@SlowHands89
i

with this i could get a stable game (45min+). but only with Proton 4.11. nothing else worked. and i have an AMD GPU

nice ghetto streams: https://www.twitch.tv/foodlfg

The mighty @p4block (that's our server guru by the way) gave us this:
https://gist.github.com/p4block/8d947f85fa707b433af359a699b367fb

Downloads a prebuilt binary wine/proton setup that should run out of the box on any distribution regardless of your current installation state.

If anybody wants to try it, feedback is appreciated.

"Nerds have a really complicated relationship with change: Change is awesome when WE'RE the ones doing it. As soon as change is coming from outside of us it becomes untrustworthy and it threatens what we think of is the familiar."
ā€“ Benno Rice

works brilliant

it's FA in offline mode.

Don't have any use for that but if I start wanting to play Ai skirmishes that I can save and load, why not

I had to change line 8 to match where my SupCom was installed (appears to be a typo there anyway, "steampps"). Otherwise works well, I was getting atrocious performance in the score screen on Proton 5.0

@tatsu said in Linux Support:

works brilliant

it's FA in offline mode.

Don't have any use for that but if I start wanting to play Ai skirmishes that I can save and load, why not

In Downlord's FAF client change in Settings -> Forged Alliance Forever -> Command Line Format for Executable to

/path/to/run_faf.sh "%s"

To use it in FAF.

Yeah I thought it was obvious to set up as the launcher script in the client šŸ˜‰

"Nerds have a really complicated relationship with change: Change is awesome when WE'RE the ones doing it. As soon as change is coming from outside of us it becomes untrustworthy and it threatens what we think of is the familiar."
ā€“ Benno Rice

oh yeah!

What's fantastic about that is that we can just put it into the wiki and it'll make my video tutorial obsolete [ a good thing! ] or I can make a new one showing this script instead.

FAF installation on linux is now EVEN easier as it no longer requires a first run from steam (or for steam play for all titles to be enabled, for that matter if you only play FAF).

If it's stable we might even add this into the client directly šŸ¤”

"Nerds have a really complicated relationship with change: Change is awesome when WE'RE the ones doing it. As soon as change is coming from outside of us it becomes untrustworthy and it threatens what we think of is the familiar."
ā€“ Benno Rice

lol this is in the script:

This game is just weird
Please reimplement in Spring engine

i had more problem installing spring on linux than FAF btw.
random crashes even. random crashes even on Windows. lol

nice ghetto streams: https://www.twitch.tv/foodlfg

I dunno, BAR works fine for me. but yeah I'm hard at work on something of that nature as you two already well know šŸ˜‰ but that's enough offtopic for this thread.

@Brutus5000 said in Linux Support:

If it's stable we might even add this into the client directly šŸ¤”

šŸ˜® that would be ....AWESOME

If you want to spam unit you can remap the command because if you're on ubuntu alt + f2 spam the command

@nathmate said in Linux Support:

I had to change line 8 to match where my SupCom was installed (appears to be a typo there anyway, "steampps"). Otherwise works well, I was getting atrocious performance in the score screen on Proton 5.0

@tatsu said in Linux Support:

works brilliant

it's FA in offline mode.

Don't have any use for that but if I start wanting to play Ai skirmishes that I can save and load, why not

In Downlord's FAF client change in Settings -> Forged Alliance Forever -> Command Line Format for Executable to

/path/to/run_faf.sh "%s"

To use it in FAF.

Yes, I concur - works brilliantly.

Have been running FAF under Wine successfully for the past year but recently been getting memory exceptions. This alternative is an excellent replacement.

Just one minor anomaly in Nathmate's instructions: in the current zip file from the github page, the start file is named run-faf.sh not run_faf.sh

Made a Lutris install script, this should make it even easier for new people since that tool is quite popular. Right now it's just for the Steam version, but the retail disc is already in my drive and gog version bookmarked. šŸ™‚

https://forum.faforever.com/topic/1657/linux-install-script-lutris

@tatsu said in Linux Support:

works brilliant

it's FA in offline mode.

Don't have any use for that but if I start wanting to play Ai skirmishes that I can save and load, why not

Oh my goodness finally I can run FAF. Thank you all!

Does Proton 6.3 work for you? I get no very useful feedback when trying to launch; it just quits quickly:

wineserver: using server-side synchronization.
wine: RLIMIT_NICE is <= 20, unable to use setpriority safely
Setting breakpad minidump AppID = 9420
Steam_SetMinidumpSteamID:  Caching Steam ID:  <number> [API loaded no]

@cyborg16 Starts perfectly fine for me with 6.3, although 5.0 is still recommended.

Did you remember using "PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 %command%" as start parameters?

Already had PROTON_NO_ESYNC there but not the other. Either way it starts from Steam but not from the command-line or Downlord's client.

Edit: 5.13 also doesn't work. 4.11 does work, as does 5.0.

Try removing and recreating the prefix, 5.13 onwards uses containers.

Thanks for the suggestion, but that didn't work either. If I remove steamapps/compatdata/9420, set Steam to use Proton 6.3-5 and try to launch through Steam, it fails:

warning: z:\home\me\games\steamlibrary\steamapps\common\supreme commander forged alliance\gamedata\effects.scd\effects\cartographic.fx: unable to compile effect: z:\home\me\games\steamlibrary\steamapps\common\supreme commander forged alliance\gamedata\effects.scd\effects\cartographic.fx reason: unknown error

Doing the same with Proton 5.13-6 works through Steam, but still won't load, e.g. trying to load a local replay (command copied from Downlord's client):

$ /home/me/games/faf/run-proton-5.13 /home/me/.faforever/bin/ForgedAlliance.exe /init init.lua /nobugreport /log /home/me/.faforever/logs/game_14792563.log /replay /home/me/.faforever/cache/temp.scfareplay /replayid 14792563
wineserver: using server-side synchronization.
Setting breakpad minidump AppID = 9420
Steam_SetMinidumpSteamID:  Caching Steam ID:  <number> [API loaded no]

Running with Proton 5.0 using this prefix works however. Guess I'll stick with that for now.

The main issue I have is that ACU upgrade effects are not visible; also I think the Cybran ACU gun is less visible than it should be. Small thing.

Oh, I'm using these launch options in Steam; they may be outdated:

PROTON_USE_D9VK=1 DXVK_HUD=full PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 PROTON_DUMP_DEBUG_COMMANDS=1 %command%