First and foremost, I'm not an expert on Linux, nor am I actively maintaining this page. I cannot promise these directions will work for you, nor will I likely be able to help you if they don't work. You can always e-mail me at hedgie at hedgie.com and I will try, or leave a comment below. Most people have reported that these directions worked for them, but it depends on distro, video drivers, and many other factors.

This not a guide for getting the Windows version of Sid Meier's Alpha Centauri (SMAC) to work under Linux. This is a guide to getting the Loki Linux version of Alpha Centauri to work under post-2001 distributions of Linux, which no longer work out-of-the-box.

For most modern distros:

Install the game.
Update the game using the Loki Update Tool
Turn off Beryl or Compiz if you're running them (they won't work after the next step)
Add the following three lines to /etc/X11/xorg.conf:

Section "Extensions"

Option "Composite" "Disable"
Reboot (or restart X, CTRl-ALT-BACKSPACE)

/usr/local/games/smac/smacpack should now work!

For older distros or if these directions don't work:

Install SMAC

  1. Mount your Alpha Centauri CD-ROM, and execute the setup.sh located in the CD-ROM's root. Installing as root will allow you to install to /usr/bin/games.
  2. The install script will offer to install the Loki Updater. Say NO — it won't work anyway, so why waste hard drive space?
  3. The install script will offer to install the Loki Uninstaller. I don't know if this works anymore, but who would ever uninstall Alpha Centauri?
  4. The install script will ask how much of the game you want installed. Choosing all options will allow the game to be played without inserting the CD into the drive. Don't bother allowing it to create Desktop or Menu icons — chances are they won't work anyway.
  5. Sit back and wait for the install to complete. Give it a try, who knows, maybe this will work on your distro.

Install the patches

To patch Alpha Centauri and Alien Crossfire requires several steps. You need to obtain the latest patch from Loki's site, and run it with the --keep option. It will crash, but the keep option prevents the uncompressed files from being deleted. Now you have to traverse the directory tree it produces and replace the loki_patch in smac-6.0a-alpha/bin/Linux/x86/ with one obtained here. Now run the update.sh in the smac-6.0a-alpha directory.

Fixing Libraries

This step may or may not be optional for you. I had to do this in order to get multiplayer to work, but I've been told by others that Alpha Centauri wouldn't work for them at all until they did this.

  1. Download and install this set of library files into /usr/local/games/smac/Loki_Compat (or your SMAC install directory).
  2. Unfortunately, the smacpack binary used to select between Alpha Centauri and Alien Crossfire uses static binaries, so you'll have to use two different commands to launch the two games. I suggest creating scripts, aliases, or menu items to avoid typing these each time:

To start Alpha Centauri:

LD_PRELOAD=/usr/local/games/smac/Loki_Compat/libstdc++-3-libc6.2-2-2.10.0.so /usr/local/games/smac/smac.dynamic

To start Alien Crossfire:

LD_PRELOAD=/usr/local/games/smac/Loki_Compat/libstdc++-3-libc6.2-2-2.10.0.so /usr/local/games/smac/smacx.dynamic

File Ownership Issues

The Loki installer has a tendency to create configuration files owned by root in the users directory when executed through sudo. If you used sudo, you'll need to run "chown -R (username) ~/.loki" in order to correct the file ownership.

Other Issues

  1. If the dynamic binary complains about missing SDL libraries, you'll need to install them
  2. Make sure that your X server is running at 24-bits if you encounter an incorrect palette.