X³: TC and AP - Linux support thread

Ask here if you experience technical problems with X³: Terran Conflict or X³: Albion Prelude.

Moderators: timon37, Moderators for English X Forum

Post Reply
User avatar
ezra-r
Posts: 3066
Joined: Fri, 14. Oct 05, 21:04

Re: FIX FOR Arch Linux libz / libpng issue AND corrupt savegame issue

Post by ezra-r » Fri, 8. Dec 17, 15:57

fauxmight wrote:This addresses issues raised above by Avaricia and Moderato_bei_X

I found a workaround for the issue noted (by Avaricia) with Arch Linux and the game failing to start (specifically, X3TC_config failing to start).

Code: Select all

./X3TC_config: lib/libz.so.1: version 'ZLIB_1.2.9' not found (required by /usr/lib32/libpng16.so.16
If Arch has lib32-libpng installed, the dynamic linking loads /usr/lib32/libpng.so (softlink to /usr/lib32/libpng16.so.16.29.0) and this in turn fails because the libz.so.1 that is packaged with the game was already loaded so the 1.2.11 version of libz against which Arch's (32-bit) libpng is compiled cannot be loaded. (At least, it appears this is the issue.)

The fix is to UNINSTALL lib32-libpng. This will require quite a few other multilib (32-bit) libraries and packages to be uninstalled as well, but when running

Code: Select all

pacman -Rc lib32-libpng
those other 32-bit packages requiring lib32-libpng will be removed as well. This will include lib32-gtk2, but the Steam version of X3TC_config will run without it. The GOG version will not. I can't resolve this situation with the GOG version at present.

The issue of games saved not loading (brought up by Moderato_bei_X) was also solved for me with this fix. Apparently, if one uses the LD_PRELOAD work-around OR puts a libz.so.1.2.9 in the lib subdirectory of the Steam X3TC (replacing the game-installed libz.so.1), then while the game will start, MOST games saved will not correctly load. Apparently there is significant difference between the libz packages. If you REMOVE the Arch package as described above, this issue gets fixed, too.

If you are experiencing similar troubles but running a distro that is not Arch, try removing 32-bit libpng if you can. You may have other packages requiring 32-bit libpng, and if so, you may have to decide between running those and running X3TC; that's up to you.
You are the man!!

rowdog
Posts: 1
Joined: Sun, 10. Dec 17, 10:14

Post by rowdog » Thu, 14. Dec 17, 22:46

Authorised wrote:If you rename the version of libz.so.1 in the ~/.local/share/Steam/SteamApps/common/X3 Terran Conflict/lib directory then it will use the system library and load just fine on Arch.
I think this is the best fix and it has worked for nearly 1000 hours now. The problem with ripping out all the lib32 stuff is that you might want to use it for something else. e.g. playing some other game on wine.

reteo
Posts: 3
Joined: Wed, 15. Jun 16, 19:26

Post by reteo » Mon, 18. Dec 17, 06:36

I had the same problem using a Gentoo system. Considering the system is designed to have libraries in both 32- and 64-bit formats, this confused me.

However, I found the solution to the ZLIB error message was rather simple. Delete all instances of libz.so.* from your game's "lib" and "game/lib" folders (the faulty library is in both). This forces the game to use the OS-installed ZLib instead, which will work correctly.

Granted, you'll have to repeat the steps when updating, but still, there you go.

Valkeru
Posts: 1
Joined: Fri, 5. Jan 18, 11:28

Post by Valkeru » Fri, 5. Jan 18, 11:33

Hello. I have some problems with launching:

Code: Select all

../X3/s_linux/init.cpp : S_GetCPUSpeed : 341 : dStub
../X3/s_linux/sdl2/sio.cpp : main : 1250 : dPStub: atexit (_quit);
../X3/s_linux/init.cpp : XMenuInit : 254 : dStub
../X3/s_linux/simd_float.cpp : lgp_get_cpu_flags : 12 : dStub
ERROR: CPUID is not supported, can't detect CPU features
Trying to continue anyway with minimal settings
Nothing happens after this messages. How it may be fixed?

Strace:

Code: Select all

access("/proc/cpuinfo", F_OK)           = 0
openat(AT_FDCWD, "/proc/cpuinfo", O_RDONLY) = 6
fstat64(6, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(6, "processor\t: 0\nvendor_id\t: Authen"..., 1024) = 1024
read(6, "nment\t: 64\naddress sizes\t: 48 bi"..., 1024) = 1024
read(6, "gs\t\t: fxsave_leak sysret_ss_attr"..., 1024) = 1024
read(6, " vmmcall arat npt lbrv svm_lock "..., 1024) = 1024
read(6, "misalignsse 3dnowprefetch osvw i"..., 1024) = 1024
read(6, "clmulqdq monitor ssse3 cx16 sse4"..., 1024) = 1024
read(6, "call nx mmxext fxsr_opt pdpe1gb "..., 1024) = 690
read(6, "", 1024)                       = 0
close(6)                                = 0
getpid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
gettid()                                = 16347
pipe([6, 7])                            = 0
gettid()                                = 16347
socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) = 8
fcntl64(8, F_GETFD)                     = 0
fcntl64(8, F_SETFD, FD_CLOEXEC)         = 0
setsockopt(8, SOL_TCP, TCP_NODELAY, [1], 4) = 0
connect(8, {sa_family=AF_INET, sin_port=htons(57343), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
getpid()                                = 16347
gettid()                                = 16347
send(8, "\r\0\0\0", 4, MSG_NOSIGNAL)    = 4
send(8, "\t\1\0\0\0\333?\0\0\333?\0\0", 13, MSG_NOSIGNAL) = 13
poll([{fd=8, events=POLLIN}], 1, 180000) = 1 ([{fd=8, revents=POLLIN}])
recv(8, "\f\0\0\0\7", 5, 0)             = 5
recv(8, "\25\0\0*\25\0\0\305\"\200\356", 11, 0) = 11
poll([{fd=8, events=POLLIN}], 1, 0)     = 0 (Timeout)
poll([{fd=8, events=POLLIN}], 1, 180000
UPD: Not actual, solved with reboot.

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

Post by steve_v » Fri, 19. Jan 18, 13:12

timon37 wrote:Can you investigate this a bit further on your system and see if you come up with any conclusions, mainly about what is affected by xset m (and other settings) on your system (e.g. desktop, x3, other games, other 32bit games using sdl2 fullscreen)
My desktop (Plasma)/Xorg build uses libinput, and xset is therefore irrelevant. xset m affects nothing, X3 included.

Changing the mouse acceleration with xinput affects the desktop and everything else I have installed, except X3, which appears to have no mouse acceleration at all and ignores any xorg settings for such.
I do not have any other fullscreen 32bit SDL applications on hand, if you can suggest a test case I will try it.

Incidentally, I have just moved from Debian Stable to Artix (Arch) and see exactly the same problem, so I doubt system installed libraries are at fault here.
No difference observed when starting with / without the bundled libSDL loaded either.
timon37 wrote:A workaround is playing in windowed mode
This is ridiculous, kludgy window manager overrides are not the answer, please implement a mouse sensitivity setting like a sane developer.

You've been digging around in the input code anyway WRT controllers, why do we get input scaling there and not for mouse? Both input sources are via libsdl, no?

Gelux
Posts: 2
Joined: Sun, 23. Oct 11, 11:55

Game does not start with nivida 1080TI 11GB GDDR5 in linux (initial screen either)

Post by Gelux » Mon, 22. Jan 18, 04:37

Hi,

I have linux and I have changed the grafic card from nvidia 660 2GB GDDR5 to nvidia 1080 TI 11GB GDDR5. Now the game doesnt start (steam plattform). The initial coniguration screen doesnt start neither.

In other pc with linux but nvidia series 600 the game works correctly.

X Rebirth works fine (including controller Thrustmaster T.16000M with throttle) with this device graffic, howewer x3: Terran conflict doesnt start.

My specifications:
driver: nvidia 390.12
grafic: nvidia 1080 TI 11GB
Operative System: Ubuntu 17.10 64 bits
Kernel: Linux 4.13.0
Ram: 16GB
Processor: Intel core i7-4770k 3.50Hzx8

How can I solve that? Is there some kind of log?

Regards

Alan Phipps
Moderator (English)
Moderator (English)
Posts: 18319
Joined: Fri, 16. Apr 04, 19:21

Post by Alan Phipps » Mon, 22. Jan 18, 13:34

@ Gelux: I moved your issue to the Linux support thread.

Have you tried a clean* reinstall or update (if possible) of the Nvidia graphics driver for your new card with Linux in case there is an issue with its installation or that remnants of the driver for the old card were left behind?

* 'Clean' meaning that the old and current driver are completely uninstalled before the new version is installed or reinstalled.

If you can then get as far as the initial small in-game splash screen, it may be worth then selecting the 'Graphics Settings' button and choosing 'Reset to Default' before you go any further.
A dog has a master; a cat has domestic staff.

Gelux
Posts: 2
Joined: Sun, 23. Oct 11, 11:55

Post by Gelux » Tue, 23. Jan 18, 02:19

Hi

Thank you for moving my issue.

I have been searching the game log and I found an error of steam libraries (gameoverlayrenderer.so). Then I tried to start the game directly from directory files and the game run correctly, but without the initial little screen.

Then now I can play, and my problem is resolved. The change of device has been a casuality. The problem is that Steam is not able to start the game.

Thanks for your help.

Regards
[/b]

bufi
Posts: 1313
Joined: Thu, 4. Dec 03, 00:49

Post by bufi » Thu, 19. Apr 18, 19:46

Same here, game not started from steam but from directory is ok. Steam is no needed?


btw. big thx to DEVs for Linux version. It's works perfectly on Fedora27 on Intel Nuc.
More than 100hrs and counting. Amazing game. Thank you.

User avatar
proggy3456
Posts: 1567
Joined: Sun, 6. Apr 03, 18:57

Post by proggy3456 » Sun, 29. Apr 18, 18:47

Hi,

just chiming in to say I also have the same issue with being unable to launch any X3 title from within Steam but it works fine if I start the main game executable directly.

Turns out that the file lib/libz.so.1 is an old version that my system's libpng16.so is not linked against (my system has zlib 1.2.11). Simply deleting the former file and X3 starts properly again using Steam.

Code: Select all

$ ./X3R_config                                                                        
./X3R_config: lib/libz.so.1: version `ZLIB_1.2.9' not found (required by /usr/lib32/libpng16.so.16)
$ ldd /usr/lib32/libpng16.so.16
	linux-gate.so.1 (0xf7f36000)
	libz.so.1 => /usr/lib32/libz.so.1 (0xf7e97000)
	libm.so.6 => /usr/lib32/libm.so.6 (0xf7dcc000)
	libc.so.6 => /usr/lib32/libc.so.6 (0xf7bf3000)
	/usr/lib/ld-linux.so.2 (0xf7f38000)
I would love to see a permanent fix for this. :)

Cheers,

proggy

compo
Posts: 1
Joined: Mon, 10. Sep 18, 01:58

Post by compo » Mon, 10. Sep 18, 03:06

The GOG version 3.3 of this game doesn't work for me on Ubuntu 18.04.

I had the libz error, which I fixed with the workarounds posted in this thread. That makes it so the game launcher works, but when I click "Start X3:TC" I get the following error:

Code: Select all

../X3/s_linux/sdl2/sio.cpp : main : 1250 : dPStub: atexit (_quit);
../X3/s_linux/init.cpp : XMenuInit : 254 : dStub
../X3/s_linux/simd_float.cpp : lgp_get_cpu_flags : 12 : dStub
ERROR: CPUID is not supported, can't detect CPU features
Trying to continue anyway with minimal settings
Video category:
Monitor Idx = 0
Width = 1920
Height = 1080
Bits Per Pixel = 32
Vertical Sync = 0
Border Less = 0
Texture Quality = 2
Shader Quality = 2
AA Mode = 2
AF Mode = 2
Gamma = 127
Frame Finish = 0
Hack FPS Replace Text = 0
Lower AQC FrameRate = 10.000000
Upper AQC FrameRate = 25.000000
Memory = 128
Audio category:
Master Volume = 255
SFX Volume = 255
Voice Volume = 205
Music Volume = 215
Input category:
Mouse Grab = 1
Joy Index = 0
Joy 1X Src = 0
Joy 1Y Src = 1
Joy 2X Src = 2
Joy 2Y Src = 3
Joy Rudder Src = 5
Joy Throttle Src = 4
Joy TriggerL Src = 6
Joy TriggerR Src = 7
Joy 1X Scale = 1.000000
Joy 1Y Scale = 1.000000
Joy 2X Scale = 1.000000
Joy 2Y Scale = 1.000000
Joy Rudder Scale = 1.000000
Joy Throttle Scale = 1.000000
Joy TriggerL Scale = 1.000000
Joy TriggerR Scale = 1.000000
Joy Button0 Src = 0
Joy Button1 Src = 1
Joy Button2 Src = 2
Joy Button3 Src = 3
Joy Button4 Src = 4
Joy Button5 Src = 5
Joy Button6 Src = 6
Joy Button7 Src = 7
Joy Button8 Src = 8
Joy Button9 Src = 9
Joy Button10 Src = 10
Joy Button11 Src = 11
Joy Button12 Src = 12
Joy Button13 Src = 13
Joy Button14 Src = 14
Joy Button15 Src = 15
Joy Button16 Src = 16
Joy Button17 Src = 17
Joy Button18 Src = 18
Joy Button19 Src = 19
Joy Button20 Src = 20
Joy Button21 Src = 21
Joy Button22 Src = 22
Joy Button23 Src = 23
Joy Button24 Src = 24
Joy Button25 Src = 25
Joy Button26 Src = 26
Joy Button27 Src = 27
Joy Button28 Src = 28
Joy Button29 Src = 29
Other category:
Mod Name = (null)
Capture Folder = screenshots
Profile = default
Player Logo Number = 0
Player Logo Name = (null)
../X3/s_linux/sdl2/svideo.cpp : S_SetDefault3DSettings : 211 : dPStub: Setting D3DF_ALPHATRANS to true without test

../X3/s_linux/sdl2/svideo.cpp : S_SetDefault3DSettings : 214 : dStub
../X3/s_linux/sdl2/svideo.cpp : S_SetDefault3DSettings : 216 : dPStub: Setting D3DF_MODULATEALPHA to true without test

../X3/s_linux/sdl2/svideo.cpp : S_SetDefault3DSettings : 219 : dStub
../X3/s_linux/sdl2/svideo.cpp : S_SetDefault3DSettings : 221 : dPStub: Setting D3DF_MULTITEXTURE to true without test

../X3/s_linux/sdl2/svideo.cpp : S_SetDefault3DSettings : 224 : dStub
../X3/s_linux/init.cpp : S_GetCPUSpeed : 341 : dStub
Unable to initialise graphical subsystem
I also own this game on Steam, and after fixing the libz error there, I'm able to successfully play by starting it through the Steam client. But curiously enough, if I try starting the game from the command line by executing either X3TC_config or X3TC_main in my Steam folder, I get the same error:

Code: Select all

../X3/s_linux/sdl2/sio.cpp : main : 1250 : dPStub: atexit (_quit);
../X3/s_linux/init.cpp : XMenuInit : 254 : dStub
../X3/s_linux/simd_float.cpp : lgp_get_cpu_flags : 12 : dStub
ERROR: CPUID is not supported, can't detect CPU features
Trying to continue anyway with minimal settings
Setting breakpad minidump AppID = 2820
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561197983749951 [API loaded no]
Video category:
Monitor Idx = 0
Width = 1920
Height = 1080
Bits Per Pixel = 32
Vertical Sync = 0
Border Less = 0
Texture Quality = 2
Shader Quality = 2
AA Mode = 2
AF Mode = 2
Gamma = 127
Frame Finish = 0
Hack FPS Replace Text = 0
Lower AQC FrameRate = 10.000000
Upper AQC FrameRate = 25.000000
Memory = 128
Audio category:
Master Volume = 255
SFX Volume = 255
Voice Volume = 205
Music Volume = 215
Input category:
Mouse Grab = 1
Joy Index = 0
Joy 1X Src = 0
Joy 1Y Src = 1
Joy 2X Src = 2
Joy 2Y Src = 3
Joy Rudder Src = 5
Joy Throttle Src = 4
Joy TriggerL Src = 6
Joy TriggerR Src = 7
Joy 1X Scale = 1.000000
Joy 1Y Scale = 1.000000
Joy 2X Scale = 1.000000
Joy 2Y Scale = 1.000000
Joy Rudder Scale = 1.000000
Joy Throttle Scale = 1.000000
Joy TriggerL Scale = 1.000000
Joy TriggerR Scale = 1.000000
Joy Button0 Src = 0
Joy Button1 Src = 1
Joy Button2 Src = 2
Joy Button3 Src = 3
Joy Button4 Src = 4
Joy Button5 Src = 5
Joy Button6 Src = 6
Joy Button7 Src = 7
Joy Button8 Src = 8
Joy Button9 Src = 9
Joy Button10 Src = 10
Joy Button11 Src = 11
Joy Button12 Src = 12
Joy Button13 Src = 13
Joy Button14 Src = 14
Joy Button15 Src = 15
Joy Button16 Src = 16
Joy Button17 Src = 17
Joy Button18 Src = 18
Joy Button19 Src = 19
Joy Button20 Src = 20
Joy Button21 Src = 21
Joy Button22 Src = 22
Joy Button23 Src = 23
Joy Button24 Src = 24
Joy Button25 Src = 25
Joy Button26 Src = 26
Joy Button27 Src = 27
Joy Button28 Src = 28
Joy Button29 Src = 29
Other category:
Mod Name = (null)
Capture Folder = screenshots
Profile = default
Player Logo Number = 0
Player Logo Name = (null)
../X3/s_linux/sdl2/svideo.cpp : S_SetDefault3DSettings : 211 : dPStub: Setting D3DF_ALPHATRANS to true without test

../X3/s_linux/sdl2/svideo.cpp : S_SetDefault3DSettings : 214 : dStub
../X3/s_linux/sdl2/svideo.cpp : S_SetDefault3DSettings : 216 : dPStub: Setting D3DF_MODULATEALPHA to true without test

../X3/s_linux/sdl2/svideo.cpp : S_SetDefault3DSettings : 219 : dStub
../X3/s_linux/sdl2/svideo.cpp : S_SetDefault3DSettings : 221 : dPStub: Setting D3DF_MULTITEXTURE to true without test

../X3/s_linux/sdl2/svideo.cpp : S_SetDefault3DSettings : 224 : dStub
../X3/s_linux/init.cpp : S_GetCPUSpeed : 341 : dStub
Unable to initialise graphical subsystem
Does anyone know how to fix this error?

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

Post by steve_v » Thu, 13. Sep 18, 06:46

compo wrote:I'm able to successfully play by starting it through the Steam client. But curiously enough, if I try starting the game from the command line by executing either X3TC_config or X3TC_main in my Steam folder, I get the same error
Guess: steam is launching it with it's bundled libraries, AKA the "steam-runtime". A quick test would be to launch steam with STEAM_RUNTIME=0, and see if you get the same error.
compo wrote:Does anyone know how to fix this error?
Specifically, no. In general, it's almost certainly a missing library or incompatible version. X3 is pretty vague with its error messages.

The last time I ran into this solving it was a matter of trial and error, copying libraries from ~/.local/share/Steam/ubuntu12_32/steam-runtime/ (IIRC) to the GOG libs directory until I found the culprit.

ncc386
Posts: 980
Joined: Mon, 26. Apr 04, 12:58

Re: X³: TC and AP - Linux support thread

Post by ncc386 » Mon, 8. Oct 18, 16:50

I have a saved game from when I played X3AP on Windows that doesn't load and causes a CTD in Linux. I can start a new game in Linux and I can even load an older Autosave (by older I mean like 3 days older) but I can't get my primary saved game to load. I tried it on Windows 10 again just to be sure and my saved game loads fine. So, something in my saved game is angering the Linux client. What can I do? The only error I'm seeing is a core dump.

EDIT: I have the GOG linux version... the War Pack.
santi wrote: Look at the screenshot, focus, see the picture with the "Active" words on it, those things sticking out? Those are Torpedoes, six of them, yes they could be dildos too, but unlucky for you they are not, they are Torpedoes.

Alan Phipps
Moderator (English)
Moderator (English)
Posts: 18319
Joined: Fri, 16. Apr 04, 19:21

Re: X³: TC and AP - Linux support thread

Post by Alan Phipps » Mon, 8. Oct 18, 16:59

@ ncc386: Purely going by previous recent posts in this thread, make sure that your Linux system has unrestricted access to the same libraries and versions as your Windows system. That said, I don't know why that would affect one save but not another.

Another thing to check if you have copied the save across between systems (say on a disc or thumbdrive) is that the transit media has not encrypted, compressed or changed the flags on the save. Also it could be that the copy has just somehow corrupted during the copy process leaving the original intact.
A dog has a master; a cat has domestic staff.

ncc386
Posts: 980
Joined: Mon, 26. Apr 04, 12:58

Re: X³: TC and AP - Linux support thread

Post by ncc386 » Mon, 8. Oct 18, 22:24

Everything is peachy to the best of my knowledge. For science, I'm going to re-copy the saved games again but after that, I'm lost.
santi wrote: Look at the screenshot, focus, see the picture with the "Active" words on it, those things sticking out? Those are Torpedoes, six of them, yes they could be dildos too, but unlucky for you they are not, they are Torpedoes.

Post Reply

Return to “X³: Terran Conflict / Albion Prelude - Technical Support”