1
0
Fork 0
mirror of https://github.com/lutris/asgard.git synced 2026-11-05 01:17:45 +00:00
Run classic Linux games from Loki Games and more with Docker
  • Shell 71.4%
  • Dockerfile 28.6%
Find a file
Mathieu Comandon 500af3b9cd Change SOFTWARE_GL and USE_STRACE defaults to 1
Most games (64% and 71% respectively) require these settings enabled.
SOFTWARE_GL is needed for modern GPUs (RDNA3+) with the container's
old Mesa, and USE_STRACE provides a race condition workaround that
most games benefit from.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 15:07:52 -08:00
config Add SimCity 3000 Unlimited Demo config 2026-01-24 09:51:45 -08:00
games Add readme to games folder and add dockerignore 2021-04-04 00:16:40 -07:00
lib Initial commit 2020-09-11 20:37:52 -07:00
.dockerignore Add per-game configuration support and fix Braid compatibility 2026-01-24 09:10:04 -08:00
.gitignore Add Soldier of Fortune config with xdotool CD key auto-entry 2026-01-24 09:10:32 -08:00
asgard-build Use bash from env 2025-08-18 23:23:19 -07:00
asgard-demo.jpg Initial commit 2020-09-11 20:37:52 -07:00
asgard-run Change SOFTWARE_GL and USE_STRACE defaults to 1 2026-01-26 15:07:52 -08:00
Dockerfile Add Soldier of Fortune config with xdotool CD key auto-entry 2026-01-24 09:10:32 -08:00
LICENSE Initial commit 2020-09-11 20:37:52 -07:00
README.rst Update demos link to archive.org 2025-08-19 00:05:33 -07:00
setup-fix setup-fix: Add messages if $1 is empty or not writable 2025-08-18 23:23:19 -07:00
start.sh Add Soldier of Fortune config with xdotool CD key auto-entry 2026-01-24 09:10:32 -08:00

Asgard
======

Run Loki Games and other Linux classic games on modern systems with Docker.

Linux games released in the late nineties were running in a totally different
environment than what a modern Linux system is today. Instead of Wayland, there
was XFree86. Instead of PulseAudio, there was OSS. Instead of being x86_64, the
architecture was i386... glibc, OpenGL, SDL were rudimentary compared to what
they are now. For all those reasons and more, it's either very difficult or
just plain impossible to run old classic Linux games on a modern system.

Despite all those problems, Linux has an excellent binary retro-compatibility.
With tools like Docker, it is possible to recreate an environment friendlier
for old games without requiring virtualization or installing a legacy OS.

.. image:: asgard-demo.jpg
   :width: 800

Dependencies
------------

- Docker (Tested on the version shipped with Ubuntu 20.04)
- osspd (For games using OSS)

Installing Dependencies on Ubuntu::

  sudo apt install docker.io osspd


Preparing your game
-------------------

Old games can be just as tricky to install from their original media as they
are to run them. This can be worked around by installing the games in a virtual
machine but this a cumbersome process. It's possible that Asgard will take care
of extracting games from their original media in the future. The servers
hosting the demos for the Loki games are almost all down and installing them
required some scripting. An ISO image containing the `Loki demos`_ already
extracted is available to all.

Place the fully installed game files in a subfolder in `games`. Name the
subfolder with the name of the game executable (For exemple: `sc3u` for Sim
City 3000, `civctp_demo` for the Call to Power demo)

Build the game image::

    ./asgard-build <game_name>

This will copy the game files to a Docker image and setup the game to run when
bash starts.

Running the game
----------------

After building your game image run::

    ./asgard-run <game_name>

Tested games
------------

The following games have run successfully on Pop!_OS 20.04.

- Civilization: Call to Power
- Descent 3
- Doom 3
- Heretic 2
- Heavy Metal FAKK2
- Jamestown
- Railroad Tycoon 2
- Rune
- Sim City 3000 Unlimited
- Soldier of Fortune

Credits
-------

Asgard is brought to you by the `Lutris`_ team. All content is under GPL v3.

If you like this project, please consider `supporting the project`_.


.. _Loki demos: https://archive.org/details/loki-demos
.. _Lutris: https://lutris.net
.. _supporting the project: https://patreon.com/lutris