Linux Support (Beta)

Ask here if you experience technical problems with X4: Foundations.

Moderator: Moderators for English X Forum

shmerl
Posts: 16
Joined: Fri, 5. Jul 19, 22:10

Re: Linux Support (Beta)

Post by shmerl » Sun, 14. Jul 19, 07:13

FYI, some benchmarks with using new Mesa aco compiler (Sapphire Pulse Vega 56, 1920x1200). llvm still performs better.


llvm:
https://i.imgur.com/bnUTIk9.jpg

aco:
https://i.imgur.com/AYCgMvN.jpg



{Images posted directly to the forums should not be greater than 640x480 or 100kb, oversize image now linked - Terre}

Skeeter
Posts: 2974
Joined: Thu, 9. Jan 03, 20:47
x3

Re: Linux Support (Beta)

Post by Skeeter » Sun, 14. Jul 19, 12:46

Sry to butt in as i dont have linux etc but from them two pics aco seems better, frame time is lower which is better as more responsive than fps also the line graph is smoother with less spikes i thought so should be smoother gameplay yeah?
Image
i5 3570k cpu 16gb DDR3 1600mhz vega 56 8gb 32" 1440p mon

radcapricorn
Moderator (English)
Moderator (English)
Posts: 3164
Joined: Mon, 14. Jul 08, 13:07
x4

Re: Linux Support (Beta)

Post by radcapricorn » Sun, 14. Jul 19, 13:30

That's just one frame. If you look at FPS, it's ~10 lower. So on average, frame time is higher for the ACO, except that one frame that happened to be lower :) Not that it's really representative as far as gameplay would go anyway, I'd rather like to see how it performs in a busy view.

shmerl
Posts: 16
Joined: Fri, 5. Jul 19, 22:10

Re: Linux Support (Beta)

Post by shmerl » Sun, 14. Jul 19, 22:17

radcapricorn wrote:
Sun, 14. Jul 19, 13:30
That's just one frame. If you look at FPS, it's ~10 lower. So on average, frame time is higher for the ACO, except that one frame that happened to be lower :) Not that it's really representative as far as gameplay would go anyway, I'd rather like to see how it performs in a busy view.
It's consistently worse for aco. A known issue: https://github.com/daniel-schuermann/mesa/issues/58

radcapricorn
Moderator (English)
Moderator (English)
Posts: 3164
Joined: Mon, 14. Jul 08, 13:07
x4

Re: Linux Support (Beta)

Post by radcapricorn » Mon, 15. Jul 19, 15:19

I've something to add to the various alt-tabbing problems mentioned somewhere earlier in this thread. Just to recap, alt-tabbing may result in speed/distance indicators showing static bogus values, additional UI elements appearing (i.e. as if an object is targeted when it's not), NPC heads stuck in one position detached from the rest of animation.

I've also noticed that the map issue described in the second portion of this report can be, at least partially, attributed to alt-tabbing (similar corruption, but without freezing, can result due to different circumstances unrelated to window switching). And today, after switching windows due to recording a video, I've encountered this. This is on a GTX980Ti, window mode set to 'Fullscreen'.

lostboron
Posts: 36
Joined: Tue, 4. Jul 17, 19:33

Re: Linux Support (Beta)

Post by lostboron » Thu, 29. Aug 19, 03:25

Frequent crashes during the game. Here is information about some I found in kern.log (steam output does not bring anything relevant):
Aug 26 20:52:23 name_of_my_machine kernel: [12879.007918] Asset Enabling [9566]: segfault at 48 ip 00000000018fed14 sp 00007fa18ec759c0 error 4 in X4[400000+21ea000]
Aug 26 20:58:03 name_of_my_machine kernel: [13219.096220] Movement worker[11230]: segfault at 18 ip 0000000001942ac1 sp 00007feff2ff9850 error 4 in X4[400000+21ea000]
Aug 27 20:35:47 name_of_my_machine kernel: [10588.738074] Movement worker[8246]: segfault at 10 ip 00000000019449ff sp 00007fdce3ffb940 error 4 in X4[400000+21ea000]
Aug 27 20:52:51 name_of_my_machine kernel: [11613.051836] Movement worker[9303]: segfault at fffffffffffffff4 ip 00000000018475d8 sp 00007fd3f9ff79f0 error 5 in X4[400000+21ea000]
Aug 28 19:35:12 name_of_my_machine kernel: [ 6651.567279] Asset Enabling [6009]: segfault at 48 ip 00000000018fed14 sp 00007fcc9988c9c0 error 4 in X4[400000+21ea000]
Aug 28 19:35:33 name_of_my_machine kernel: [ 6673.136344] Movement worker[6266]: segfault at ffffffffffffffef ip 00000000018475d8 sp 00007f9354ff59f0 error 5 in X4[400000+21ea000]
Aug 28 20:51:38 name_of_my_machine kernel: [11237.407735] Asset Enabling [6286]: segfault at 48 ip 00000000018fed14 sp 00007f65eae409c0 error 4 in X4[400000+21ea000]
Config: KUbuntu 18.04, NVidia GeForce GTX 970, driver NVIDIA 430.40. No issue with performance so far.
Does that help ?

User avatar
Knossos
Posts: 55
Joined: Tue, 1. Jun 04, 19:47
x4

Re: Linux Support (Beta)

Post by Knossos » Wed, 11. Sep 19, 21:46

The game just crashed whilst I was docked at my mega-complex:

First came this:
Image

Then came this:
Image

The game ran solidly on older versions (I updated to 2.5 today, from 2.2 (I think)).
Android Software Engineer
Try my hands-free notification reader for your car.

steve_v
Posts: 129
Joined: Sun, 12. Jun 16, 08:39
x4

Re: Linux Support (Beta)

Post by steve_v » Mon, 16. Sep 19, 07:25

Knossos wrote:
Wed, 11. Sep 19, 21:46
Image
The obvious question is, how much VRAM do you have?

User avatar
Knossos
Posts: 55
Joined: Tue, 1. Jun 04, 19:47
x4

Re: Linux Support (Beta)

Post by Knossos » Mon, 16. Sep 19, 08:19

steve_v wrote:
Mon, 16. Sep 19, 07:25
Knossos wrote:
Wed, 11. Sep 19, 21:46
Image
The obvious question is, how much VRAM do you have?
I have 4GB of graphics card memory.

It is a `GeForce GTX 970`.

For what it is worth, I have been playing for hours and the error hasn't occurred again.
Android Software Engineer
Try my hands-free notification reader for your car.

radcapricorn
Moderator (English)
Moderator (English)
Posts: 3164
Joined: Mon, 14. Jul 08, 13:07
x4

Re: Linux Support (Beta)

Post by radcapricorn » Mon, 16. Sep 19, 08:32

Knossos wrote:
Mon, 16. Sep 19, 08:19
For what it is worth, I have been playing for hours and the error hasn't occurred again.
Before launching the game, make sure no other application hogs a large amount of video memory. You can check who's using the VRAM currently with the 'nvidia-smi' command line tool. For example:

Code: Select all

$ nvidia-smi
Mon Sep 16 09:25:57 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.40       Driver Version: 430.40       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 980 Ti  Off  | 00000000:01:00.0  On |                  N/A |
|  0%   58C    P0    71W / 280W |    588MiB /  6080MiB |      2%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      2337      G   /usr/bin/blender                             103MiB |
|    0      8470      G   ...an/.local/share/Steam/ubuntu12_32/steam    44MiB |
|    0      8503      G   ./steamwebhelper                               3MiB |
|    0     10834      G   /usr/lib/Xorg                                231MiB |
|    0     10984      G   /usr/bin/kwin_x11                            111MiB |
|    0     10991      G   /usr/bin/krunner                               3MiB |
|    0     10993      G   /usr/bin/plasmashell                          64MiB |
|    0     11389      G   /usr/bin/alacritty                            12MiB |
|    0     17030      G   /usr/lib/firefox/firefox                       3MiB |
|    0     29718      G   /usr/lib/firefox/firefox                       3MiB |
+-----------------------------------------------------------------------------+
I've Blender running, which uses 103Mb on its own, and also increases the amount Xorg is using, since in a composited environment extra memory is needed for off-screen window storage. After closing Blender:

Code: Select all

$ nvidia-smi
Mon Sep 16 09:28:07 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.40       Driver Version: 430.40       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 980 Ti  Off  | 00000000:01:00.0  On |                  N/A |
|  0%   56C    P0    71W / 280W |    465MiB /  6080MiB |      1%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      8470      G   ...an/.local/share/Steam/ubuntu12_32/steam    44MiB |
|    0      8503      G   ./steamwebhelper                               3MiB |
|    0     10834      G   /usr/lib/Xorg                                203MiB |
|    0     10984      G   /usr/bin/kwin_x11                            111MiB |
|    0     10991      G   /usr/bin/krunner                               3MiB |
|    0     10993      G   /usr/bin/plasmashell                          72MiB |
|    0     11389      G   /usr/bin/alacritty                            12MiB |
|    0     17030      G   /usr/lib/firefox/firefox                       3MiB |
|    0     29718      G   /usr/lib/firefox/firefox                       3MiB |
+-----------------------------------------------------------------------------+
...total usage went down by about 120Mb.
Since you only have 4Gb, and the game needs at least 3, it could be that that time when you got the error some app(s) was/were hogging more than 1Gb.

fridl
Posts: 78
Joined: Sun, 22. Mar 09, 23:39
x4

Re: Linux Support (Beta)

Post by fridl » Sun, 20. Oct 19, 16:13

I'd like to use X4:Foundations on a openSUSE Leap 15.1 installation. But I don't have any luck.

To troubleshoot I tried to start Steam with

Code: Select all

steam -console
.
Then I tried to follow https://steamcommunity.com/app/203160/d ... /?l=german and renamed libcrypto.so.1.0.0 in the steam folder.
But both did not help.
If someone could have a look over the log and give me some advice I'd be very happy. I know that openSUSE is not officially supported. But never the less I ask for help here. Thank you!

Code: Select all

GameAction [AppID 392160, ActionID 1] : LaunchApp changed task to ProcessingInstallScript with ""
GameAction [AppID 392160, ActionID 1] : LaunchApp changed task to SynchronizingCloud with ""
[392160]Non-Steam Controller Configs Enabled: 1
Installing breakpad exception handler for appid(steam)/version(1571182697)
GameAction [AppID 392160, ActionID 1] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 392160, ActionID 1] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 392160, ActionID 1] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 392160, ActionID 1] : LaunchApp continues with user response "CreatingProcess"
Opted-in Controller Mask for AppId 392160: 0
Game update: AppID 392160 "", ProcID 13078, IP 0.0.0.0:0
Starting app 392160
>>> Adding process 13078 for game ID 392160
GameAction [AppID 392160, ActionID 1] : LaunchApp changed task to WaitingGameWindow with ""
ERROR: ld.so: object '/home/fridl/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/fridl/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
GameAction [AppID 392160, ActionID 1] : LaunchApp changed task to Completed with ""
>>> Adding process 13083 for game ID 392160
ERROR: ld.so: object '/home/fridl/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 13091 != 13083, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/fridl/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
./X4: /usr/lib64/liblber-2.4.so.2: no version information available (required by ./X4)
./X4: /usr/lib64/libldap_r-2.4.so.2: no version information available (required by ./X4)
./X4: /usr/lib64/libssl.so.1.0.0: version `OPENSSL_1.0.1' not found (required by ./X4)
>>> Adding process 13087 for game ID 392160
>>> Adding process 13088 for game ID 392160
>>> Adding process 13089 for game ID 392160
>>> Adding process 13090 for game ID 392160
>>> Adding process 13092 for game ID 392160
Game removed: AppID 392160 "", ProcID 13078 
Uploaded AppInterfaceStats to Steam
Exiting app 392160
EDIT1:
My YaST2-Software management tells me that:

/usr/lib64/liblber-2.4.so.2
/usr/lib64/liblber-2.4.so.2.10.9
/usr/lib64/libldap_r-2.4.so.2
/usr/lib64/libldap_r-2.4.so.2.10.9
is installed.

When searching for libssl it tells:
/usr/lib64/libssl.so.45
/usr/lib64/libssl.so.45.0.1
is installed.

radcapricorn
Moderator (English)
Moderator (English)
Posts: 3164
Joined: Mon, 14. Jul 08, 13:07
x4

Re: Linux Support (Beta)

Post by radcapricorn » Sun, 20. Oct 19, 17:22

fridl wrote:
Sun, 20. Oct 19, 16:13
When searching for libssl it tells:
/usr/lib64/libssl.so.45
/usr/lib64/libssl.so.45.0.1
is installed.
Install libopenssl?

fridl
Posts: 78
Joined: Sun, 22. Mar 09, 23:39
x4

Re: Linux Support (Beta)

Post by fridl » Sun, 20. Oct 19, 17:31

radcapricorn wrote:
Sun, 20. Oct 19, 17:22
Install libopenssl?
libopenssl is in the version installed, that is contined by the openSUSE repos (libopenssl1_1) and contains:

Code: Select all

libcrypto.so.1.1()(64bit)
libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)
libssl.so.1.1()(64bit)
libssl.so.1.1(OPENSSL_1_1_0)(64bit)
libcrypto.so.1.1(OPENSSL_1_1_0d)(64bit)
libcrypto.so.1.1(OPENSSL_1_1_0f)(64bit)
libcrypto.so.1.1(OPENSSL_1_1_0i)(64bit)
libcrypto.so.1.1(OPENSSL_1_1_0a)(64bit)
libcrypto.so.1.1(OPENSSL_1_1_0c)(64bit)
libcrypto.so.1.1(OPENSSL_1_1_0g)(64bit)
libcrypto.so.1.1(OPENSSL_1_1_0h)(64bit)
libssl.so.1.1(OPENSSL_1_1_0d)(64bit)
libopenssl1_1 = 1.1.0i-lp151.8.3.1
libopenssl1_1(x86-64) = 1.1.0i-lp151.8.3.1
and libopenssl1_0_0:

Code: Select all

libcrypto.so.1.0.0()(64bit)
libcrypto.so.1.0.0(OPENSSL_1.0.0)(64bit)
libgost.so()(64bit)
libgost.so(OPENSSL_1.0.0)(64bit)
libpadlock.so()(64bit)
libpadlock.so(OPENSSL_1.0.0)(64bit)
libssl.so.1.0.0()(64bit)
libssl.so.1.0.0(OPENSSL_1.0.0)(64bit)
libopenssl1_0_0 = 1.0.2p-lp151.5.10.1
libopenssl1_0_0(x86-64) = 1.0.2p-lp151.5.10.1
And in addition there is a package libopenssl1.0.0-steam which contains:

Code: Select all

libopenssl1_0_0-steam = 1.0.2p-lp151.5.10.1
libopenssl1_0_0-steam(x86-64) = 1.0.2p-lp151.5.10.1
Have I to search for a repo which provides `OPENSSL_1.0.1'?

radcapricorn
Moderator (English)
Moderator (English)
Posts: 3164
Joined: Mon, 14. Jul 08, 13:07
x4

Re: Linux Support (Beta)

Post by radcapricorn » Sun, 20. Oct 19, 18:36

As far as I can tell, you need both openssl1.0 and 1.1. Perhaps look at the output of this in a terminal:

Code: Select all

$ ldd /path/to/x4/X4
...and see if there are any 'not found'. It may give you a clue on which packages you're missing. (I'm not using SUSE btw, just going by what I can see here on my Arch).

corax
Posts: 16
Joined: Wed, 6. Nov 02, 21:31
x4

Re: Linux Support (Beta)

Post by corax » Sun, 20. Oct 19, 19:36

Same issue here on a GOG install on Gentoo.

Code: Select all

$ for i in x4-2.*; do ldd $i/game/X4 > ldd-$i; done; grep "not found" ldd-x4-2.*
ldd-x4-2.50hf1:	libluajit-5.1.so.2 => not found
ldd-x4-2.50hf1:	libavformat.so.55 => not found
ldd-x4-2.50hf1:	libavcodec.so.55 => not found
ldd-x4-2.50hf1:	libswscale.so.2 => not found
ldd-x4-2.50hf1:	libswresample.so.0 => not found
ldd-x4-2.50hf1:	libavutil.so.52 => not found
ldd-x4-2.50hf1:	libboost_filesystem.so.1.63.0 => not found
ldd-x4-2.50hf1:	libboost_regex.so.1.63.0 => not found
ldd-x4-2.50hf1:	libboost_system.so.1.63.0 => not found
ldd-x4-2.60:	libluajit-5.1.so.2 => not found
ldd-x4-2.60:	libavformat.so.55 => not found
ldd-x4-2.60:	libavcodec.so.55 => not found
ldd-x4-2.60:	libswscale.so.2 => not found
ldd-x4-2.60:	libswresample.so.0 => not found
ldd-x4-2.60:	libavutil.so.52 => not found
ldd-x4-2.60:	libboost_filesystem.so.1.63.0 => not found
ldd-x4-2.60:	libboost_regex.so.1.63.0 => not found
ldd-x4-2.60:	libboost_system.so.1.63.0 => not found
ldd-x4-2.60:	liblber-2.4.so.2 => not found
ldd-x4-2.60:	libldap_r-2.4.so.2 => not found
ldd-x4-2.60:	libssl.so.1.0.0 => not found
ldd-x4-2.60:	libcrypto.so.1.0.0 => not found
 
2.50 ran fine, despite apparently missing a few libraries. The ones new in 2.60 are liblber and libldap, which I found in OpenLDAP/Kerberos, and libssl and libcrypto, which are part of OpenSSL. My package manager prevents me from installing openssl in version 1.0.x because (a considerable number of) packages in my system depend on SSL newer than 1.0, and I besides, I wouldn't want to rely on an old version of a security relevant package anyway.

Anyway, get those packages from somewhere, extract them in a convenient place, and link them into ./{X4path}/game/lib/
Gentoo specific
Show
If anybody runs Gentoo and is wondering how, here's what I did to get those libraries:

Code: Select all

# PKGDIR=/var/cache/binpkgs emerge --buildpkgonly openldap "=dev-libs/openssl-1.0.2t-r1"; # openldap version doesn't matter, ssl does
If you're on a different distro, there has to be a repository somewhere, look for "openldap" and "openssl".

Code: Select all

$ ls -torgal game/lib/
total 21252
-rwxrwxr-x 1 5707349 2019-10-18 18:54 libSDL2-2.0.so.0
-rwxrwxr-x 1 6207136 2019-10-18 18:54 libavcodec.so.55
-rwxrwxr-x 1 1148008 2019-10-18 18:54 libavformat.so.55
-rwxrwxr-x 1  248656 2019-10-18 18:54 libavutil.so.52
-rwxrwxr-x 1  130498 2019-10-18 18:54 libboost_filesystem.so.1.63.0
-rwxrwxr-x 1 1216642 2019-10-18 18:54 libboost_regex.so.1.63.0
-rwxrwxr-x 1   20001 2019-10-18 18:54 libboost_system.so.1.63.0
-rwxrwxr-x 1  462240 2019-10-18 18:54 libluajit-5.1.so.2
-rwxrwxr-x 1   72699 2019-10-18 18:54 libogg.so.0
-rwxrwxr-x 1 2929259 2019-10-18 18:54 libopenal.so.1
-rwxrwxr-x 1   96560 2019-10-18 18:54 libswresample.so.0
-rwxrwxr-x 1  383232 2019-10-18 18:54 libswscale.so.2
-rwxrwxr-x 1  243550 2019-10-18 18:54 libvorbis.so.0
-rwxrwxr-x 1   45564 2019-10-18 18:54 libvorbisfile.so.3
-rwxrwxr-x 1 1264750 2019-10-18 18:54 libvulkan.so.1
-rwxrwxr-x 1 1421816 2019-10-18 18:54 libxml2.so.2
-rwxrwxr-x 1  121865 2019-10-18 18:54 libz.so.1
drwx------ 8    4096 2019-10-18 18:55 ..
lrwxrwxrwx 1      42 2019-10-20 17:17 libssl.so.1.0.0 -> ../../../workdir/usr/lib64/libssl.so.1.0.0
lrwxrwxrwx 1      36 2019-10-20 17:17 libssl.so -> ../../../workdir/usr/lib64/libssl.so
lrwxrwxrwx 1      39 2019-10-20 17:17 libldap_r.so -> ../../../workdir/usr/lib64/libldap_r.so
lrwxrwxrwx 1      51 2019-10-20 17:17 libldap_r-2.4.so.2.10.11 -> ../../../workdir/usr/lib64/libldap_r-2.4.so.2.10.11
lrwxrwxrwx 1      45 2019-10-20 17:17 libldap_r-2.4.so.2 -> ../../../workdir/usr/lib64/libldap_r-2.4.so.2
lrwxrwxrwx 1      37 2019-10-20 17:17 libldap.so -> ../../../workdir/usr/lib64/libldap.so
lrwxrwxrwx 1      49 2019-10-20 17:17 libldap-2.4.so.2.10.11 -> ../../../workdir/usr/lib64/libldap-2.4.so.2.10.11
lrwxrwxrwx 1      43 2019-10-20 17:17 libldap-2.4.so.2 -> ../../../workdir/usr/lib64/libldap-2.4.so.2
lrwxrwxrwx 1      37 2019-10-20 17:17 liblber.so -> ../../../workdir/usr/lib64/liblber.so
lrwxrwxrwx 1      49 2019-10-20 17:17 liblber-2.4.so.2.10.11 -> ../../../workdir/usr/lib64/liblber-2.4.so.2.10.11
lrwxrwxrwx 1      43 2019-10-20 17:17 liblber-2.4.so.2 -> ../../../workdir/usr/lib64/liblber-2.4.so.2
lrwxrwxrwx 1      45 2019-10-20 17:17 libcrypto.so.1.0.0 -> ../../../workdir/usr/lib64/libcrypto.so.1.0.0
lrwxrwxrwx 1      39 2019-10-20 17:17 libcrypto.so -> ../../../workdir/usr/lib64/libcrypto.so
drwx------ 2    4096 2019-10-20 17:17 .


Egosoft, is it possible to depend on libssl >= 1.0.0 (emphasis on "or greater than")?
My guess is most systems would have at least some form of SSL (probably openssl or libressl), although likely in a newer version than what you require. As for ldap, possibly not, but please bundle them up?

Post Reply

Return to “X4: Foundations - Technical Support”