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
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.