It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
I just bought X3: Terran Conflict last night because it claimed Linux support, and I wasn't going to buy the recently released X4 because it apparently is not DRM free (not sure how it made it onto gog...).

I run Arch Linux, and the game did not work out of the box because of issues with how the game binaries linked to system libs, and my local system versions were incompatible.

I was a little irritated but I still wanted to play. I didn't want to muck around with my system libraries so I wrote a script that pulls all the necessary libraries from one of the distros and versions they claim support for (Ubuntu 18.04 LTS) and places them in the game's lib dir.

I wanted to share it here in case it helps anyone else running modern Linux systems. It should be run inside the `game/lib/` directory of your installation to place the libraries there:

```
#!/bin/bash

set -euo pipefail

CONTAINER_NAME="x3-tc-libs-retriever"
CONTAINER_IMAGE="ubuntu:18.04"

echo "INFO: downloading container image ${CONTAINER_IMAGE} to pull libs for x3 terran conflict"

cleanup() {
ex=$?
docker stop -t 0 ${CONTAINER_NAME} 1>/dev/null
exit $ex
}

trap "cleanup" INT TERM EXIT

docker run -d -it --rm --name ${CONTAINER_NAME} ${CONTAINER_IMAGE} sleep infinity 1>/dev/null

docker exec -it ${CONTAINER_NAME} dpkg --add-architecture i386
docker exec -it ${CONTAINER_NAME} apt-get update 1>/dev/null
docker exec -it ${CONTAINER_NAME} apt-get install libgtk2.0-0:i386 -y 1>/dev/null

REQUIRED_LIBS="libgtk-x11-2.0.so.0 libgdk-x11-2.0.so.0 libpango-1.0.so.0 libpangocairo-1.0.so.0 \
libcairo.so.2 libgdk_pixbuf-2.0.so.0 libpangoft2-1.0.so.0 libfontconfig.so.1 libfreetype.so.6 \
libpng16.so.16 libharfbuzz.so.0 libgraphite2.so.3 libxcb-shm.so.0 libz.so.1"

for REQUIRED_LIB in $REQUIRED_LIBS
do
if test -f "${REQUIRED_LIB}"; then
echo "WARNING: ${REQUIRED_LIB} already exists, skipping..."
else
echo "INFO: pulling ${REQUIRED_LIB} from ${CONTAINER_IMAGE}..."
LIB_CONTAINER_PATH='/usr/lib/i386-linux-gnu'
if [[ "${REQUIRED_LIB}" == "libz.so.1" ]]; then
LIB_CONTAINER_PATH='/lib/i386-linux-gnu'
fi
LATEST_VERSION="$(docker exec -it ${CONTAINER_NAME} /bin/bash -c "ls ${LIB_CONTAINER_PATH}/${REQUIRED_LIB}.*" | tail -1 | tr -d '\n' | tr -d '\r')"
docker cp ${CONTAINER_NAME}:${LATEST_VERSION} ./${REQUIRED_LIB}
fi
done
```

You'll need to have docker installed, otherwise you can just use the script as reference for which libraries you'll need.

The game's been working fine for me on Arch Linux, hope it helps.
Post edited February 02, 2020 by yunix
I'm honestly surprised that Docker images aren't the norm for Linux gaming. I guess Valve went and made their own fork of Wine (Proton) instead. Since it's OSS, maybe some day GOG will embrace it. OTOH, I would have expected them to migrate to Electron or some other cross-platform framework for Galaxy 2.0, and they didn't bother to do that...

X4 is DRM free. An account is only required for a completely optional and superfluous feature: Ventures. The only thing exclusive to Ventures are some paint mods for your ships, but there are game mods available that put those paint mods in stores for purchase.
Post edited February 03, 2020 by basileus
I made it run on Manjaro (Arch based) in a different way but not very helpfully I do not have that computer and myself in the same location at the moment. Mainly used the advice in this link:
https://www.gog.com/forum/general/x3_terran_war_pack_linux_install
It runs perfectly for me after having removed most of the bundled old libraries.
Post edited February 03, 2020 by Themken
avatar
basileus: X4 is DRM free. An account is only required for a completely optional and superfluous feature: Ventures. The only thing exclusive to Ventures are some paint mods for your ships, but there are game mods available that put those paint mods in stores for purchase.
You may call it a superfluous feature (and I agree), but it's a feature nonetheless.

An account, and online "achievement" tracking (which in turn would require GOG Galaxy–if that were available for Linux), is also required to unlock the Teladi game start.
It's fairly simple to mod, but not part of the stock game as delivered.

EDIT:
As posted by Themken in another thread

In order to unlock more game start(s) before there will be Galaxy for Linux you will need to mod your game:
https://gitlab.com/.valck/x4-unlock-teladi-game-start

Be sure to read and understand before applying the hack!
Post edited February 23, 2020 by CX
The latest beta also adds a new advanced start that skips the initial story quests, provided you have already completed them on another playthrough. I suspect it functions similiarly to the Teladi start.

However, an Egosoft account isn't required for those advanced game starts; only GOG Galaxy achievements. I don't have an Egosoft account, but I do have access to those starts on my Windows PC.
avatar
yunix:
What an extremely convoluted way of fixing things!
Or, one can just clean things up a little, no Docker™ or obscure script required. :)
avatar
CX: An account, and online "achievement" tracking (which in turn would require GOG Galaxy–if that were available for Linux), is also required to unlock the Teladi game start.
It's fairly simple to mod, but not part of the stock game as delivered.
Just wanted to inform you that since version 3.00 neither "achievements" nor modding is required anymore. As of now, the game finally remembers player's achievements in the "~/.config/EgoSoft/X4/userdata.xml" file. :)
Post edited April 11, 2020 by Alm888
avatar
Alm888: Just wanted to inform you that since version 3.00 neither "achievements" nor modding is required anymore. As of now, the game finally remembers player's achievements in the "~/.config/EgoSoft/X4/userdata.xml" file. :)
Oh, they fixed X4 for Linux on GOG! Nice! I missed that. Thank you! I really thought I read all the changelogs but guess I missed that.
avatar
Themken: Oh, they fixed X4 for Linux on GOG! Nice! I missed that. Thank you! I really thought I read all the changelogs but guess I missed that.
That came as a bonus to "Changed timeline Encyclopedia entries to remain known across different games" (that file is also used to mark Timeline entries as unlocked cross-game). :)
avatar
Alm888:
Good to know. I see you have been active on Egosoft's forums as well, bringing forth X on Linux on GOG specific problems, good job.

Your solution for playing X3 on modern systems was also so simple and effective and taught me more about gaming on Linux. I used it last year. Runs perfectly.