LINUX SUPPORT IS HERE

Talk about general things concerning Forged Alliance Forever.

Moderators: FtXCommando, Ze Dogfather

Re: LINUX SUPPORT IS HERE

Postby foodlfg » 30 Jun 2019, 22:03

You will need to configure and install Java in Wine if you want to go that way. The ICE adapter is using Java. You cannot escape. : D
Also, I haven't seen anybody who successfully installed Python and run the old client and the game in a Wine environment.

Not to mention that the new random map generator feature will be not accessible in the Python client. You won't be able to play those games and watch replays.
The Python client works on Windows btw. I just saw Farms using it in his stream, he couldn't watch a replay with a random map in it tho. He had to switch to the Java client.
 
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 Brutus5000 » 30 Jun 2019, 22:49

The map generator is also written in Java.
The 9th Doctor wrote:You think it'll last forever, the people and cars and concrete. But it won't. One day it's all gone, even the sky.
Brutus5000
Councillor - DevOps
 
Posts: 366
Joined: 05 Aug 2016, 23:32
Has liked: 29 times
Been liked: 288 times
FAF User Name: brutus5000

Re: LINUX SUPPORT IS HERE

Postby tatsu » 01 Jul 2019, 08:15

morgoth_bauglir wrote:java client too large + i dont need java on my system

you don't need java on your system. you just need the java folder somewhere and this inside your .bashrc :

Code: Select all
export INSTALL4J_JAVA_HOME=~/jdk-10.0.2

as you can see above this is not a valid install location so java is not detected when I type java -version in my terminal but the .bashrc line means that the client can run.


as for multi-monitor support that'll happen the day wine supports multi monitor.
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 morgoth_bauglir » 08 Jul 2019, 16:26

foodlfg wrote:Also, I haven't seen anybody who successfully installed Python and run the old client and the game in a Wine environment.

it kind of error with vcrun and compiled python which fixed soon...
morgoth_bauglir
Crusader
 
Posts: 20
Joined: 07 Jan 2018, 19:09
Has liked: 0 time
Been liked: 3 times
FAF User Name: kirovreporting

Re: LINUX SUPPORT IS HERE

Postby Gotek » 17 Jul 2019, 20:48

The play tab poses problems for me. When the client boots directly into the play tab, after the first few clicks on the buttons inside the tab, it ceases to respond. When I put the window in the background (switch to another tab or workspace in i3-wm), while leaving the client on the play tab, the window will be completely white when I come back to it.

Even in the unresponsive state, I can still switch to another tab like News, Chat etc. they all work properly as far as I can see.

Downlords Java Client installed through the AUR package "downlords-faf-client" | Running Manjaro on Kernel 5.2.1
Gotek
 
Posts: 3
Joined: 17 Jul 2019, 20:20
Has liked: 2 times
Been liked: 1 time
FAF User Name: GotekSC

Re: LINUX SUPPORT IS HERE

Postby callcifer » 17 Jul 2019, 23:28

Gotek wrote:The play tab poses problems for me. When the client boots directly into the play tab, after the first few clicks on the buttons inside the tab, it ceases to respond. When I put the window in the background (switch to another tab or workspace in i3-wm), while leaving the client on the play tab, the window will be completely white when I come back to it.

Even in the unresponsive state, I can still switch to another tab like News, Chat etc. they all work properly as far as I can see.

Downlords Java Client installed through the AUR package "downlords-faf-client" | Running Manjaro on Kernel 5.2.1

I'm the maintainer of the AUR package. I can't seem to reproduce that with a floating WM (Gnome). Can you try with a non-tiling WM as well?
callcifer
Crusader
 
Posts: 25
Joined: 31 Mar 2019, 20:34
Has liked: 2 times
Been liked: 13 times
FAF User Name: callcifer

Re: LINUX SUPPORT IS HERE

Postby Gotek » 18 Jul 2019, 17:54

Okay, I tried in xfce, and the problem persists. Though now in xfce a terminal launches beside it. It's output, when switching to the Play tab is:

Code: Select all
2019-07-18 17:43:13.190  WARN 31677 --- [lication Thread] javafx.beans                             : Exception while evaluating binding
java.lang.NullPointerException: null
   at com.faforever.client.player.Player.lambda$setGame$0(Player.java:261) [downlords-faf-client-0.10.7.jar:0.10.7]
   at javafx.beans.binding.Bindings$6.computeValue(Bindings.java:358) ~[javafx-base-11-linux.jar:na]
   at javafx.beans.binding.ObjectBinding.get(ObjectBinding.java:151) [javafx-base-11-linux.jar:na]
   at javafx.beans.binding.ObjectExpression.getValue(ObjectExpression.java:49) [javafx-base-11-linux.jar:na]
   at javafx.beans.property.ObjectPropertyBase.unbind(ObjectPropertyBase.java:185) [javafx-base-11-linux.jar:na]
   at com.faforever.client.player.Player.setGame(Player.java:257) [downlords-faf-client-0.10.7.jar:0.10.7]
   at com.faforever.client.player.PlayerService.updateGameDataForPlayer(PlayerService.java:179) [downlords-faf-client-0.10.7.jar:0.10.7]
   at com.faforever.client.player.PlayerService.lambda$updateGamePlayers$4(PlayerService.java:154) [downlords-faf-client-0.10.7.jar:0.10.7]
   at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[na:na]
   at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[na:na]
   at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) ~[na:na]
   at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[na:na]
   at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1492) ~[na:na]
   at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[na:na]
   at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[na:na]
   at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[na:na]
   at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[na:na]
   at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
   at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) ~[na:na]
   at com.faforever.client.player.PlayerService.updateGamePlayers(PlayerService.java:152) [downlords-faf-client-0.10.7.jar:0.10.7]
   at com.faforever.client.player.PlayerService.updateGameForPlayersInGame(PlayerService.java:112) [downlords-faf-client-0.10.7.jar:0.10.7]
   at com.faforever.client.player.PlayerService.onGameUpdated(PlayerService.java:95) [downlords-faf-client-0.10.7.jar:0.10.7]
   at jdk.internal.reflect.GeneratedMethodAccessor173.invoke(Unknown Source) ~[na:na]
   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
   at java.base/java.lang.reflect.Method.invoke(Method.java:564) ~[na:na]
   at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:87) ~[guava-27.0-jre.jar:na]
   at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:144) ~[guava-7.0-jre.jar:na]
   at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:72) ~[guava-27.0-jre.jar:na]
   at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:30) ~[guava-27.0-jre.jar:na]
   at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:67) ~[guava-27.0-jre.jar:na]
   at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:108) ~[guava-27.0-jre.jar:na]
   at com.google.common.eventbus.EventBus.post(EventBus.java:212) ~[guava-27.0-jre.jar:na]
   at com.faforever.client.game.GameService.createOrUpdateGame(GameService.java:654) ~[downlords-faf-client-0.10.7.jar:0.10.7]
   at com.faforever.client.game.GameService.onGameInfo(GameService.java:604) ~[downlords-faf-client-0.10.7.jar:0.10.7]
   at com.faforever.client.game.GameService.lambda$afterPropertiesSet$34(GameService.java:575) ~[downlords-faf-client-0.10.7.jar:0.10.7]
   at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428) ~[javafx-graphics-11-linux.jar:na]
   at java.base/java.security.AccessController.doPrivileged(Native Method) ~[na:na]
   at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427) ~[javafx-graphics-11-linux.jar:na]
   at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) ~[javafx-graphics-11-linux.jar:na]
   at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) ~[javafx-graphics-11-linux.jar:na]
   at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277) ~[javafx-graphics-11-linux.jar:na]
   at java.base/java.lang.Thread.run(Thread.java:844) ~[na:na]

java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
Gotek
 
Posts: 3
Joined: 17 Jul 2019, 20:20
Has liked: 2 times
Been liked: 1 time
FAF User Name: GotekSC

Re: LINUX SUPPORT IS HERE

Postby callcifer » 18 Jul 2019, 18:09

Thanks for that stack trace. This was a bug that was fixed about two weeks ago but it's not in any released version yet. I'd patch the AUR package myself, but I don't think the client is buildable without their install4j license :(
callcifer
Crusader
 
Posts: 25
Joined: 31 Mar 2019, 20:34
Has liked: 2 times
Been liked: 13 times
FAF User Name: callcifer

Re: LINUX SUPPORT IS HERE

Postby Gotek » 18 Jul 2019, 19:20

Guess I just have to wait, then. Thank you very much for the heads-up. Have a nice day!
Gotek
 
Posts: 3
Joined: 17 Jul 2019, 20:20
Has liked: 2 times
Been liked: 1 time
FAF User Name: GotekSC

Re: LINUX SUPPORT IS HERE

Postby iczero » 24 Jul 2019, 21:39

I found a potential fix to the random crashing in the middle of the game. Previously, it was fixable by using Gallium Nine, however, if Gallium Nine is not available or does not work for you, and your gpu supports Vulkan, you can use d9vk instead.
d9vk translates DirectX 9 calls into Vulkan instead of opengl (which is what wined3d uses), so it might also be faster.

(can't post links, fix github url yourself)

Instructions:
  • Get latest release of d9vk from (github) Joshua-Ashton/d9vk and extract it somewhere
  • Find your wine prefix. If you are using steam, it should be at
    Code: Select all
    $HOME/.local/share/Steam/steamapps/compatdata/9420/pfx
  • Find where you have wine installed. If you already have the correct version in $PATH, then don't include this in the final command. If you are using steam, it should be in
    Code: Select all
    $HOME/.local/share/Steam/steamapps/common/Proton\ 3.16/dist/bin
  • Run the following in the folder extracted from the release, replacing stuff as appropriate:
    Code: Select all
    WINEPREFIX=$HOME/.local/share/Steam/steamapps/compatdata/9420/pfx PATH=$HOME/.local/share/Steam/steamapps/common/Proton\ 3.16/dist/bin:$PATH ./setup_dxvk.sh install
iczero
 
Posts: 1
Joined: 24 Jul 2019, 21:26
Has liked: 1 time
Been liked: 1 time
FAF User Name: iczero

PreviousNext

Return to General Discussions

Who is online

Users browsing this forum: No registered users and 1 guest