Outils pour utilisateurs

Outils du site


lokigames

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

lokigames [2023/12/08 10:03] – créée - modification externe 127.0.0.1lokigames [2024/04/10 12:46] (Version actuelle) twolife
Ligne 1: Ligne 1:
 +====== Loki games ======
  
 +Between 1999 and 2002, [[https://en.wikipedia.org/wiki/Loki_Entertainment|Loki Software]] released native Linux version of a small list of games.
 +
 +The Linux of year 2000 is very different from the Linux we know today, and so it can be quite difficult to get such an old binary working well on modern systems. While the Linux kernel has maintained very good backwards compatibility, other parts of a Linux distribution have changed, from the X server to libraries like glibc, libstdc++, and SDL.
 +
 +Here lies a number of guide to install & play these old games on modern Linux.
 +
 +Special thanks:
 +  * [[https://www.improbability.net/loki/|Alan Swanson]] for his collections of old libraries
 +  * [[https://github.com/liflg/|Linux Installer For Linux Gamers]]
 +  * [[https://icculus.org/|Ryan C. Gordon]]
 +
 +
 +===== Common workarounds =====
 +You are most likely running a Linux distribution on a shiny 64 bits CPU, that architecture is know as //x86_64// or //amd64// in the Debian world. The binaries you are trying to run are build for the //i386// architecture (the classic 32 bits PC architecture). While the Linux kernel can handle 32 bits code, we need to install library packages for proper userspace support:
 +
 +<code>
 +# dpkg --add-architecture i386
 +# apt-get update
 +# apt-get install libc6:i386 libsdl1.2debian:i386
 +</code>
 +
 +==== Architecture detection ====
 +Most of the Loki installer/updater programs performs a check to see if your system is compatible with the game, ie: if you are not using an outdated system based on libc5 (the migration to glibc/libc6 happened 25 years ago now).
 +
 +But now your system is completely different, chances are the checked file doesn't even exist. Ex: on Debian/Ubuntu, ''/lib/libc.so.6'' doesn't exist and we fail the test, so we need to create this file with the following content:
 +
 +<code>
 +#!/bin/sh
 +# GLIBC_2.1
 +# GLIBC_2.2
 +cat <<EOF
 +GNU C Library stable release version 2.2.5, by Roland McGrath et al.
 +
 +Report bugs using the glibcbug' script to <bugs@gnu.org>.
 +EOF
 +</code>
 +
 +And don't forget to make it executable:
 +<code>
 +# chmod 755 /lib/libc.so.6
 +</code>
 +
 +==== Sound ====
 +The majority of those games use the original sound system for Linux, Open Sound System v3 (OSS), that was superseded by the Advanced Linux Sound Architecture (ALSA) in 2002. On modern Linux, there is no more a ''/dev/dsp'' device file. 
 +
 +But fear not, there is an elegant solution to this problem: [[https://github.com/libfuse/osspd|osspd]]. It's a userspace daemon that emulate the OSS devices (''/dev/dsp'', ''/dev/adsp'' and ''/dev/mixer'')
 +
 +In the end the pipeline looks like this (it's a lot of forwarding, but on modern machines, it won't be too
 +noticeable) :
 +<code>game-binary -> /dev/dsp -> CUSE -> osspd -> ossp-padsp -> pulseaudio -> ALSA -> speakers/headphones</code>
 +
 +The only thing you need to do is to install it:
 +<code># apt-get install osspd</code>
 +
 +==== GTK 1.2 ====
 +You probably know that GTK is a free and open-source cross-platform widget toolkit for creating graphical user interfaces. Loki's installer programs use GTK version 1.2. That version is very old and very much unmaintained (GTK2 was released in 2002, GTK3 in 2011 & GTK4 in 2020).
 +
 +If you can still find binaries of //i386// GTK1.2 libraries for your Linux distribution, you can install them, it's a nice bonus. The fallback is a simple prompt interface that will works in all cases.
 +
 +
 +===== The games =====
 +  * [[https://davidgow.net/hacks/civctp.html|Civilization: Call to Power]]
 +  * [[lokigames:descent3|Descent 3]]
 +  * [[lokigames:eus|Eric's Ultimate Solitaire]]
 +  * [[lokigames:hg2|Heavy Gear II]]
 +  * [[lokigames:fakk2|Heavy Metal: F.A.K.K.²]]
 +  * [[lokigames:heretic2|Heretic II]]
 +  * Heroes of Might and Magic III
 +  * [[lokigames:kohan|Kohan: Immortal Sovereigns]]
 +  * [[lokigames:mindrover|MindRover]]
 +  * [[lokigames:myth2|Myth II: Soulblighter]]
 +  * Postal Plus
 +  * [[lokigames:rt2|Railroad Tycoon II]]
 +  * [[lokigames:quake3|Quake III Arena]]
 +  * [[lokigames:rune|Rune]]
 +  * [[lokigames:smac|Sid Meier's Alpha Centauri]]
 +  * Sim City 3000: Unlimited
 +  * [[lokigames:sof|Soldier of Fortune]]
 +  * Tribes 2
 +  * [[lokigames:ut99|Unreal Tournament]]
 +
 +
 +===== Other games from the same era =====
 +In 2000-2001 [[https://en.wikipedia.org/wiki/Hyperion_Entertainment|Hyperion Entertainment]] did port & release 2 more games of interest:
 +  * [[lokigames:shogo|Shogo: Mobile Armor Division]]
 +  * [[lokigames:sin|SiN]]
 +
 +In 2000 [[https://en.wikipedia.org/wiki/Xatrix_Entertainment|Xatrix Entertainment]] released Linux binaries for their game
 +  * [[lokigames:kingpin|Kingpin: Life of Crime]]
lokigames.txt · Dernière modification : 2024/04/10 12:46 de twolife

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki