Linux Support

@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%

@Cyborg16 did you try pointing faf to this script instead of to the steam run file : https://gist.github.com/p4block/8d947f85fa707b433af359a699b367fb

Small suggestion about those ACU upgrade effects, you could try using WineD3D instead of DXVK by replacing

PROTON_USE_D9VK=1 DXVK_HUD=full

with

PROTON_USE_WINED3D=1

It doesn't use the new API anymore that way, but with a computer not powered by a potato that should be no problem at all.

@tatsu: no, I've been using the prefix created by Steam (steamapps/compatdata/9420). I did try your script but had some issues with the wine install. But careful with the prefix since it contains your Game.prefs with all your key-bindings; make sure not to lose that!

@sereiya said in Linux Support:

PROTON_USE_WINED3D=1

I tried this and it made no difference to the visuals. Did it for you?

@Cyborg16 did you try having steam generating a run file, copying that file to your FAF folder and having FAF point to that instead?

@tatsu yes that's what I've been doing all along.

@cyborg16 oh you got the niceness level bug. I had that before. I solved it by reinstalling my linux in the newest version.

sorry 😕 no better solution.

I have recently had to format and reinstall Ubuntu 20.04.
Trying to reinstall steam via the .deb already caused some issues with missing 32bit packages.
Rather than going on a hunt for all these packages I just installed the flatpak version of steam instead which seems to work fine.

However trying to launch FA from steam (no matter the ProtonDB version selected and yes I use the recommended launch options) results in a black screen with an error popup that has as the first line:
CD3DDeviceResources::DevResInitResources: Unable to load effect file /effects/cartographic.fx
The rest of the log is exactly the same (except for the filepaths ofcourse) as the reddit link in other examples.

This error is discussed on the linux setup page on the faf wiki, but only in relation to the original ISO setup. https://wiki.faforever.com/index.php?title=Setting_Up_FAF_Linux

It seems like it has something to do with directx9.
I have already experimented cycling through different Nvidia drivers with no succes.

Do any of you know what this is and if there is a solution?

Some other examples of people with the same Error:

Just a couple days ago on an unknown linux distro: https://www.reddit.com/r/supremecommander/comments/oo72rf/trouble_with_supcom_fa_on_linux_more_in_post/

on the old FAF forums: https://forums.faforever.com/viewtopic.php?f=26&t=4553

In 2010 on Windows: https://www.techsupportforum.com/threads/solved-supreme-commander-1-fa-crash-upon-startup.482655/

There also seems to be a slightly different version of this error which apparently can be resolved by pointing the FAF client to the right executable as discussed: https://forums.faforever.com/viewtopic.php?f=2&t=4507&start=410
But this version of the error doesn't seem relevant for those that follow tatsu's youtube video and point FAF to the runfile generated by steam.

Does anybody know what the error means and what can be done to fix it?
Because I have for a fact played FA with this exact laptop using ubuntu 20.04 in the past.

Yeah I tried and failed with the flatpack method.

path doesn't go through.

that's probably by design. it's supposed to be a sandbox.

so I just force the .deb install of steam.

it works if you make sure graphics drivers are correctly installed first.

@pa4sam this post, in the reddit thread you linked, helped me:

the_bois:

Hey! I just had this problem and the solution was not obvious. I don't understand the whole complexity of it, but for me it was missing some libraries (notably d3dx9) that are not bundled into proton by default (I imagine because it is so old!).
To fix this I installed proton tricks following this guide (https://www.simpler.website/html/2021/1/protontricks.html) and then installed the d3dx9 library with the command
"protontricks 9420 dlls d3dx9"
I also needed to run
"protontricks 9420 dlls xact"

This was on a fresh install of Ubuntu 21.04 with nvidia 470 drivers. But i tried absolutely everything (nvidia drivers, different proton, reinstalled steam, even reinstalled Ubuntu, tried every 386 driver i could find etc) in every thread before this and nothing worked. Game crashed on launch. But i could start the game fine after these tricks.

Edit: if you change proton version, you need to redo this, (and maybe recopy the run file)

Edit 2: actually i seem to have no sound at all ingame...

Edit 3: lets give an update. I fixed the sound simply by changing "headphones out" to "line out" in Ubuntu sound settings. Dunno why it worked, i have never had issues before. Maybe something with xact and proton and gnome and pulseaudio... I use old analogue headphones, without USB connectors.

Anyway i found a spare drive and installed manjaro, fresh install steam and forged alliance, and get the same errors. Only installing d3dx9 and xact fixed them. Sample size = 2 but i think those libraries are missing from proton. (I also had the exact same audio problem in manjaro).

@usling I don't know why you're having the sound issue.

seems unrelated to the software at play here.

But I gotta say you're boss because the above is exactly what I needed for my new ubuntu 21.04 with an nvidia graphic card (470 driver) !!!

I would get a full black screen except for the game cursor.

adding PROTON_USE_WINED3D=1 to the steam args

and then running
protontricks 9420 dlls d3dx9
protontricks 9420 dlls xact

fixed it for me

plus I have sound.

it's so weird how when you run ubuntu upgrades you don't have any issues with your games but when you install the new OS version from scratch everything breaks. (and this is despite the fact that I'd be migrating proton version and ect)

I guess it just keeps some old files in the system somewhere that do the trick.

So this is what worked for me with fresh installs on both Ubuntu 21.04 and Manjaro with gnome (aug 13 2021) and nvidia 470 driver:

  • Grab a coup of coffee. Maybe some chill music also.
  • Install steam.
  • Install Supreme commander: forged alliance using steam.
  • Enable steam play (steam -> settings -> steam play -> "enable steam play for all other titles" and i set it to Proton 6.3-5
  • Launch options: In steam library, right click Supreme commander: Forged alliance -> Properties...
    Then under "General" -> "Launch options", put PROTON_NO_ESYNC=1, PROTON_DUMP_DEBUG_COMMANDS=1 %command% /windowed 1024 758
    Under "Compatibility" check "Force the use of a specific Steam Play compatibility tool" and choose whatever Proton version you think is best. I went with 6.3 but some ppl say 5.0 is better.

You can try to run the game now, it crashes on launch for me, saying
"CD3DDeviceResources::DevResInitResources: Unable to load effect file /effects/cartographic.fx"

If game runs fine, skip the next section and just edit game.prefs (last step)
If you get that error, close the game and let's fix it.

  • Install winetricks (it will probably also install some dependencies and wine itself)
    ubuntu: sudo apt install winetricks
    manjaro: sudo pacman -S winetricks

  • Install protontricks using this guide: https://www.simpler.website/html/2021/1/protontricks.html

  • in a terminal, write protontricks 9420 dlls d3dx9

  • in a terminal, write protontricks 9420 dlls xact
    (if you, at a later stage, change proton version in steam, you have to reinstall the above two libraries since they don't seem to come with proton.)

Now start the game. It should start. Create a game profile ingame and exit.

  • edit your Game.prefs
    on ubuntu it's located in:
    ~/.steam/debian-installation/steamapps/compatdata/9420/pfx/drive_c/users/steamuser/Local Settings/Application Data/Gas Powered Games/Supreme Commander Forged Alliance/
    change
    primary_adapter = '1024,758,60',
    to whatever your native screen resolution is, mine is:
    primary_adapter = '2560,1440,60',
    and save.
  • Edit launch options again (see step above) and remove /windowed 1024 758 leaving just PROTON_NO_ESYNC=1, PROTON_DUMP_DEBUG_COMMANDS=1 %command%.

Rune game again and try skirmish.

If you use analogue headphones and have no sound, try change sound output in ubuntu/manjaro gnome from "headphones" to "line out". I've never had any issues with this before, must be some Wine edge case.

You can use my script. Can be fed to the client no problem and used to run faf games.
https://gist.github.com/p4block/8d947f85fa707b433af359a699b367fb

This will be integrated into the client in the future (tm)
You'll need to set your game location on it etc

My God . can simple steps to install faf and play. to make it just work ...

@yarikchi Doesn't my script work for you (In a few DE's it weirdly doesn't)? I tried to simplify it as much as possible. https://forum.faforever.com/topic/1657/linux-install-script-lutris