LINUX SUPPORT IS HERE

Talk about general things concerning Forged Alliance Forever.

Moderators: FtXCommando, Ze Dogfather

Re: LINUX SUPPORT IS HERE

Postby tatsu » 06 Oct 2018, 13:16

I've set the proton method aside for now (although full of promise and dreams of the day playing faf on linux is a four-click process sum total).

I tried lutris and while lutris is no proton, it leaves very little to be desired in fact I think the configs used by either are identical as I cannot really tell the two apart performance-wise.

Lutris starts the game up without the erroneous setting of "PROTON_NO_ESYNC": "0", (where it should be 1) that proton has so there's less config involved.

the other big plus is that again this is just wine so it should communicate with JAVA_FAF just as it did with Python_FAF.

the issue I'm getting (I think) relates to the run param you had to change (or add to)
Screenshot from 2018-10-06 13-14-38.png
Screenshot from 2018-10-06 13-14-38.png (45.94 KiB) Viewed 2841 times


by default it says "%s"

but I get this error message : https://pastebin.com/D7Ftjzm9

and I recall being told by someone to change that (to what I donnot recall) and after that it ran fine.

can anybody recall what it was, or did anybody ever get the FAF client to work and pair with FA under linux?
User avatar
tatsu
Supreme Commander
 
Posts: 1553
Joined: 02 Jul 2012, 21:26
Has liked: 1952 times
Been liked: 171 times
FAF User Name: tatsu

Re: LINUX SUPPORT IS HERE

Postby foodlfg » 06 Oct 2018, 13:45

if you launch the Downlords client from linux then "wine %s" (system default wine probably not ok for you tho) goes there, i think. this is where i left off last time. i didn't experiment with it, i didn't try it, so i might be wrong. ((:
 
foodlfg
Avatar-of-War
 
Posts: 165
Joined: 17 Dec 2017, 19:28
Has liked: 22 times
Been liked: 69 times
FAF User Name: foodlfg

Re: LINUX SUPPORT IS HERE

Postby tatsu » 06 Oct 2018, 13:55

well it certainly doesn't hurt. I guess that might be the right command but now I have to tackle why it doesn't find the file? what folder it is operating from for that to happen :
Code: Select all
Cannot run program "wine /home/t/.faforever/bin/ForgedAlliance.exe" (in directory ""): error=2, No such file or directory

if I change the "executing from dir" to /, then I get :
Code: Select all
Cannot run program "wine /home/t/.faforever/bin/ForgedAlliance.exe" (in directory "/"): error=2, No such file or directory


and this happens regardless of where downlord faf is installed to
User avatar
tatsu
Supreme Commander
 
Posts: 1553
Joined: 02 Jul 2012, 21:26
Has liked: 1952 times
Been liked: 171 times
FAF User Name: tatsu

Re: LINUX SUPPORT IS HERE

Postby foodlfg » 06 Oct 2018, 18:22

ok i was wrong. see below. xD
it works for me. well, not really but i'm getting wine errors now which is already an improvement! lol

my settings:
Game Location:
/home/test1/PlayOnLinux's virtual drives/supCom/drive_c/Program Files (x86)/Steam/steamapps/common/Supreme Commander Forged Alliance

Command line format for executable:
/usr/bin/wine "%s"

launching the client.
Code: Select all
test1@pc1:/opt/downlords-faf-client-0.9.0-beta-rc.3$ INSTALL4J_JAVA_HOME="/usr/lib/jvm/java-8-oracle" /opt/downlords-faf-client-0.9.0-beta-rc.3/downlords-faf-client


joining to a game gives me these wine errors:
err:winedevice:ServiceMain driver L"WineBus" failed to load
err:module:import_dll Library X3DAudio1_2.dll
Code: Select all
2018-10-06 18:02:49.881  INFO 15242 --- [      Thread-17] c.f.client.fa.ForgedAllianceService      : Starting Forged Alliance with command: [/usr/bin/wine, /home/test1/.faforever/bin/ForgedAlliance.exe, /init, init.lua, /nobugreport, /log, /home/test1/.faforever/logs/game.log, /gpgnet, 127.0.0.1:37299, /mean, 1156.92, /deviation, 100.075, /savereplay, gpgnet://127.0.0.1:42027/8653094/foodlfg.SCFAreplay, /country, HU, /numgames, 209] in directory: /home/test1/.faforever/bin
err:winedevice:ServiceMain driver L"WineBus" failed to load
err:module:import_dll Library X3DAudio1_2.dll (which is needed by L"Z:\\home\\test1\\.faforever\\bin\\ForgedAlliance.exe") not found
err:module:LdrInitializeThunk Main exe initialization for L"Z:\\home\\test1\\.faforever\\bin\\ForgedAlliance.exe" failed, status c0000135



i've compared the arguments with what the the pyhton client generates (which works) and it's quite identical.
the python client's command when it launches the game:
Code: Select all
/usr/bin/wine "/home/test1/FAForever/bin/ForgedAlliance.exe" /mean 1156.92 /deviation 100.075 /init init_faf.lua /numgames 209 /log "/home/test1/FAForever/logs/game.log" /nobugreport /savereplay "gpgnet://localhost/8653094/foodlfg.SCFAreplay" /gpgnet 127.0.0.1:46433


also, i've found out that, if i execute this command in plain terminal, i get the exact same wine errors that the Downlords client's game launch generates. hmm...
 
foodlfg
Avatar-of-War
 
Posts: 165
Joined: 17 Dec 2017, 19:28
Has liked: 22 times
Been liked: 69 times
FAF User Name: foodlfg

Re: LINUX SUPPORT IS HERE

Postby foodlfg » 06 Oct 2018, 19:38

it works.

i went into the Python client code a little more (i already modified it to print out info of the game launching) to see what it does differently, what is missing.
so it has the game_process.py file which is responsible for launching the game. and every info regarding this is gathered here.
https://github.com/FAForever/client/blo ... process.py
see line 93 where it sets the WINEPREFIX environment variable: wine_env.insert("WINEPREFIX", util.wine_prefix)

WINEPREFIX, for me it's: /home/test1/.PlayOnLinux/wineprefix/supCom
if you want to see yours, it's in the FA Lobby.ini file for the Python client
/home/test1/.config/ForgedAllianceForever/FA Lobby.ini

so what you have to do is set the WINEPREFIX environment variable to contain your wineprefix directory.
it looks like the Downlord client cannot set it, so you have to do this in the terminal before launching the client.

Launch the client in the terminal (first two is environment variable, the third is launching the client):
test1@pc1:/opt/downlords-faf-client-0.9.0-beta-rc.3$ export WINEPREFIX=/home/test1/.PlayOnLinux/wineprefix/supCom
test1@pc1:/opt/downlords-faf-client-0.9.0-beta-rc.3$ export INSTALL4J_JAVA_HOME=/usr/lib/jvm/java-8-oracle
test1@pc1:/opt/downlords-faf-client-0.9.0-beta-rc.3$ /opt/downlords-faf-client-0.9.0-beta-rc.3/downlords-faf-client


- at this point i can join games the lobby starts. tho i couldn't join every game, some gave me java exceptions when i had to download maps(?). and sometimes i stuck at the connecting screen (using different ip address?) while from the Python client i could join the lobby. strange... oO
- for some reason i cannot create own games. it just sends me back to the Custom game view. bug maybe?
- also the 1v1 doesn't really work either. it just searches. i also got a game crash somehow, but i didn't even see the loading screen. oO
 
foodlfg
Avatar-of-War
 
Posts: 165
Joined: 17 Dec 2017, 19:28
Has liked: 22 times
Been liked: 69 times
FAF User Name: foodlfg

Re: LINUX SUPPORT IS HERE

Postby tatsu » 06 Oct 2018, 22:03

foodlfg wrote:snip.

nah this is what i had issues with.
Screenshot from 2018-10-06 22-04-56.png
Screenshot from 2018-10-06 22-04-56.png (100.78 KiB) Viewed 2807 times

FAF just resorting to default wine like that thing actually works. on some distros it does but on ubuntu 18 wine fails to run FA. whereas with certain configs and version and whatnot FA will run under ubuntu 18.

the thing is FAF disregards whatever your prefix may be and runs the FA from that wineprefix by creating an all new one in which the parameters are wrong and FA crashes.

Screenshot from 2018-10-06 22-06-45.png
Screenshot from 2018-10-06 22-06-45.png (16.49 KiB) Viewed 2807 times

see?

a new ".wine" wineprefix folder that I didn't have, that appeared when I ran via your method.

this was the same issue as with python FAF.


so I guess I've hit a dead end and I can't play FA on FAF on ubuntu 18
User avatar
tatsu
Supreme Commander
 
Posts: 1553
Joined: 02 Jul 2012, 21:26
Has liked: 1952 times
Been liked: 171 times
FAF User Name: tatsu

Re: LINUX SUPPORT IS HERE

Postby tatsu » 06 Oct 2018, 22:27

This is what I don't understand. Why would FAF take on this kind of responsibility? why can't it just take command lines as args and thereby let us run our own wineprefix, why does it have to like, run wine and create a default prefix of it's own and shit?
User avatar
tatsu
Supreme Commander
 
Posts: 1553
Joined: 02 Jul 2012, 21:26
Has liked: 1952 times
Been liked: 171 times
FAF User Name: tatsu

Re: LINUX SUPPORT IS HERE

Postby tatsu » 06 Oct 2018, 22:51

Another finger to point is at wine. I mean the specific version of wine that makes FA work is "staging-3.12-x86_64" and when you use that on your system it's only ever running by proxy, though a "basic" "wine-3.0 (Ubuntu 3.0-1ubuntu1)" as evidenced by a "wine --version"

this means that wine versions only exist as layers added to some shitty base and that there's no way for you to simply install only the version of wine you need on your OS as a ways to prevent FAF from launching the wrong one.
User avatar
tatsu
Supreme Commander
 
Posts: 1553
Joined: 02 Jul 2012, 21:26
Has liked: 1952 times
Been liked: 171 times
FAF User Name: tatsu

Re: LINUX SUPPORT IS HERE

Postby foodlfg » 06 Oct 2018, 23:06

i know system default wine on Ubuntu 18.04 is no good for running FAF, Supreme Commander etc. it didn't work for me either (gave me the same error) and some other guy here had no luck with Wine either on Debian (same error).
but. have you tried the Wine version 3.10? because that one worked for me on Ubuntu 18.04. just try to run the base game using Wine 3.10 (without any client).

have you tried my Ubuntu 18.04 guide?
/viewtopic. ... 95#p165695

anyways. if you can run the base game, there is a good chance you will be able to run the game from the clients too (python client preferably).

as for the second half of your post, i don't really know how Wine creates wineprefixes etc. so i don't really understand what's happening there. Playonlinux (on Ubuntu 16.04) / Lutris (on Ubuntu 18.04) created one for me so i'm using that.


also, when i write
Command line format for executable:
/usr/bin/wine "%s"

this won't work on Ubuntu 18.04 (same goes for the python client) because this is the system default Wine. you need to find the Wine 3.10 on your system and use that. Lutris for example puts Wine 3.10 in a different directory so you can use 3.10 Wine too. See the 2.1 part in my guide.
 
foodlfg
Avatar-of-War
 
Posts: 165
Joined: 17 Dec 2017, 19:28
Has liked: 22 times
Been liked: 69 times
FAF User Name: foodlfg

Re: LINUX SUPPORT IS HERE

Postby tatsu » 06 Oct 2018, 23:36

foodlfg wrote:anyways. if you can run the base game, there is a good chance you will be able to run the game from the clients too (python client preferably).

Oh it's more than a good chance. It's a certainty.

I think I'll have to make a clean ubuntu install, to garantee that my other apps aren't polluting the wine install I'm trying to set up but I'm pretty sure wine functions as I described. with a "base" version and layers added on top.

like basically you ask to install wine3.10 specifically and get wine3.0 package + wine3.10 DLC.

I'll have to test your guide out. thanks! :)
User avatar
tatsu
Supreme Commander
 
Posts: 1553
Joined: 02 Jul 2012, 21:26
Has liked: 1952 times
Been liked: 171 times
FAF User Name: tatsu

PreviousNext

Return to General Discussions

Who is online

Users browsing this forum: No registered users and 1 guest