Linux Support

Now if I try host a game it also crashes:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at address 0x0043dd2d
    attempted to read memory at 0x00000000

Program : Z:\home\alex\.faforever\bin\ForgedAlliance.exe
Cmd line arguments : /init init.lua /nobugreport /log /home/alex/.faforever/logs/game_12616401.log /gpgnet 127.0.0.1:31353 /mean 1871.69 /deviation 98.0428 /savereplay gpgnet://127.0.0.1:36483/12616401/axel12.SCFAreplay /country ES /clan DEV /numgames 1648

Callstack:
	EntryPoint + -1 bytes ((Unknown)(0) + 0 bytes)

Last 100 lines of log...

info: cam_ZoomAmount 0.40000000596046
info: ui_AlwaysRenderStrategicIcons 0
info: ui_ScreenEdgeScrollView 1
info: ui_ArrowKeysScrollView 1
info: ui_KeyboardPanSpeed 90
info: ui_KeyboardPanAccelerateMultiplier 4
info: ui_KeyboardRotateSpeed 10
info: ui_KeyboardRotateAccelerateMultiplier 2
info: SC_SecondaryAdapter false
info: ren_Skydome 1
info: graphics_Fidelity 1
info: shadow_Fidelity 1
info: ren_MipSkipLevels 1
info: cam_DefaultLOD 1
info: cam_SetLOD WorldCamera 1
info: cam_SetLOD WorldCamera2 1
info: cam_SetLOD CameraHead2 1
info: SC_CameraScaleLOD 1
info: ren_bloom 0
debug: Wavebank prepared: 23e920
debug: Wavebank prepared: 23fad8
debug: Wavebank prepared: 240f00
debug: Wavebank prepared: 2420b8
debug: Wavebank prepared: 243d68
debug: Wavebank prepared: 245b50
debug: Wavebank prepared: 247a70
debug: Wavebank prepared: 248c28
debug: Wavebank prepared: 24adb8
debug: Wavebank prepared: 24c588
debug: Wavebank prepared: 24e5e0
debug: Wavebank prepared: 26c6f0
debug: Wavebank prepared: 26d8a8
debug: Wavebank prepared: 26fc18
debug: Wavebank prepared: 270dd0
debug: Wavebank prepared: 271f88
debug: Wavebank prepared: 273140
debug: Wavebank prepared: 2742f8
debug: Wavebank prepared: 2754b0
debug: Wavebank prepared: 276668
debug: Loading module '\000/lua/maui/frame.lua\000'
debug: Loading module '\000/lua/ui/uimain.lua\000'
debug: Loading module '\000/lua/multiplayer/onlineprovider.lua\000'
debug: Loading module '\000/lua/ui/campaign/campaignmanager.lua\000'
debug: Loading module '\000/lua/multiplayer/gpgnet.lua\000'
info: GPGNET: entering idle state.
debug: Wavebank prepared: 26ea60
debug: Wavebank prepared: 277820
debug: Loading module '\000/lua/ui/lobby/lobby.lua\000'
debug: Loading module '\000/lua/version.lua\000'
debug: Loading module '\000/lua/ui/menus/menucommon.lua\000'
debug: Loading module '\000/lua/ui/game/tooltip.lua\000'
debug: Loading module '\000/lua/ui/help/tooltips.lua\000'
debug: Loading module '\000/lua/ui/maputil.lua\000'
debug: Loading module '\000/etc/faf/mapblacklist.lua\000'
debug: Loading module '\000/lua/ui/controls/radiobutton.lua\000'
debug: Loading module '\000/lua/ui/controls/mappreview.lua\000'
debug: Loading module '\000/lua/ui/controls/resmappreview.lua\000'
debug: Loading module '\000/lua/ui/texturepool.lua\000'
debug: Loading module '\000/lua/ui/controls/acubutton.lua\000'
debug: Loading module '\000/lua/gamecolors.lua\000'
debug: Loading module '\000/lua/maui/slider.lua\000'
debug: Loading module '\000/lua/ui/lobby/data/playerdata.lua\000'
debug: Loading module '\000/lua/ui/lobby/data/watchedvalue/watchedvaluetable.lua\000'
debug: Loading module '\000/lua/ui/lobby/data/watchedvalue/watchedvalue.lua\000'
debug: Loading module '\000/lua/factions.lua\000'
debug: Loading module '\000/lua/ui/lobby/data/gamedata.lua\000'
debug: Loading module '\000/lua/ui/lobby/data/watchedvalue/watchedvaluearray.lua\000'
debug: Loading module '\000/lua/ui/controls/togglebutton.lua\000'
debug: Loading module '\000/lua/ui/lobby/lobbycomm.lua\000'
debug: Loading module '\000/lua/ui/controls/textarea.lua\000'
debug: Loading module '\000/lua/ui/lobby/trueskill.lua\000'
debug: Loading module '\000/etc/faf/blacklist.lua\000'
debug: Loading module '\000/lua/ui/help/tooltips-country.lua\000'
debug: Loading module '\000/lua/system/dkson.lua\000'
debug: Loading module '\000/lua/ui/lobby/unitsanalyzer.lua\000'
debug: Loading module '\000/lua/ui/lobby/changelog.lua\000'
debug: Loading module '\000/lua/ui/controls/combo.lua\000'
debug: Loading module '\000/lua/ui/lobby/changelogdata.lua\000'
debug: Loading module '\000/lua/ui/lobby/aitypes.lua\000'
debug: Loading module '\000/lua/ai/customais_v2/sorianai.lua\000'
debug: Loading module '\000/lua/ui/lobby/lobbyoptions.lua\000'
info: /country
info: /init
info: /numgames
info: /mean
info: /clan
info: /deviation
info: GPGNET: setting nat handler to 0x1100c004
info: LOBBY: Game port 22094[UDP] opened.
info: LOBBY: starting with local uid of 53471 [axel12]
info: SC_PrimaryAdapter windowed
info: GPGNET: entering lobby state.
info:  { }
info:  { }
debug: Loading module '\000/lua/maui/effecthelpers.lua\000'
info: Supreme Commander: Forged Alliance version 3714
debug: Loading module '\000/lua/ui/lobby/chatarea.lua\000'
debug: Loading module '\000/lua/maui/statusbar.lua\000'
debug: Loading module '\000/lua/ui/controls/columnlayout.lua\000'
warning: Unable to load texture: _mappreview.dds

Maybe I should quit windowed mode but how

Soon™️

Ok ignore the top one I selected a broken map

Soon™️

When I try get the lobby back in full screen mode the game also crashed LOL. Seems like the game as a lot of issues on linux. Who told me I should try linux XD

Soon™️

I think it was working before I put it in windowed mode? Where is that stored how can i revert this. I tried deleting game.prefs but that had no effect

Soon™️

it doesn't sound like you're using proton's run file

did you add this to steam's launch option for FA ?

 PROTON_NO_ESYNC=1, PROTON_DUMP_DEBUG_COMMANDS=1 %command%

the PROTON_DUMP_DEBUG_COMMANDS allows for the creation of a run file under /tmp/proton_$USER/

you copy that file to you faf install dir and point to that file as the run arg for FA.

@axel12
https://www.youtube.com/watch?v=Rv3ZXA4FNFk

@foodlfg can you please edit this video into your OP

Of course I have the script I copied it and I also set the options you are talking about. I am almost sure I did everything correctly. And it also worked. Till yesterday when it stoped working and I think it might be cause I am now in windowed mode. And also in the Exceptions the error is ralated to the window mode.

I only have no way of changing the window mode cause that crashes it as well

Soon™️

just delete the config file and re-run from steam. yeah windowed mode doesn't play ball on linux, which is kinda funny because fullscreen mode doesn't play ball on windows.

@axel12 said in Linux Support:

And it also worked. Till yesterday when it stoped working and I think it might be cause I am now in windowed mode.

remove / delete the game from the Steam library and reinstall it, i guess.

usually the game works fine with one monitor + fullscreen
(of course, why would anyone use windowed mode with one monitor...).
if you want to do two and windowed mode, then experiment with it. :))

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

@tatsu said in Linux Support:

@axel12
https://www.youtube.com/watch?v=Rv3ZXA4FNFk

@foodlfg can you please edit this video into your OP

ok, i did.

however, i dont really like you chose oracle java.
it just complicates stuff for people.
and if some player has oracle setup and another one has openjdk setup, it makes harder to debug stuff.

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

@foodlfg Yeah I mean in the video you see me hesitate a while for which to choose. I'll add the command for openjdk (sudo apt install openjdk-14-jre) as an annotation and in the details of the video. could you remove the comment about the oracle thing and add that command instead.

it's not as if I don't leave that choice to the user all over the video.

even at the .desktop file edit part I say "this part of the path is what you replace with 'openjdk' if that's what you installed"

@Brutus5000 I know it's late but, your guide :

@tatsu what is just delete the config? What file?

Soon™️

~/.steam/debian-installation/steamapps/compatdata/9420/pfx/drive_c/users/steamuser/Local Settings/Application Data/Gas\ Powered\ Games/Supreme\ Commander\ Forged\ Alliance/game.prefs

I have a weird issue (also if launched via steam): when I set windowed mode in the ui it works. But after a restart it goes fullscreen again. Then I need to choose a resolution, apply, choose windowed again, apply. But this is not possible for launched games ofc... any ideas?

"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

wow I've never seen this before.

windowed works if you resize the window border with the mouse? for me there's a big chance it blackscreens when I do that.

Anyways I'd recommend you also delete the game.prefs file and relaunch from steam once. (set it to windowed then if you must)

why do you play windowed?

Installing windows fixed my issues XD

Soon™️

From my experience the game is more stable in windowed mode.

"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

on windows. yes. I'm a big proponent of that idea as attested by my fullscreen script.

again on linux the opposite is sorta true considering the fullscreen issues you might get, the one you have for example.

If we can fix those and correctly fake fullscreen then maybe we can align linux a bit more with windows.

I actually don't know how to do this.

I'm sure fake-fullscreeing wine has been done before but I don't know how to do it

Thanks for the video tatsu; it was a big help

I did hit a snag when trying to launch the client however where it gives error:

Error: Could not find or load main class install4j.com.faforever.client.Main
Caused by: java.lang.ClassNotFoundException: install4j.com.faforever.client.Main

I'm on Ubuntu 20.04 and tried using both PPA as well as openjdk (made sure to set environment variable both times) and both gave same error. This is v1.2.0 stable unix release extracted to same folder as the Steam run file as shown in video.

Any ideas?