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
gcc88
Posts: 2
Joined: Tue, 20. Jan 15, 15:22
x3ap

Post by gcc88 » Tue, 7. Apr 15, 15:15

timon37 wrote:@gcc88

Try the "temporarily beta" version. Right click on the game in the steam library, click betas, enter "OohVeryShiny", click "check code", select public_beta in the selection box above.
This should give you build 24, and please report if it works:)
Yes, now it works!
Thank you very much!

Yggdrasill
Posts: 28
Joined: Sat, 15. Jun 13, 00:14
x3ap

Post by Yggdrasill » Mon, 27. Apr 15, 07:56

Hello, I am having an issue with the performance using mesa >=10.4.2 with gallium 3D. The game ran flawlessly on everything up until that version, but now its performance is just absolutely awful. Even the opening Egosoft cutscene has an FPS of 10, and ingame it drops to 6. The issue has been persistent over two distributions (Arch Linux and Debian Sid). The only thing which performs at the expected 60 FPS is the quote when starting a new game. The graphics settings doesn't affect the game's performance at all, and I mean not even one more frame per second, and resolution is the same.

I've now compiled mesa 10.4.7 and it doesn't seem to perform any better. My graphics card is a Radeon 5870 and the CPU a Phenom II 965. I run Debian Sid with EXA as xorg accelmethod (with exavsync), though the problem persists if I use GLAMOR, and Xorg is 1.16.4 on Linux 3.19 (3.16 doesn't change anything in regards to this problem). I've pasted relevant lshw, glxinfo and the game's output below.

lshw: https://pastee.org/sxwhr
glxinfo: https://pastee.org/uszbh
output: https://pastee.org/r9d5m

I also have a screenshot using the GALLIUM_HUD=fps env variable, showing the FPS graph. The intro Egosoft cutscene performs at 10 FPS, the main menu performs at about 16 FPS, and in-game it's below 10.

http://a.pomf.se/imgced.png

EDIT:

Also added cpufreq-info output while game is running: https://pastee.org/jp77m

I should say that I've also tried the public beta mentioned here, and it has no effect.

EDIT2:

radeontop also says that the graphics pipe is not used fully, varying between 20-25% usage.

timon37
EGOSOFT
EGOSOFT
Posts: 357
Joined: Fri, 14. Dec 12, 12:02
x4

Post by timon37 » Mon, 27. Apr 15, 13:54

@Yggdrasill

Hmm, well having a significant amount of faith in mesa developers, I'd assume it's probably something that X3 was always doing wrong and they just improved the error detection, which unfortunately has the side effect of causing horrible performance;p

There's two main things we could try:
1. check if there are any opengl errors, you'd probably have to use amd's gdebugger or apitrace, though I'm not sure if I got rid of all the minor errors so this could be misleading
2. the "fun & challenging" compile mesa from source code and bisect which commit introduced the issue

If you're willing to do option 2 that would likely nail the issue very precisely.
I currently don't have a similar enough setup to yours though I'll try the ones that are closest to see if I can reproduce it.

Yggdrasill
Posts: 28
Joined: Sat, 15. Jun 13, 00:14
x3ap

Post by Yggdrasill » Wed, 29. Apr 15, 02:36

You'll have to give me a little bit of time with that. The Debian package repos are in the middle upgrading, which prevents me from building 32-bit apitrace due to not being able to install gcc-multilib. Perhaps Thursday or Friday this week, depending on the Debian repos.

EDIT: Alright, I've built and ran apitrace. I cut out a few million lines of duplicate warnings, but I left some in there.

Here's the result from tracing and the output of retrace: https://pastee.org/b9x8w

I will bisect mesa soon. If there's anything more you need to know about the trace, feel free to ask. I would also send you the trace itself, but it has a size of over 1GB and I'm not sure where to host it.

Yggdrasill
Posts: 28
Joined: Sat, 15. Jun 13, 00:14
x3ap

Post by Yggdrasill » Thu, 30. Apr 15, 08:47

So I've bisected mesa and I arrived at:

Code: Select all

07c65b85eada8dd34019763b6e82ed4257a9b4a6 is the first bad commit
commit 07c65b85eada8dd34019763b6e82ed4257a9b4a6
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Jun 19 10:40:38 2014 +0900

    r600g/radeonsi: Use write-combined CPU mappings of some BOs in GTT

    Reviewed-by: Marek Olšák <marek.olsak@amd.com>

:040000 040000 f52840972749b7e2ccc3cc9ac8c285fe1bc9703c 0e8bff89fa7561dfc60733f224d75caec9f127a0 M      src
Doing a hard git reset to that commit means the performance regression still exists as expected, but further going back one commit will make the issue disappear. I've confirmed that this is the commit which introduced the issue in any case.

Bukarus
Posts: 1
Joined: Fri, 1. May 15, 16:50

Post by Bukarus » Fri, 1. May 15, 18:00

Hello, I'm having trouble running the game on linux, particuliary my problem is that I have linux laptop with optimus technology and using bumblebee to switch graphics. Game doesnt start from steam at all, but when executing the game manually from the terminal it works (but only on integrated graphics). Running it with primusrun or optirun yields this error "GLXUnsupportedPrivateRequest". If using nvidia-prime and running everything on dedicated card then there is no error, game running normally and wihout any problems. All others application running fine with primusrun an optirun.

timon37
EGOSOFT
EGOSOFT
Posts: 357
Joined: Fri, 14. Dec 12, 12:02
x4

Post by timon37 » Tue, 5. May 15, 13:11

@Yggdrasill

I'm back (I was on a short vacation).
Congrats on bisecting, free software is pure awesome:)
I'll be looking at the commit soon, the good news is I understand what the commit message says, so it's not something deeply esoteric I've got no hope of comprehending;) I've even got some ideas of what could be wrong.

@Bukarus

Hmm that'll be tricky because I don't have the hardware to reproduce it.
Can you give me the full error? I'm guessing it's something like:

Code: Select all

X Error of failed request:  GLXUnsupportedPrivateRequest
  Major opcode of failed request:  135 (GLX)
  Minor opcode of failed request:  16 (X_GLXVendorPrivate)
  Serial number of failed request:  31
  Current serial number in output stream:  32

Yggdrasill
Posts: 28
Joined: Sat, 15. Jun 13, 00:14
x3ap

Post by Yggdrasill » Tue, 5. May 15, 16:50

Thank you for your help.

As for GLXUnsupportedPrivateRequest with bumblebee, that often has to do with missing 32-bit libs or that the user isn't part of the right group. That's my experience anyway with my laptop.

steelwing_2
Posts: 54
Joined: Tue, 19. May 15, 02:10
x3ap

Weird texture problem (X3TC on Linux, running under Steam)

Post by steelwing_2 » Sun, 24. May 15, 23:18

X3 Reunion seems to work fine, but X3TC has this weird issue where some stations are yellow. The textures appear to be rendering, they're just colored yellow. :? I think it's only affecting the Terran stations, but I'm not sure.
I checked the Linux support thread and confirmed I've got libtxc_dxtn. I'm running Mesa 10.5.5 and using the radeon open-source video driver (a very old version of the proprietary driver is available for my video card, but I'm not inclined to use it).
See here for further information. lshwrept.htm is a report on my system's hardware from lshw. I'm on Linux, so this is the closest equivalent I've got to dxdiag. steam.log is the output I get running steam from the commandline and then launching X3TC.
Note especially this (from steam.log):

Code: Select all

Game update: AppID 2820 "X3: Terran Conflict", ProcID 7794, IP 0.0.0.0:0
ERROR: ld.so: object '/home/jprater/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/jprater/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/jprater/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 7800 != 7795, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/jprater/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ATTENTION: default value of option force_s3tc_enable overridden by environment.
ERROR: ld.so: object '/home/jprater/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ATTENTION: default value of option force_s3tc_enable overridden by environment.
And this:

Code: Select all

======================================
ERROR: Unable to load texture 'textures\F:\SRC\X3.5\[Assets]\Terran\x3.5 Textures\Textures\envmap', using dummy texture!
======================================
======================================
ERROR: Unable to load texture 'textures\C:\Documents and Settings\Markus.EGOSOFT\Desktop\egotest-26th\06052008\AGI_m3\envmap_test', using dummy texture!
======================================
----
Warning!  Some triangles have zero area!
----
----
Warning!  Some triangles have zero area!
----
I've run the integrity verification, and it hasn't found anything. Could there be a corruption in my texture files?

wtfweardlan
Posts: 1
Joined: Sat, 16. Jun 07, 12:38
x3ap

Post by wtfweardlan » Thu, 11. Jun 15, 16:15

Hi Guys, serioiusly thought I'd be raising the dead on this one, but nice to see some activity, so I thought I'd throw my twopen'orth into the pot.

I have a clean install Ubunut 14.04 LTS, on a Lenovo Y50-70 (optimus based NVIDIA GTX860M) with bumblee configured and working with nvidia prop. drivers, including indicator.

The Y50 does not have an option to simply disable integrated GPU, thereby forcing use of NVIDIA

installed Steam through ubuntu software centre, installed a couple of 'other steam games', used 'optirun %command%' set as reccomended... all is sweet, steam games and others blast along (e.g. minecraft massively outperforms windows version at 204fps)

X3:R works from clean install, uses only integrated chip

X3:TC clean install ....nothing,
updated with Beta advice above (oohShiny),
runs only on integrated chip

X3:AP clean install, runs only on integrated chip

For any, if I set steam launch options to 'optirun %command%', I get nothing.
Bumblebee indicator simply states bumblebee ON....bumblebee OFF
there is no window flash or anything.

This is presumably bumblebe starting it's VirtualGL server, then X3:?? running into a dependency/library conflict and then it is just falling over.

I messed with manual launches for a bit but there were too many scripts/files for me to make any sense of it, couldn't even figure out how to run it in integrated mode.

[Follow up]
having waded through a few of the older posts in this thread I found some instruction on exporting the LD_LIBARY_PATH, followed these, manually set the environment then ran from the command line ./X3TC_config, success on integrated graphics.

Then tried again with 'optirun X3TC_config' and everying (on first flush) sems to be working absolutely fine.

So I decided to modify the testandlaunch script and changed the last line to

optirun ./$1

...and thus seem to have solved my own problem. so 'optirun %command%' in steam launch options seems to apply optirun only to the script and ends in a fail.

Manually hacking the launch script is probably not the correct way to do this, but it seems to work until someone can come up with an 'official way' to add an optirun option.


Hope this helps someone. (and apologies if I haven't read enough of the thread and this has already been posted)

Avaricia
Posts: 12
Joined: Sat, 27. Jun 15, 17:55
xr

Post by Avaricia » Sat, 27. Jun 15, 18:01

Hey, just letting you know that Steam achievements haven’t worked for the Linux version of X3TC since last October, there is a thread on the Steam forum for X3TC with multiple people reporting this.

qux
Posts: 1
Joined: Tue, 7. Jul 15, 14:25
x3ap

Post by qux » Wed, 14. Oct 15, 16:46

Hi, I'm having an issue with X3AP under Arch Linux.
During combat the game will sometimes crash at random with a floating point exception error. It occurs very often, especially when there are multiple enemy ships attacking you nearby.

dmesg:

Code: Select all

[Tue Oct 13 11:27:27 2015] traps: X3AP_main[31649] trap divide error ip:8183457 sp:ffd2bc1c error:0 in X3AP_main[8048000+255000]
[Tue Oct 13 13:21:51 2015] traps: X3AP_main[2718] trap divide error ip:8183457 sp:ffd039cc error:0 in X3AP_main[8048000+255000]
[Wed Oct 14 09:58:27 2015] traps: X3AP_main[21452] trap divide error ip:8183457 sp:ffcacd0c error:0 in X3AP_main[8048000+255000]
[Wed Oct 14 16:25:38 2015] traps: X3AP_main[12642] trap divide error ip:8183457 sp:ffa45f4c error:0 in X3AP_main[8048000+255000]
grep -B10 -A1 'Floating' /tmp/steam.log:

Code: Select all

ST_UnloadCut() cut 2225 start
ST_UnloadCut() starting unload cut 2225, numinst=14
J3D_FreeCut() freeing cut 2225
SFX: Freeing AUTOFREE sound ID 968
======================================
#-99845(2025)[0d73ba]2034.AttackedByHandler Function GetOwner in undefined object 10 called!
======================================
======================================
#-99838(2025)[0d73ba]2034.AttackedByHandler Function GetOwner in undefined object 10 called!
======================================
/home/qux/.steam/steamapps/common/X3 Terran Conflict/testandlaunch: line 31:   246 Floating point exception./$1
Game removed: AppID 201310 "X3: Albion Prelude", ProcID 246 
--
======================================
#-25767(2027)[038388]702.__runScript Undefined function 0(0).GetY called!
======================================
movloadmovie success: reply=1 (1 / 17178643)
New 3d sound for (pri=  0) unknown
New 3d sound for (pri=  0) unknown
New 3d sound for (pri=  0) unknown
New 3d sound for (pri=  0) unknown
SFX: Freeing AUTOFREE sound ID 983
SFX: Freeing AUTOFREE sound ID 1007
/home/qux/.steam/steamapps/common/X3 Terran Conflict/testandlaunch: line 31:   301 Floating point exception./$1
Game removed: AppID 201310 "X3: Albion Prelude", ProcID 301 
--
======================================
======================================
ERROR. Collisioncheck on Body without RAPID box!
Body Nr: 20465
======================================
======================================
ERROR. Collisioncheck on Body without RAPID box!
Body Nr: 20465
======================================
movloadmovie success: reply=1 (1 / 33694270)
/home/qux/.steam/steamapps/common/X3 Terran Conflict/testandlaunch: line 31:   249 Floating point exception./$1
Game removed: AppID 201310 "X3: Albion Prelude", ProcID 249 
--
#-285740(2025)[0d73ba]2034.AttackedByHandler Function GetOwner in undefined object 10 called!
======================================
======================================
#-285726(2024)[0d73ba]2034.AttackedByHandler Function GetOwner in undefined object 10 called!
======================================
======================================
#-285697(2023)[0d73ba]2034.AttackedByHandler Function GetOwner in undefined object 10 called!
======================================
SFX: Freeing AUTOFREE sound ID 1008
SFX: Freeing AUTOFREE sound ID 1007
/media/storage/steam/X3 Terran Conflict/testandlaunch: line 31:   320 Floating point exception./$1
Game removed: AppID 201310 "X3: Albion Prelude", ProcID 320
gdb:

Code: Select all

Program received signal SIGFPE, Arithmetic exception.
0x08183457 in ?? ()
(gdb) bt
#0  0x08183457 in ?? ()
#1  0x081466bf in ?? ()
#2  0x08139d7f in ?? ()
#3  0x081353b6 in ?? ()
#4  0x08055412 in ?? ()
#5  0x08054826 in ?? ()
#6  0x08053c18 in ?? ()
#7  0x080516c3 in ?? ()
#8  0xf66e3497 in __libc_start_main () from /usr/lib32/libc.so.6
#9  0x08051701 in ?? ()

Also, when entering a new sector, the game stutters for a few seconds. I have a very powerful system (i5 4460 @ 3.4 GHz, GTX 770, 16 GB of ram) and the game is running from a SSD so I'm wondering if that will ever be fixed.

cherriedquat
Posts: 2
Joined: Sun, 18. Oct 15, 10:21

X3AB Linux Steam Saitek X52 Issue with Throttle

Post by cherriedquat » Sun, 18. Oct 15, 10:58

I have issues getting my Saitek X52 controller working with X3AB from Steam on Linux.

The controller works perfectly well in X3 Rebirth and X3TC (X3R Special Edition for Linux, X3R Steam Linux, X3TC Steam Linux), including Throttle, so I know that it's not an issue with the controller itself or the joystick configuration.

The expectation regarding Throttle is that the Saitek X52 Throttle is the Throttle, pushing the Throttle speeds up, pulling the Throttle slows down, pull in zero position reverses, and the Boost can be used in parallel to the Throttle, i.e. I can push Throttle and use Boost at the same time to Boost to max speed.

It works this way in X3 Reunion and X3 Terran Conflict.

In X3 Albion Prelude Steam Linux, I experience the following glitches:

1. In the X3: Albion Prelude Input Device / Controller Adjustment settings, I have to configure my Throttle as "Left Trigger" in order to be Throttle in the game. It seems that the X3AB Controller Adjustment Dialog and the X3AB game itself are not consistent with each other.

2. There seems to be no setting for inverting the Throttle in game. I want it to be max position -> full speed, min position -> slow down reverse. I tried using "-1.00" instead of "1.00" for a "Scale/Inert" value of the "Left Trigger", but when I did that, the Throttle wasn't working at all.

3. The Throttle controller doesn't reverse as it used to do.

4. When the Throttle setting is faster than the current speed, the Boost doesn't work.

I would like to know if anybody else experienced these glitches with X3AB and what I can do in order to fix them. Until then, I'll play X3TC instead of X3AB...

User avatar
Crip67
Posts: 62
Joined: Wed, 8. Feb 06, 22:55
x4

Post by Crip67 » Sun, 18. Oct 15, 18:29

i was having the same issue. i fixed it by putting -1 under source axis: in last 4 slots.

source axis:
joy2x -1
joy2y -1
left trigger -1
right trigger -1

might can get away with just left trigger but i havent tried.

cherriedquat
Posts: 2
Joined: Sun, 18. Oct 15, 10:21

X3AP Linux Steam Saitek X52 Throttle - solved!

Post by cherriedquat » Sun, 18. Oct 15, 20:09

Hey Crip67, thanks for this, that solved it!
I actually only set Left Trigger and Right Trigger to -1. So my settings now are pretty much the expected ones:
  • ☐ Use as Xbox controller (off)
  • ☐ Display Controller Layout (off)
  • Joy1X 0 1.00 (Dive/Climb)
  • Joy1Y 1 1.00 (Left/Right)
  • Rudder 5 1.00 (Rotate)
  • Throttle 2 1.00 (Forward: Accelerate, Backward: Stop / Reverse)
  • Joy2X 4 1.00 (E-wheel controls X-movement)
  • Joy2Y 3 1.00 (i-Wheel controls Y-movement)
  • Left Trigger -1 (greyed out)
  • Right Trigger -1 (greyed out)
  • ☐ Always grab cursor (off)
These settings work. The only remaining glitch is that Boost only works if the actually speed is less than or equal the set speed. If the set speed is higher than the actual speed, Boost doesn't work. But I can live with that.

Post Reply

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