Linux Support

Yes, thanks! Overlay and hence vulkan translation appears to be working now. It is still slow though. Joined a game couple of minutes ago and it took like 2.5 mins to start. I was astonished only one dude left till then.

As an aside I was planning to go with openjdk but the specificity of the wiki made me install oracle instead.

Solved! Turned out fsync is enabled by default on newer kernels for Manjaro. Added PROTON_NO_FSYNC=1 to launch options and that did it. It may be advisable to add it to the recommended install process on the wiki since it has no adverse effects.

don't use the new proton_experimental. while it works for FA from steam FA run from FAF fails; this is what you'll get if you try to run it with proton experimental

On another note I'm getting another issue. On my new install of ubuntu 20.10 and with proton 5.13 (in which case the nice error goes away), but my FA stops immediately with no log output as you can see :

2021-01-20 03:53:57.860  INFO 396709 --- [      Thread-24] c.f.client.fa.ForgedAllianceService      : Starting Forged Alliance with command: [/home/t/faf/run, /home/t/.faforever/bin/ForgedAlliance.exe, /init, init.lua, /nobugreport, /log, /home/t/.faforever/logs/game_13674228.log, /gpgnet, 127.0.0.1:13904, /mean, 1261.25, /deviation, 93.3293, /savereplay, gpgnet://127.0.0.1:45827/13674228/tatsu.SCFAreplay, /country, FR, /clan, BPT, /numgames, 2373] in directory: /home/t/.faforever/bin
wineserver: using server-side synchronization.
2021-01-20 03:53:59.067  INFO 396709 --- [pool-3-thread-5] com.faforever.client.game.GameService    : Forged Alliance terminated with exit code 53
2021-01-20 03:53:59.391  INFO 396709 --- [      Thread-24] c.f.client.fa.relay.ice.IceAdapterImpl   : ICE adapter terminated normally

So you haven't made it work on your new setup ever? If that's the case it could be about anything starting with missing dependencies.

yeah but which ones?

and keep in mind it does work from steam.

@tatsu said in Linux Support:

On another note I'm getting another issue.

it is not another issue.
i have mentioned this here before. the run files that Steam generates for newer proton versions dont run the game. the content is different. you can test this easily in terminal with ./your_run_file.

probably Ubuntu LTS and Steam does not play well together.
Proton 5.0 run file was working for me i think, the newer ones did not.

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

Sounds like it should work. First off I was suspecting some lib32 drivers or blocking loopback but if game runs on Steam it should also run via FAF (as far as my understanding goes). Maybe some stupid typo in FAForever config?

@foodlfg But if he can make it work on Steam then the run file itself should be good no?

@szopacniger said in Linux Support:

work on Steam then the run file itself should be good no?

no.
the run file is for debugging originally.
Steam probably doesnt use that when you launch the game from Steam. or it issues other commands before calling it. i dont know exactly.
and i dont know why it creates different run files for different versions of proton either. 😕

the game was working for me from Steam too. with every Proton version.
but the run files did not work for never versions.

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

@foodlfg I see. I was starting out of a misconception then 😞

well that's weird because before, on my ubuntu 20.04, I generated run files up to proton 5.13 as you can see : https://forum.faforever.com/topic/12/linux-support/101

@foodlfg you're right though. I tried Proton 4.11-13 and suddenly it works.

I'm gonna compare the two run files, find differences and mess with it until I find what gives.

wierd.

this is my Proton 4.11-13 file (that works) :

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

cd "/home/t/.local/share/Steam/steamapps/common/Supreme Commander Forged Alliance"
DEF_CMD=("/home/t/.local/share/Steam/steamapps/common/Supreme Commander Forged Alliance/bin/SupremeCommander.exe")
PATH="/home/t/.local/share/Steam/steamapps/common/Proton 4.11/dist/bin/:/home/t/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/bin:/home/t/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/bin:/home/t/.local/share/Steam/ubuntu12_32/steam-runtime/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/t/.dotnet/tools" \
	TERM="xterm" \
	WINEDEBUG="-all" \
	WINEDLLPATH="/home/t/.local/share/Steam/steamapps/common/Proton 4.11/dist/lib64//wine:/home/t/.local/share/Steam/steamapps/common/Proton 4.11/dist/lib//wine" \
	LD_LIBRARY_PATH="/home/t/.local/share/Steam/steamapps/common/Proton 4.11/dist/lib64/:/home/t/.local/share/Steam/steamapps/common/Proton 4.11/dist/lib/:/home/t/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32:/home/t/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_64:/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/usr/local/lib:/lib/x86_64-linux-gnu:/lib:/home/t/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu:/home/t/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu:/home/t/.local/share/Steam/ubuntu12_32/steam-runtime/lib/x86_64-linux-gnu:/home/t/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu:/home/t/.local/share/Steam/ubuntu12_32/steam-runtime/lib:/home/t/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib:/home/t/.local/share/Steam/steamapps/common/Supreme Commander Forged Alliance" \
	WINEPREFIX="/home/t/.local/share/Steam/steamapps/compatdata/9420/pfx/" \
	SteamGameId="9420" \
	SteamAppId="9420" \
	WINEDLLOVERRIDES="steam.exe=b;mfplay=n;dxvk_config=n;d3d11=n;d3d10=n;d3d10core=n;d3d10_1=n" \
	STEAM_COMPAT_CLIENT_INSTALL_PATH="/home/t/.local/share/Steam" \
	"/home/t/.local/share/Steam/steamapps/common/Proton 4.11/dist/bin/wine" "${@:-${DEF_CMD[@]}}"

and this is my Proton Experimental file (that doesn't) :

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

cd "/home/t/.local/share/Steam/steamapps/common/Supreme Commander Forged Alliance"
DEF_CMD=("/home/t/.local/share/Steam/steamapps/common/Supreme Commander Forged Alliance/bin/SupremeCommander.exe")
PATH="/home/t/.local/share/Steam/steamapps/common/Proton - Experimental/dist/bin/:/usr/bin:/bin" \
	TERM="xterm" \
	WINEDEBUG="-all" \
	WINEDLLPATH="/home/t/.local/share/Steam/steamapps/common/Proton - Experimental/dist/lib64//wine:/home/t/.local/share/Steam/steamapps/common/Proton - Experimental/dist/lib//wine" \
	LD_LIBRARY_PATH="/home/t/.local/share/Steam/steamapps/common/Proton - Experimental/dist/lib64/:/home/t/.local/share/Steam/steamapps/common/Proton - Experimental/dist/lib/:/overrides/lib/x86_64-linux-gnu:/overrides/lib/i386-linux-gnu" \
	WINEPREFIX="/home/t/.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/t/.local/share/Steam" \
	WINE_LARGE_ADDRESS_AWARE="1" \
	GST_PLUGIN_SYSTEM_PATH_1_0="/home/t/.local/share/Steam/steamapps/common/Proton - Experimental/dist/lib64/gstreamer-1.0:/home/t/.local/share/Steam/steamapps/common/Proton - Experimental/dist/lib/gstreamer-1.0" \
	WINE_GST_REGISTRY_DIR="/home/t/.local/share/Steam/steamapps/compatdata/9420/gstreamer-1.0/" \
	MEDIACONV_AUDIO_DUMP_FILE="/home/t/.local/share/Steam/steamapps/shadercache/9420/fozmediav1/audio.foz" \
	MEDIACONV_AUDIO_TRANSCODED_FILE="/home/t/.local/share/Steam/steamapps/shadercache/9420/swarm/transcoded_audio.foz" \
	MEDIACONV_VIDEO_DUMP_FILE="/home/t/.local/share/Steam/steamapps/shadercache/9420/fozmediav1/video.foz" \
	MEDIACONV_VIDEO_TRANSCODED_FILE="/home/t/.local/share/Steam/steamapps/shadercache/9420/swarm/transcoded_video.foz" \
	"/home/t/.local/share/Steam/steamapps/common/Proton - Experimental/dist/bin/wine"  "${@:-${DEF_CMD[@]}}"

no matter how I mix and match the issue does seem to come from the new proton versions.

the thing I can't wrap my head around is that under previous kernels (5.2) it worked on proton 5.13 for me.

I made a new comment in the proton thread : https://github.com/ValveSoftware/Proton/issues/688#issuecomment-764513612
if you guys could please upvote it that would help, thanks.

listen up folk!

I've tested nvidia 460 and after installing it steam doesn't work. just a heads up.

this is on ubuntu 20.10. rolling back to nvidia 450 and it works again.

tell me if your experience is different. I created an issue here : https://askubuntu.com/questions/1321632/brand-new-nvidia-460-driver-breaks-steam-on-ubuntu-20-10

All this does end on a high note though (completely unrelated).

once on 450 again, I tested with proton-exprimental again and this time I got it to work.

here's the run args I used :

PROTON_NO_FSYNC=1, PROTON_NO_ESYNC=1, PROTON_DUMP_DEBUG_COMMANDS=1 gamemoderun %command%

and here' s the resulting run file I got :

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

cd "/home/t/.local/share/Steam/steamapps/common/Supreme Commander Forged Alliance"
DEF_CMD=("/home/t/.local/share/Steam/steamapps/common/Supreme Commander Forged Alliance/bin/SupremeCommander.exe")
PATH="/home/t/.local/share/Steam/steamapps/common/Proton - Experimental/dist/bin/:/usr/bin:/bin" \
	TERM="xterm" \
	WINEDEBUG="-all" \
	WINEDLLPATH="/home/t/.local/share/Steam/steamapps/common/Proton - Experimental/dist/lib64//wine:/home/t/.local/share/Steam/steamapps/common/Proton - Experimental/dist/lib//wine" \
	LD_LIBRARY_PATH="/home/t/.local/share/Steam/steamapps/common/Proton - Experimental/dist/lib64/:/home/t/.local/share/Steam/steamapps/common/Proton - Experimental/dist/lib/:/overrides/lib/x86_64-linux-gnu:/overrides/lib/i386-linux-gnu" \
	WINEPREFIX="/home/t/.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/t/.local/share/Steam" \
	WINE_LARGE_ADDRESS_AWARE="1" \
	GST_PLUGIN_SYSTEM_PATH_1_0="/home/t/.local/share/Steam/steamapps/common/Proton - Experimental/dist/lib64/gstreamer-1.0:/home/t/.local/share/Steam/steamapps/common/Proton - Experimental/dist/lib/gstreamer-1.0" \
	WINE_GST_REGISTRY_DIR="/home/t/.local/share/Steam/steamapps/compatdata/9420/gstreamer-1.0/" \
	MEDIACONV_AUDIO_DUMP_FILE="/home/t/.local/share/Steam/steamapps/shadercache/9420/fozmediav1/audio.foz" \
	MEDIACONV_AUDIO_TRANSCODED_FILE="/home/t/.local/share/Steam/steamapps/shadercache/9420/swarm/transcoded_audio.foz" \
	MEDIACONV_VIDEO_DUMP_FILE="/home/t/.local/share/Steam/steamapps/shadercache/9420/fozmediav1/video.foz" \
	MEDIACONV_VIDEO_TRANSCODED_FILE="/home/t/.local/share/Steam/steamapps/shadercache/9420/swarm/transcoded_video.foz" \
	"/home/t/.local/share/Steam/steamapps/common/Proton - Experimental/dist/bin/wine"  "${@:-${DEF_CMD[@]}}"

aaaand unfortunately still the missing FX bug but otherwise performance is great.

Having had a few months of really pretty stable playing on Linux, the last couple of weeks have been hellish. I've posted elsewhere but am getting pretty fed up now. I can't identify what's changed, unless it's something to do with a Proton update that Steam did.

I'm basically getting crashes with memory access exceptions, usually 30+ minutes into games but I've just had a game that crashed even sooner than that.

game_14043116.log - This is the log from the most recent crash I had but nothing jumps out for me. If there's something else I could share that might help, please let me know!

Spec:

  • i7-10750H
  • 1650 Ti (Nvidia driver 450.102.04)
  • 32gb ram
  • Ubuntu 20.04 (Proton 5.0-10)
  • Client version 1.4.2

@foodlfg had a fix for that I believe. also did you try proton experimental?

@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