Talk:HOWTO Running Old Loki Games
From Gentoo Linux Wiki
Added Sid Meier's Alpha Centauri as contributed by john_who in original forum post for this HOWTO (though I'd forgotten to login on a different computer so not credited to me).
- Swanson 11:43, 16 October 2005 (GMT)
Contents |
[edit] Raptor
I found the great Raptor game, linux version shareware. Actually i'm on amd64, so double problem: old game and different cpu. All the emul-linux-x86 required are installed (glibc, sdl, and so on), i created the symlink to the sdl libs but this don't work
lrwxrwxrwx 1 root root 15 Dec 8 02:09 /usr/lib/libSDL-1.1.so.0 -> libSDL-1.2.so.0 lrwxrwxrwx 1 root root 15 Dec 8 02:02 /emul/linux/x86/usr/lib/libSDL-1.1.so.0 -> libSDL-1.2.so.0
i did an env-update to update the ld.so cache but this don't works:
$ ldd ./raptor
linux-gate.so.1 => (0xffffe000)
libpthread.so.0 => /lib32/tls/libpthread.so.0 (0x5558e000)
libSDL-1.1.so.0 => not found
libc.so.6 => /lib32/tls/libc.so.6 (0x555a1000)
/lib/ld-linux.so.2 (0x55555000)
As you can see it doesn't find the libSDL-1.1.so.0, i don't know what to do :| The game itself don't have any libSDL with it, it uses the system ones.
Any help?
- Sorry, I don't have an AMD64 to test with to duplicate and resolve the problem. Swanson 11:09, 22 April 2006 (UTC)
[edit] why not emerge?
some of the games mentioned in the article are in portage and worked out of the box for me (glibc 2.4) why should you use a manual workaround then?
- I'd really created this guide for people who had installed these games prior to Gentoo, retained them from their old distribution and don't want Gentoo to rehash things (plus I keep these games in a seperate /usr/local/games partition which Gentoo doesn't really allow). It also makes it distribution independent and from emails I receive there are a hell of a lot of people who don't play these old games anymore. Note that it is likely that your games are not using glibc 2.4 but the compatibility libraries. Swanson 10:22, 25 April 2006 (UTC)
[edit] A Different Approach
After a long long time I tried out my old Sim City 3000 again, but it didn't run. It segfaulted every time, so I tried the dynamically linked version together with the compat-libs. But then there were complaints about missing libs or exported symbols and whatnot.
So I decided to build myself a chroot, mainly because I didn't want to damage my working system. I used the 2006.1 Gentoo no-nptl install (since the game seems to use linux threads which nowadays are not available when nptl is turned on) and only emerged some X11-libs - well, I emerged lib-compat-loki, since this was point where I decieded to no further trouble my working system, but this installed some 110 packages as dependencies, the X11 libs among other things.
I was rather surprised when the game now worked out of the box! I just copied the game files from the old installation into the chroot and started it - without the intro video, that still doesn't seem to work. Sound is a bit shaky, too, when higher resolutions are turned on, but I can play and that was the main point.
Maybe this approach also helps people using AMD64? Don't know, don't own one...
If you want I can post a detailed instruction on how to install the chroot, but I think thats not necessary since its mostly just following the Gentoo installation guide.--Wile E. Coyote 12:28, 18 February 2007 (UTC)
[edit] SMAC works with glibc 2.5, the others too?
SMAC is my only loki game, so i can't tell you if these failures in the previous glibc-versions (<2.5) are solved for all games or only SMAC, but SMAC worked for me with the CD-Installation out of the box on my x86 system. No modification was necessary. I only have a strange sound problem, but this also occures with the portage-smac-compatibility-libs.--Amfortas 23:18, 18 April 2007 (UTC)
[edit] Loki and AMD64
As far as i have read in many forum-threads, a x86-chroot environment is the only solution to run the old loki games. Maybe the Page should contain a hint and a link to a chroot - HOWTO like this: [1].--Amfortas 23:27, 18 April 2007 (UTC)
- I was able to get the soldier of fortune demo to run on my AMD64 system. However before it would run I had to manually fix the symlink in /opt/soldieroffortune-demo/ for libSDL so that it pointed to the one in /usr/lib32/ - Oracleguy 22:14, 22 November 2007 (UTC)
[edit] Unable to initialize Jackal
I may be ressurecting a long-forgotten issue here, but in trying to get Loki's smac port running, I'm getting this error:
- Unable to initialize Jackal
I've looked high and low, and can't even find out what Jackal is. I've followed all the recommendations found here and elsewhere. Any thoughts?
--75.84.136.231 00:34, 15 July 2007 (UTC)
Jackal seems to be the gameengine of the firaxis games. source: http://apolyton.net/misc/interviews/bhg_ttrain.shtml --80.171.18.156 21:31, 13 November 2007 (UTC)
[edit] Tribes 2
The game doesn't run at all normally, but when I use your Loki_Compat folder and run the game with: LD_LIBRARY_PATH=/home/jason/.loki/Loki_Compat/ /home/jason/.loki/Loki_Compat/ld-linux.so.2 /home/jason/Public/games/Tribes2/GameData/tribes2.dynamic
it runs, and the menus work and everything. But when I start a game it crashes. Sometimes it happens right away and sometimes I can play for a little bit and then it crashes.
So here is the output of the command:
scanelf -Rnq ~/Public/games/Tribes2
libpthread.so.0,libm.so.6,libc.so.6 /home/jason/Public/games/Tribes2/GameData/tribes2d.dynamic libX11.so.6,libXext.so.6,libdl.so.2,libpthread.so.0,libm.so.6,libc.so.6 /home/jason/Public/games/Tribes2/GameData/tribes2 libSDL-1.2.so.0,libfreetype.so.6,libsmpeg-0.4.so.0,libpthread.so.0,libm.so.6,libc.so.6 /home/jason/Public/games/Tribes2/GameData/tribes2.dynamic libm.so.6,libdl.so.2,libpthread.so.0,libc.so.6 /home/jason/Public/games/Tribes2/GameData/libopenal.so.0 libm.so.6,libdl.so.2,libpthread.so.0,libc.so.6 /home/jason/Public/games/Tribes2/GameData/libopenal.so.0_dist
please let me know if you have to add anything to the Loki_Compat folder my email is: laptop-44@hotmail.com
[edit] Alpha Centauri (and Alien Crossfire) under compiz-fusion with Xephyr
I'm not running gentoo (PCLinuxOS), but this wikipage seems to be pretty much the place to post this, so here it goes...
(Before all this, i've installed SMAC from the CD (full install), patched it (needs loki patch fix too) and put the Loki compat libs in place)
In the wikipage it's just said that you can't run these games while running compiz/beryl. I've found a workaround by using Xephyr (like Xnest but better). I installed x11-server-xephyr from synaptic (I think portage might have it but haven't checked, maybe not exactly the same name) and created the following scripts. (The 2 first ones are just my generic ones which i used on an debian that doesn't run compiz, too). Note that I've installed loki compat libs under /usr/local/games/smac/Loki_Compat to keep my smac installation self-contained.
/usr/local/games/smac/run-smac.sh:
#!/bin/sh LD_LIBRARY_PATH=/usr/local/games/smac/Loki_Compat/ /usr/local/games/smac/Loki_Compat/ld-linux.so.2 /usr/local/games/smac/smac.dynamic
/usr/local/games/smac/run-smacx.sh:
#!/bin/sh LD_LIBRARY_PATH=/usr/local/games/smac/Loki_Compat/ /usr/local/games/smac/Loki_Compat/ld-linux.so.2 /usr/local/games/smac/smacx.dynamic
/usr/local/games/smac/run-smac-xephyr.sh:
#!/bin/sh Xephyr -ac -geometry 800x600 -extension Composite :1 & DISPLAY=:1.0 xterm -e /usr/local/games/smac/run-smac.sh
/usr/local/games/smac/run-smacx-xephyr.sh:
#!/bin/sh Xephyr -ac -geometry 800x600 -extension Composite :2 & DISPLAY=:2.0 xterm -e /usr/local/games/smac/run-smacx.sh
Setting geometry to 1024x768 works, too.
(Note that saying "-extension" to Xephyr disables extension, "+extension" would enable.)
Remember to make these executable. (chmod +x <filename>)
The filenames are arbitary, but they reference other so compensate content too if you want to rename them.
So thats about it... running /usr/local/games/smac/run-smac-xephyr.sh starts Alpha Centauri in an Xephyr window, run-smacx-xephyr.sh starts Alien Crossfire. You can symlink these .sh files to eg. /usr/local/bin if you want the startup to be convenient, etc...
I'm not good at writing wiki pages, and just wanted to post this information *somewhere*...
-- urjaman (urjaman at gmail dot com)
