Archiv/Spiele/Loki Compat

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. ⚓︎ Ein Terminal öffnen

  2. ⚓︎ Einen Editor öffnen

  3. ⚓︎ Archive entpacken

Inhaltsverzeichnis
  1. Installation
    1. Quellen
  2. Starter
    1. Umgebungsvariablen
  3. Bibliotheken
    1. Hinzufügen
  4. Links

./Logo.png Spiele der Firma Loki Software, Inc. 🇬🇧 benötigen oft ganz spezielle Versionen einiger Bibliotheken. Da Linux ständig weiterentwickelt wird und bei aktuellen Linux-Betriebssystemen insbesondere eine neuere Version der GNU C-Bibliothek zum Einsatz kommt, müssen die benötigten Bibliotheken zusätzlich in der benötigten Version bereitgestellt werden. Loki_compat ist ein Archiv, welches diese Bibliotheken enthält.

Die im Internet kursierenden Versionen enthalten unterschiedliche Bibliotheken, weshalb man nicht nur eine Quelle nutzen sollte, um fehlende .so-Dateien (shared object) zu finden. Je nach Version sind unterschiedlich viele Bibliotheken enthalten, weshalb man hier genauer schauen sollte, was man benötigt.

Installation

Für die Installation von einer der Internetseiten die Bibliotheken herunterladen und entpacken [3]. Den Ordner Loki_Compat mit Root-Rechten nach /opt/Loki_Compat oder /usr/local/games/Loki_Compat verschieben [1], damit er im Starter hinterlegt werden kann:

sudo mv Loki_Compat /opt/Loki_Compat                                            # Pfad ggf. anpassen 

Quellen

Starter

Bei Spielen - in diesem Beispiel SimCity - muss der Pfad zu den benötigten Bibliotheken im Starter mitgegeben werden [2]:

1
2
3
4
5
6
7
8
#!/bin/bash
LCPATH=/opt/Loki_Compat
SC3U=/usr/local/games/SC3U
echo Running from $SCPATH
LANG=english
cd $SCPATH
export LD_LIBRARY_PATH=$LCPATH
LD_ASSUME_KERNEL=2.2.5 $LCPATH/ld-linux.so.2 $SC3U/sc3u

Mitunter sind zur Ausführung weitere Umgebungsvariablen erforderlich. Startet ein Spiel trotzdem nicht, kann es sein, dass weitere Bibliotheken fehlen. Um in Erfahrung zu bringen, welche dies sind, nutzt man ldd.

Umgebungsvariablen

Umgebungsvariablen werden in diesem Artikel detailliert behandelt.

Hier eine Auflistung der Variablen, welche meist bei Anwendungsstartern verwendet werden:

Umgebungsvariablen
VariableBeschreibung
LD_ASSUME_KERNEL=KernelversionBei Problemen mit NTPL kann die Umgebungsvariable helfen z.B. LD_ASSUME_KERNEL=2.4.1 Hier nutzt das System den vorgegebenen Kernel.
LD_LIBRARY_PATH=Suchpfade für Bibliotheken z.B. LD_LIBRARY_PATH=/lib/Loki_Compat/ /opt/Loki_Compat/ld-linux.so.2 /usr/local/games/Heroes3/heroes3.dynamic
LD_PRELOAD=Die Funktionen der hier aufgeführten Bibliotheken haben Vorrang.

Bibliotheken

ldd zeigt, welche Bibliotheken von einem Programm verwendet werden. Im folgenden Beispiel werden die benötigten Bibliotheken, .so-Dateien, von SimCity angezeigt:

 ldd sc3u
	linux-gate.so.1 =>  (0xb7f97000)
	libX11.so.6 => /usr/lib/libX11.so.6 (0xb7e78000)
	libXext.so.6 => /usr/lib/libXext.so.6 (0xb7e69000)
	libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7e64000)
	libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7e4b000)
	libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7e25000)
	libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7cc7000)
	libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb7cc4000)
	libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb7cab000)
	libXau.so.6 => /usr/lib/libXau.so.6 (0xb7ca7000)
	/lib/ld-linux.so.2 (0xb7f7d000)
	libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7ca2000) 

Es werden zur Ausführung des Spiels diverse Bibliotheken benötigt. Ihr Fundort im Dateisystem ist rechts zu ersehen. In der Regel findet man diese in /lib, /usr/lib und /usr/local/lib. Im Beispiel sind alle Bibliotheken auf dem System vorhanden.

Hinzufügen

Um Bibliotheken hinzuzufügen das gewünschte Paket, z.B. libg++2.8.1.3-glibc2.2_2.95.4-24_i386.deb, herunterladen und entpacken [3]. Nun den entpackten Ordner öffnen und ebenfalls die darin enthaltene data.tar.gz entpacken. Den Ordner /usr/lib öffnen und die benötigten .so-Dateien in den Ordner kopieren in dem sich Loki_Compat-Dateien befinden.