This guide is now out of date. An updated post is now available.

This is the second edition of my Civilization IV (Civ 4) on Linux how-to. With this guide you can run Civ 4 almost flawlessly on Ubuntu or any other Linux distribution using Wine.

At the time when Civ 4 was released, DirectX 9 was not well enough supported in Wine to run it. In the first how-to I got Civ 4 running just after DX9 support was added to Wine. Since then Wine has continued to improve and I got a computer with a better Nvidia graphics card.

In this how-to I am using an Nvidia Geforce 8600GT graphics card, Wine version 0.9.44, and Ubuntu 7.10.

You should be familiar with the terminal and know basic Wine usage. When I say to run something in Wine you have to cd into the directory and run wine filename.exe.

This is a screenshot from Civ 4 running on Ubuntu Linux:

Civilization 4

The game runs well, except for these issues:

  • City progress meters don’t display a value.
  • Globe view doesn’t work.
  • Waves don’t animate.
  • Some trees are sunken into the ground.

Here are the steps to install and set up Civ 4:

  1. Some of the recent versions of Wine have broken support for Civ 4. The latest version that works well is Wine 0.9.44. Ubuntu uses can grab a DEB package from GetDeb. I have used this Wine package in Ubuntu 7.04 and 7.10 and it works fine in both.
  2. Wine has difficulty with switching CDs. The second Civ 4 disk contains a single CAB file. Copy this file off the disk on to your hard drive.
  3. Put in the first CD and run the installer with Wine. Click cancel if the DirectX setup wizard launches. When the installer asks for the second CD, give it the location on your hard drive of the CAB file. The installer should finish successfully.
  4. Now you can patch the game to version 1.61. Download the patch from Civ 4 site. Run the executable with Wine, and tell it not to install Xfire. There will be an error at the end of the patching that is safe to ignore.
  5. There are four more files you need: d3dx9_26.dll, msxml3.dll, msxml3r.dll, and a cracked executable (Wine does not support the copy protection). Copy the DLLs into the Civ 4 directory. Replace the Civ 4 executable with the cracked one.
  6. I would recommend rebooting the system at this point to make sure the installer or patcher are not still running.
  7. Run winecfg, and add an override for msxml3 (native, builtin). Under the graphics tab, turn off “Emulate a virtual desktop”, set vertex shaders to none, and turn on pixel shaders. These are the settings that worked best for me.
  8. Now you need to run Civ 4 to get it to create its configuration file. Run the Civ 4 executable with Wine. When it reaches the menu, click exit.
  9. Open the CivilizationIV.ini file in a text editor. It should be located in /home/username/My Games/. Find the EnableVoice line and change the value to 0 to fix the audio. Set the ScreenHeight and ScreenWidth to your screen’s height and width.
  10. Run Civ 4 again and it should start with the correct resolution. You can go to the graphics settings and turn up the graphics effects now, just don’t adjust the screen resolution in game.

You are ready to play!


Related Posts