Heli-X6 for Linux using 32-bit libraries - Slowness ensues
Posted: 25 Jul 2015 21:56
Hello,
I've been using Heli-X41 (paid version) for many years now on Linux, and it works great. My system is by no means slow:
2600k, 16GB dual channel memory, two Nvidia 580 GTX cards running SLI with the Nvidia Driver (opengl works fine, and I play games in steam without issue).
A few days ago, I tried to use Heli-X6, and immediately had issues. First, I noticed that the old dual library option was gone, and instead of having separate scripts to load run time libraries for 32-bit and 64-bit compilations, there is only a single script to start Heli-X.
From Heli-X41:
./libs/gluegen/linux-i586/libgluegen-rt.so
./libs/gluegen/linux-amd64/libgluegen-rt.so
./libs/jinput_old/linux-i586/libjinput-linux.so
./libs/jinput_old/linux-amd64/libjinput-linux64.so
./libs/joal/linux-i586/libopenal.so
./libs/joal/linux-i586/libjoal_native.so
./libs/joal/linux-amd64/libopenal.so
./libs/joal/linux-amd64/libjoal_native.so
./libs/lwjgl/linux-i586/liblwjgl.so
./libs/lwjgl/linux-amd64/liblwjgl64.so
./libs/jinput/linux-i586/libjinput-linux.so
./libs/jinput/linux-amd64/libjinput-linux64.so
./libs/jogl/linux-i586/libjogl.so
./libs/jogl/linux-i586/libjogl_cg.so
./libs/jogl/linux-i586/libjogl_drihack.so
./libs/jogl/linux-i586/libjogl_awt.so
./libs/jogl/linux-amd64/libjogl.so
./libs/jogl/linux-amd64/libjogl_cg.so
./libs/jogl/linux-amd64/libjogl_awt.so
From Heli-X6:
libjinput-linux64.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=59e779dc7019bb3d4dcff5bd6be7e8cc9cb37ebe, stripped
libjinput-linux.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=4fb5e1fbbfba0a937f53c3e1379b0805f4569c07, stripped
liblwjgl64.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=79aea5a6f9402a4197f8d76c333a5b8c671ba11e, stripped
liblwjgl.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=2f476eda4eb53baad0dc4a3d72e5812c7bb06f25, stripped
libopenal64.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=cd6f23c3576be4bba86264d3fc2be378e15596a6, not stripped
libopenal.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=14c3264f900f71fad221f4a49c81406c4bb29a26, not stripped
When I try to use the launcher provided, runHELI-X.sh, it tries to load the 32-bit libraries, and causes problems:
OpenJDK 64-Bit Server VM warning: You have loaded library /home/dralan/games/HELI-X6/libjinput-linux.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
After that, the menus are sluggish, and I only get 5FPS in the game no matter what video options I try or what resolution I run at. Heli-X41 worked fine, and I could get hundreds of frames per seconds on my machine.
How do I tell it to load the 64-bit libraries?
I've been using Heli-X41 (paid version) for many years now on Linux, and it works great. My system is by no means slow:
2600k, 16GB dual channel memory, two Nvidia 580 GTX cards running SLI with the Nvidia Driver (opengl works fine, and I play games in steam without issue).
A few days ago, I tried to use Heli-X6, and immediately had issues. First, I noticed that the old dual library option was gone, and instead of having separate scripts to load run time libraries for 32-bit and 64-bit compilations, there is only a single script to start Heli-X.
From Heli-X41:
./libs/gluegen/linux-i586/libgluegen-rt.so
./libs/gluegen/linux-amd64/libgluegen-rt.so
./libs/jinput_old/linux-i586/libjinput-linux.so
./libs/jinput_old/linux-amd64/libjinput-linux64.so
./libs/joal/linux-i586/libopenal.so
./libs/joal/linux-i586/libjoal_native.so
./libs/joal/linux-amd64/libopenal.so
./libs/joal/linux-amd64/libjoal_native.so
./libs/lwjgl/linux-i586/liblwjgl.so
./libs/lwjgl/linux-amd64/liblwjgl64.so
./libs/jinput/linux-i586/libjinput-linux.so
./libs/jinput/linux-amd64/libjinput-linux64.so
./libs/jogl/linux-i586/libjogl.so
./libs/jogl/linux-i586/libjogl_cg.so
./libs/jogl/linux-i586/libjogl_drihack.so
./libs/jogl/linux-i586/libjogl_awt.so
./libs/jogl/linux-amd64/libjogl.so
./libs/jogl/linux-amd64/libjogl_cg.so
./libs/jogl/linux-amd64/libjogl_awt.so
From Heli-X6:
libjinput-linux64.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=59e779dc7019bb3d4dcff5bd6be7e8cc9cb37ebe, stripped
libjinput-linux.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=4fb5e1fbbfba0a937f53c3e1379b0805f4569c07, stripped
liblwjgl64.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=79aea5a6f9402a4197f8d76c333a5b8c671ba11e, stripped
liblwjgl.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=2f476eda4eb53baad0dc4a3d72e5812c7bb06f25, stripped
libopenal64.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=cd6f23c3576be4bba86264d3fc2be378e15596a6, not stripped
libopenal.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=14c3264f900f71fad221f4a49c81406c4bb29a26, not stripped
When I try to use the launcher provided, runHELI-X.sh, it tries to load the 32-bit libraries, and causes problems:
OpenJDK 64-Bit Server VM warning: You have loaded library /home/dralan/games/HELI-X6/libjinput-linux.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
After that, the menus are sluggish, and I only get 5FPS in the game no matter what video options I try or what resolution I run at. Heli-X41 worked fine, and I could get hundreds of frames per seconds on my machine.
How do I tell it to load the 64-bit libraries?