Runesoft games based on ogre engine broken with fglrx (?)
Maybe someone of you can help me, though I fear this is a general error with fglrx these days. My problem: it is not possible for me to start games from Runesoft that are based on the Ogre engine. I now own Ankh, Ankh2 as well as Jack Keane and neither of those games wants to start, all exist with a lovely segfault. About one year ago I was still able to at least play Ankh2 on my amd64 linux box, so I fear some regression got into, but maybe I am just doing something wrong.
Here is what I do:
Start any of the runesoft games with a system with fglrx (latest, some older ones make no difference either). The result is a segfault. When starting the game (in this example Jack Keane) in gdb, the result is as follows:
It makes no difference if I have composite active or not. You can test if it works for you using the Ankh2 demo (which crashes as well!). It is available via torrent and the torrent is eg linked at linux-gamers.net.
$ gdb ./jk
GNU gdb 6.8
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu"...
Starting program: /home/nils/JackKeane/bin/release/jk
[Thread debugging using libthread_db enabled]
Starting JK 1.0.3...(release)Starting intro...
[New Thread 0xf74256c0 (LWP 20835)]
[New Thread 0xf6cb2b70 (LWP 20844)]
[Thread 0xf6cb2b70 (LWP 20844) exited]
Starting application...class created.
Desktop settings: 1920x1200
Log manager created.
Setting log level to 1
System: Linux 2.6.30 #3 SMP Sat Jun 13 16:33:28 CEST 2009
Available app memory (KB, maybe virtual): 4046740
Using RenderSystem: OpenGL Rendering Subsystem
LUA scripting initialized.
Sound effects/speech/music intialized.
Initializing Render Task...Ok
Initializing mouse interface...Ok
Initializing audio subsystem...OpenAL intialized, device:
[New Thread 0xf6cb2b70 (LWP 20909)]
Allocated 64 sound sources.
Distance factor set to: 0.1
Rolloff factor set to: 0.1
Distance factor set to: 0.01
Rolloff factor set to: 1
GetTotalMemory (MB) returned: 3951
Displaying intro scene...
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xf74256c0 (LWP 20835)]
0xf54355af in ?? () from /usr/lib32/dri/fglrx_dri.so
Kill the program being debugged? (y or n) y
* Gentoo amd64 (unstable) with multilib installed (required for the runesoft games since they are 32bit only)
* Core2Quad Q9300
* HD3850 512MB with latest fglrx (9.5 crashes, too IIRC, downgrading further is not really possible without downgrading xorg-server...)
* xorg-server 1.6.2-rc1 (running kde 4.2.4)
* kernel 2.6.30 (yes, some patches for fglrx required, but with an older kernel it crashes, too)
* glibc 2.10.1
If composite is active or not seems not to affect the situation.
Can anybody of you confirm this problem? Does someone maybe have a solution (beside some "get an nvidia card!") for the problem? Does it also happen with fglrx on 32bit, or is it fine there? Or do you even use fglrx on 64bit and don't observe this problem?
I tried starting ankh2 with the open source drivers and, oh wonder, it starts, but since there is no 3D support for r6xx so far everything is done via the mesa software rasterizer and thus is unbearable slow (~1fps). So the game itself can at least start in a (very) recent 64bit environment with multilib...