Dec 06, 2006

Lokigames In Slackware Linux 11.0

I recently upgraded my computer(s) to Slackware 11.0, so the original work I had done on getting my old Lokigames releases working under Slackware 9.1 wasn't really relevant any more. I've archived the page at this link if you need to peruse the contents for whatever reason.
New Slackware = new caveats for the "old skool" games. Here's what I've done / discovered so far.
Please keep in mind that I haven't yet had the time to play _any_ of these games through their entirety, but I have fired them up and taken them for a quick test drive, just to make sure they're on their way. If you find they crash after a bit of game play, can you let me know?
Here's my current computer specs
Need help using Slackware & nVidia cards?




********************************************
Preamble
If you're new to it, or unfamiliar with the Lokigames scene, you should probably take a quick breeze through the following paragraphs and check out the associated links. The actual games' installation caveats are further down the page.




Basic Installation Procedure (all games)

It occurred to me that some may not know the most basic step of installing a Lokigames release in Slackware, so here's the general approach.
As far as I know, every game released by Lokigames has a    setup.sh   script in the root directory of the CDROM. My method of installing these games is to do it as   root  , because the default directory is   /usr/local/games   for anything released by Lokigames. This allows all users on the system to have access to the game.
So, from a graphical environment (like KDE), open a console,  become root, insert the CD into your CDROM drive, and mount it. Begin the install sequence with   sh  /cdrom/setup.sh   (note that some releases expect /dev/cdrom to point to the drive you're using - if you have more than one CDROM drive, make sure the disc is in the drive sym-linked by /dev/cdrom), which will present a popup window with install options. I perform the full install on everything. When it's done, it gives you the option to play immediately, but you shouldn't, because you are still  root  . Exit the installation, perform the updates as root, then play the game as a non-root user.
<open a console>
su
<insert CD>
<if you don't have a directory   /cdrom  , make it>
mkdir  /cdrom
<mount the CD>
mount  /dev/cdrom  /cdrom
sh  /cdrom/setup.sh
<perform the graphical install, exit>
<perform updates as described below>
exit




The Future : Compatability Libraries?

Before you get too deep into this page, here's some interesting reading, Leif H. first nudged me their direction a while ago.
I have not purposely ventured down this path, yet, as it is beyond my ability to fix should it go bad <grin>, but perhaps is worth the effort.
Here's a direct link to Mr. Swanson's site if you're inclined.
That said, see the paragraph on Eric's Ultimate Solitaire, below. The "fix" for EUS is to install compatability libraries under /lib in the the EUS directory.  I am not sure how these libraries were built - maybe they are a straight copy of the Gentoo libs provided by Mr Swanson? They seem to work under Slackware 11.0, at least for EUS. A possible (untested) option for all of your Lokigames releases, if you've installed EUS and used the   eus_libpatch-0.1.run  
fix, is to use its compatability library in the same manner that the Gentoo forums suggest. It might work?
If you've tried to employ a similar workaround in Slackware 11.0, either using your own compiled libraries (or perhaps libs from an older version of Slackware), can you
let me know how it panned out, and if you've documented it online?





loki_update & loki_uninstall

Prior to installing any of the games on this page, I strongly suggest you to install the loki_update and loki_uninstaller tools. They are a Linux gamer's good, good friend. Just download them and run them as root.
su
sh loki_update-full-1.0.13-x86.run

sh loki_uninstall-full-1.0.3-x86.run

Now, after each installation, you can run them from an xterminal
loki_update
loki_uninstall

And follow the prompts in the popup window.
Additionally, when you are updating your games later on, there is an option to choose your download site. I have found that for Lokigames releases, the sunsite.dk's ftp site is fast and consistently reliable (unless you have your own webserver <grin>).




The Whole Patch Failure Problem
The problem with updating many of the old Lokigames releases is that they cannot verify the patch data. It returns an error, something like
loki_patch --verify patch.dat
The workaround    I've stumbled upon    is to run   loki_update   & choose to update one game at a time. When it fails, it will leave the downloaded files in
    ~/.loki/loki_update/tmp/
So, to update EUS for instance, from the    ~/.loki/loki_update/tmp/    directory run the EUS install file with a couple of switches to retain the unarchived data in a newly created directory:
     ./eus-1.0a-x86.run   --keep   --target ./eusfiles
Puts all the pertinent data into the current directory under
     eusfiles/
Now, you'll need a different version of loki_patch.    I got it here    . I know absolutely nothing about it, good/bad/ugly. It apparently worked for me. Download it and replace original copy in
  ~/.loki/loki_update/tmp/eusfiles/bin/Linux/x86/loki_patch
Now go back to the directory
    ~/.loki/loki_update/tmp/eusfiles/
and run the updater in there
    sh ./update.sh


End Preamble
********************************************








********************************************
Game Caveats


Eric's Ultimate Solitaire

Ahhh, the good old days, when EUS "just worked". Not so any longer, but someone has already written a solution.
Not even the updater works properly any more, though, so before you use the above EUS-fixer, make sure you update EUS using loki_update and the "Patch Failure" technique described above, then run the   eus_libpatch-0.1.run   fixer. In order to make it play nice with the KDE I had to add a custom menu item and make sure that it opens in a terminal window. If you haven't read it already, go to the top of this page and read the paragraph on compatability libraries to understand what the patch does.

Open Source alternative : ??? Let me know




Railroad Tycoon II

RT2 appears to be fine as is. Install goes smoothly, and loki_update patches with 1.54c without hassle.
I have read that there is some problem regarding multiplayer games. Can't say I've ever tried multiplayer mode and I can't seem to dig up the webpage with the dude that addressed it, at the moment. If I run across it I'll update with a link.

Open Source Alternative : OpenTTD
If you are not already familiar with it, it's an Open Source version of Transport Tycoon Deluxe, and actively maintained for modern distributions.




Myth II Soulblighter

Myth II installed quite easily on Slackware 9.1, and appears to be good still. When I ran the setup script on the cdrom, the graphical installer failed but the shell installer kicked in and did the job. You will be prompted for a few things, ie:where to install (default /usr/local/games  is good). Make sure that you DO NOT install the Glide stuff, you don't need it on a modern system. Once installed, the game won't run immediately, you'll have to run loki_update first, but the update went smooth as silk and the game fired up nicely once the update was complete.

In previous installations on slightly older version of Linux, some of us experienced issues with the in-game movies in Myth2. Some installations seemed to go down cleanly, but then the game won't play. If that is the case, try moving into the myth2 directory and renaming the directory
  /cutscenes
to something else. This keeps the movies from playing, but may at least get the game rolling.
mv   /usr/local/games/myth2/cutscenes  
/usr/local/games/myth2/cutscenes_original
  I believe that after you've run the game successfully once, you can rename the directory back to  /cutscenes   and the movies will work properly.
mv   /usr/local/games/myth2/cutscenes_original   /usr/local/games/myth2/cutscenes
The self-installed menu item in the KDE start menu seems to work fine.

Open Source alternative : ??? Let me know




Descent 3

Descent 3 installed easily enough, and seemed to fire up OK. I was able to begin the training mission without updating the software. When I went to run loki_update on it, it offered updates to 1.40a and 1.40b, but failed on 1.40a. To update, I simply opened an xterminal and as root descended into root's   ~/.loki/loki_update/tmp/   directory, ran the installer with the    --keep --target ./descentAfiles   switches, answered no to both queries, then descended into the newly created  directory    ./descentAfiles    and ran the    update.sh   script that was in there. It installed itself in text mode, and when it was done I was able to run   loki_update   again to update to 1.40b.
loki_update
<fails>
cd ~/.loki/loki_update/tmp/
./descent3-1.4.0a-x86.run --keep --target descentAfiles
<answer no, no to the two prompts>
cd ./descentAfiles
./update.sh
<answer no to readme, yes to install>
exit

After the 1.40a update, there are more update options; one to install   "Mercenary",   which requires a Windows CD of some sort, and another option to install "Launcher". I don't know what either of these are, but I DO know I don't have the windows CD it is looking for, so I didn't bother updating those two options. Let me know if you know what that is about, and have done it yourself, and I'll update this webpage accordingly. The menu item in the KDE start menu seems to work fine.

Open Source alternative : ??? Let me know
Option of interest : Not really an open Source alternative, but a cool looking DOOM3 mod



Sim City 3000 Unlimited

Sim City 3000 Unlimited was another game that went down with limitless ease in Slackware 9.1. In 11.0 it fairs a little worse this time around, in that loki_update doesn't do its thing automagically any more. The initial installation goes well, but the game won't start without updating. The updater fails,  so you have to descend into root's   ~/.loki/loki_update/tmp   directory and do the whole keep-&-manual-install routine.
loki_update
<fails>
cd ~/.loki/loki_update/tmp/
./sc3u-2.0a-x86.run --keep --target SC3Ufiles
<answer no, no to the two prompts>
cd ./SC3Ufiles
./update.sh
<answer no to readme, yes to install>
exit


Not a big deal, but perhaps a bit confusing for the first-time user. With a standard installation, the intro movie's video doesn't play for me. There is sound though, so you know that *something* is happening. Just hit enter and that'll take you to the main menu.
Alternately, if you really want the intro movie, precede the call to   sc3u  with   SDL_VIDEO_YUV_HWACCEL=0  . So, from a console prompt, you'd invoke it like this:
export SDL_VIDEO_YUV_HWACCEL=0   sc3u
To get it started from the KDE start menu, you'll have to create a new item and in the command line put
export SDL_VIDEO_YUV_HWACCEL=0; sc3u


Open Source alternative : LinCity
I am not familiar with this project, but it sure looks good. High quality graphics, and it appears to be maintained as of this writing.
If you use it,
let me know how it runs?




Heavy Metal FAKK2

The installation script on the CD installs easily enough, but the game segfaults immediately. Fortunately,
some has been work done to accommodate for that already
  which addresses not only the segfault, but the in-game bug that James C.G. pointed out. Download the fakk2_1.02-english.run
file from the above link and use it as your installer.
su
<enter password>
sh
fakk2_1.02-english.run

N
ote that according to the webpage at liflg, after installing with the fix, that the game may not shut down properly when you try and quit. The advice of the author of the fix is to open a console and kill it off with the command
killall -15 fakk2

The installation created an item for me in the KDE start menu.

Open Source alternative : ??? Let me know




Sid Meier's Alpha Centauri Planetary Pack

  This game installs cleanly enough. It even starts up for me after the initial, non-updated, installation. An attempt to run loki_update on it fails miserably; you have to descend into root's ~/.loki/loki_update/tmp directory and do the manual routine. Even this does not play nice, though. Unlike other games, this one finishes with a segfault, and you HAVE to employ the loki_patch swap described at the top of this webpage. I did mine like this
loki_update
<fails>
cd ~/.loki/loki_update/tmp/
./sc3u-2.0a-x86.run --keep --target smacfiles
<answer no, no to the two prompts>
<finishes with a segfault, but directory is created>
cd ./smacfiles/bin/Linux/x86
cp   /place/where/new/loki_patch/is/loki_patch   ./
cd ~/.loki/loki_update/tmp/smacfiles
./update.sh
<answer no to readme, yes to install>
exit
smacpack

Jimmy B. emailed me, and says he's got multiplayer working. Here's how he did it.
I found that I started the game in full-screen mode, that it tried using values outside the range of my monitor (NEC FE991sb). The monitor shut down and complained about the range, then the main menu would kick in and restart, but the "desktop" was well outside of the borders of the screen. I had to edit my   ~/.loki/smac/Alpha_Centauri.ini   file and change the   fullscreen option to  0, kept it run windowed. I run my desktop at 1280x1024, and the game seems to want 1024x768.
The menu item in the KDE menu seems to work fine.


 
Open Source Alternative : FreeCIV
Although not the same graphics or futuristic scenario, it is the same basic gameplay. Very nice, coded well & actively maintained.





Unreal Tournament

Although Lokigames wrote and distributed the installer, they never actually sold a "real" Linux box of Unreal Tournament, so I've put UT99 on a page with a bunch of other 1st person shooters; it seemed more appropriate there, anyway.
Follow this link to check it out.




Heretic 2

  Heretic2 installation is kinda borked. You can do the install, but the path to the binary executable got mixed up somehow. When you install the game, it will return an error message about not being able to find    bin/x86/heretic2  . Don't sweat it though, because everything else has been installed. Simply copy the binary into the correct hard drive directory and symlink it into /usr/bin.
cp  /cdrom/bin/x86/glibc-2.1/heretic2    /usr/local/games/heretic2/
ln  -s  /usr/local/games/heretic2/heretic2    /usr/local/bin


 
You may also get feedback like:
Can't create
/usr/local/games/heretic2/base/
through
/usr/local/games/heretic2/base/models/items/defense/tornado/
but it appears to be false feedback - everything seems to be copied over, as near as I can tell.
It didn't install a KDE menu item, so you'll have to hand-bomb that. The icon.xpm in the heretic2 directory doesn't work, so open it with kiconedit (or xv or the Gimp) and save it as a .png file. Rename the icon.xpm to icon-broken.xpm. When you go to select the icon image in the KDE menu editor, choose icon.png.
Check the option to start in a terminal, or it will loop through a bunch of routines when you first start it.
OK, so that's part one.
Unfortunately, loki_update also fails, so we have to employ the Patch Failure routine as described near the top of this web page. Additionally, there are several updates, and you'll have to go through them one at a time. Begin with the update to 1.06b
loki_update
<fails>
cd ~/.loki/loki_update/tmp/
./heretic2-1.06b-unified-x86.run --keep --target h2bfiles
<answer no, no to the two prompts>
<finishes with a segfault, but directory is created>
cd ./
h2bfiles/bin/Linux/x86
cp   /place/where/new/loki_patch/is/loki_patch   ./
cd ~/.loki/loki_update/tmp/h2bfiles
./update.sh
<answer no to readme, yes to install>
exit

That updates to 1.06b. Now repeat the routine for 1.06c, but accommodate for the different filenames.
loki_update
<fails>
cd ~/.loki/loki_update/tmp/
./heretic2-1.06c-unified-x86.run --keep --target h2cfiles
<etc>


Did you notice that after the 1.06b update there was an option for installing more Deathmatch maps? Install those now, using the broken patch routine.
loki_update
<fails>
cd ~/.loki/loki_update/tmp/
./heretic2-maps-1.0.run --keep --target h2maps1
<etc>


Everything should be shiny at this point, the KDE menu item you created should work, or you can fire it up from a console with    heretic2  .

Open Source alternative : ??? Let me know



Heroes of Might and Magic III

The initial installation goes well, and the game even starts without updating. Running loki_update fails, though, so you'll have to do the broken patch routine as described near the top of this webpage. Here's how I did mine:
loki_update
<fails>
cd ~/.loki/loki_update/tmp/
./heroes3-1.3.1a-cdrom-x86.run --keep --target h3files
<answer no, no to the two prompts>
<finishes with a segfault, but directory is created>
cd ./
h3files/bin/Linux/x86
cp   /place/where/new/loki_patch/is/loki_patch   ./
cd ~/.loki/loki_update/tmp/3bfiles
./update.sh
<enter install path of    /usr/local/games/Heroes3/>
<answer no to readme, yes to install>
exit


Heroes 3 does not appear to install a KDE menu item (although, once I had backed out of X and restarted KDE there was a menu item...), so you'll have to do that manually. Check the option to "run in terminal", to get rid of the annoying bouncing icon. It appears to play fine from the start menu.

Open Source alternative : ??? Let me know




Soldier of Fortune

The Soldier of Fortune installation goes smoothly, but the game wouldn't start from the console with just    sof  . You have to export the  SOF data path first,
export SOF_DATA_PATH=/usr/local/games/sof/; sof
The game now starts without any updating. Running loki_update presents you with update 1.06a,  and the update goes smoothly. It does not install an item in the KDE start menu
(although, once I had backed out of X and restarted KDE there was a menu item...), though, so you'll have to do that manually. Make sure you make the command
export SOF_DATA_PATH=/usr/local/games/sof/; sof
and if you want to eliminate the annoying bouncing startup icon, select the option to "run in terminal".


Open Source alternative : ??? Let me know



Heavy Gear 2

  Getting this game to work is not easy.
The installation starts easily enough, but presents you with a choice about installing OpenGL drivers. I personally do NOT want the ancient OpenGL drivers installed on my hot new system, so I leave that option unchecked. I tried starting the game after the initial install, it produced an error regarding the data  path. Tried again by exporting the data path first
export HEAVY_GEAR_2_HOME=/usr/local/games/hg2; hg2
which resolved that issue, but encountered  this error
WARNING: dlopen() failed: libttf.so.2: cannot open shared object file: No such file or directory

Now launch loki_update and update the game up to version 1.06b. It fails in the graphical installer, but succeeded with  a shell install (without having to change loki_patch out)
loki_update
<fails>
cd ~/.loki/loki_update/tmp/
./hg2-1.0b-cdrom-x86.run --keep --target hg2files
<answer no, no to the two prompts>
<finishes with a segfault, but directory is created>
cd ./
hg2files/
./update.sh
<answer no to readme, yes to install>
exit


Slackware 11.0 has a version 2.1.9 of freetype installed "out of the box", so I tried sym-linking to it for our needs
ln -s /usr/lib/libfreetype.so.6.3.7 ./libttf.so.2
but I got the kind of crash that makes you wonder if you'll recover without re-installing. The default is to start in full-screen mode, and my oh my, what a great big crash. DO NOT DO IT, it hurts.
From my previous experience, I suggested downloading freetype-1.3.1, compile and install it, and away we go. It occurred to me that freetype-1.3.1 may already be available at http://www.linuxpackages.net. Unfortunately there is nothing for v11.0.
There is, however, a version available for v7.0. I snagged that file here
ftp://mirror.cs.utah.edu/pub/linuxpackages//Slackware-7/freetype-1.3.1/
decompressed it in a temporary directory, descended into the /temp/usr/lib and copied libttf.so.2.2.0 as 
libttf.so.2 into /usr/lib/
su root
<enter password>
mkdir temp
cp ./freetype.tgz  ./temp
cd ./temp
tar -zxvf freetype.tgz
cd  ./usr/lib
cp libttf
.so.2.2.0 /usr/lib/libttf.so.2
cd ../../
rm -r temp
exit

Fired up hg2 and everything seemed hunky-dory. So, the question here is: is it wise to mix old packages into the new one? I dunno for certain, but it seems to me that these are just fonts, and that hg2 is the only program using them, so I don't think it's a big deal. If you are uncomfortable doing it that way, then
you will need to download and compile  freetype-1.3.1 .
Download the file freetype-1.3.1.tar.gz, decompress & compile with the usual
./configure; make; make install
Finish with a symlink into /usr/lib
ln  -s   /usr/local/lib/libttf.so.2.2.0   /usr/lib/libttf.so.2
Finally, there is one last update for online play , it goes into your user home directory, not the global directory.

  After all this, Heavy Gear II started properly, but I was still getting bloody segfaults when I start in single-player instant-action mode. As soon as the first round was over, or if I aborted the mission, it segfaulted. In my previous endeavours with Slackware 9.1, Claire had told me if the game is run with the -u switch, it resolves the problem, but does not appear to help any more. The resolution I have found is to absolutely define the path to the openGL library
hg2 --windowed -o /usr/X11R6/lib/libglut.so
This seems to do the trick in instant action mode. Wanna use all the good stuff?
hg2 --windowed  -o usr/X11R6/lib/libglut.so  -u  -g
See
hg2 -h
for more info on the switches available with hg2.
The installation did not create a start menu item (although, once I had backed out of X and restarted KDE there was a menu item...), so you'll have to do that manually. Make sure you prefix the start command with the path. Here's what my start command looks like.
export HEAVY_GEAR_2_HOME=/usr/local/games/hg2; hg2 --windowed -o /usr/X11R6/lib/libglut.so  -u  -g
and check the "run in terminal" box to eliminate the annoying bouncing icon.

Open Source alternative : ??? Let me know




Lokigames Releases I Don't Own

If I ever get my hands on original copies of these games, I'll update this webpage.
Rune (I have the expansion pack, lack the game)
Civilization : Call to Power  ( See : FreeCIV )
Kohan : Immortal Sovereigns
Mind Rover
Sin
Postal / Postal Plus
Deus Ex
Tribes 2







Non-Lokigames?
  I've got a few of those, click here for a similar webpage.

Open Source Games?
I've into some of them also, click here for that webpage.


WINE Emulated Games?
I don't really care for emulation, but click here when there's no real alternative.

DOSbox Emulated Games?
I don't really care for emulation, but click here when there's no real alternative.



Additional Resources

Linux Gamer's FAQ

Gentoo Compatability Libraries
Tuxgames


HTH, "Have Fun".
I am   Dan