Saturday, January 9, 2010

Eschalon Book I - Intel VGA + the AMD64 hack with lib32 nvidia driver

You can find the details about "Eschalon Book I" in my other post. This short post is about how I could make it work stable on my intel-vga (gma 965) chip. First of all by default it crashes on my 64-bit linux very often. There's a way to prevent this. I had to use the nvidia driver's libGL.so and libGLcore.so. The 32-bit compatibility version in my case, as I'm on a 64-bit system. But this caused trouble with other 32-bit binary native games or those run with wine. So I had to install back the normal mesa libgl library. But there's a way to make work both at the same time!

First I installed the lib32 nvidia libraries. Copied the files of the nvidia version GL from opt/lib32/usr/lib/ to my game's directory creating an ./nvidia directory there. After that I updated back to the normal lib32-libgl of my distro. That way the Eschalon game is still crashing, but other 32-bit games work. But the trick comes just after that: I've created a new shell script that overrides the default library path with the backed up ./nvidia directory, and starts the game with the Nvidia version of libGL. The script looks like this in my Eschalon game directory:

LD_LIBRARY_PATH=./nvidia ./Eschalon\ Book\ I

That's all! :) After that by some heavenly luck, the game still works with the xorg-intel-vga but the nvidia libGL. Strange, isn't it? Nvidia driver version: 190.53. Mesa 7.7. Intel driver version: 2.10. That might change with later versions rendering this useless - right now it works on my machine. If you have a different experience or the same with trying this please leave a comment. Thanks!

The following files are copied into the ./nvidia dir:

libGL.so libGLcore.so.1 libXvMCNVIDIA_dynamic.so.1 libasound.so.2.0.0 libcuda.so.190.53 libnvidia-tls.so.1
libGL.so.1 libGLcore.so.190.53 libasound.so libcuda.so libnvidia-cfg.so.1 libnvidia-tls.so.190.53
libGL.so.190.53 libXvMCNVIDIA.so.190.53 libasound.so.2 libcuda.so.1 libnvidia-cfg.so.190.53

1 comment:

cooking games girl said...

The 32-bit compatibility version in my case, as I'm on a 64-bit system. But this caused trouble with other 32-bit binary native games or those run with wine.