This is a guide for running the Windows version of Civilization IV (no expansion packs) on Linux using Wine. I’ve written guides on this twice before, but recently I wanted to play and found that my previous instructions were out of date again. Since I last played with Wine 0.9.44, the graphical glitches have been fixed and the game’s disk DRM works without a no-CD crack.
On Ubuntu 8.10 with the Nvidia graphics driver, the game runs almost flawlessly on the highest graphics settings. I’ve played it for hours without a single crash. Here are the only minor issues I’ve noticed:
- The animated busy cursor only shows the first frame instead of animating.
- City growth and production meters on the map don’t work. (See the tweaks section for a workaround.)
Install the latest version of Wine
Wine is constantly improving; it’s worth your time to get the latest version for the best application compatibility. Follow the directions on Wine’s website to set up the official Wine software repository in Ubuntu.
After you’ve added the Wine repository, install Wine from the package wine (click the link to install), or by running the command below in your terminal:
sudo apt-get install wine
- I’ve had difficulty in the past with Wine and swapping CDs for installers. An easy workaround for this is to copy the data3.cab file from the second Civilization CD onto your hard drive before starting.
- Run setup.exe on the first Civilization CD using Wine. If you’re prompted to install DirectX, click cancel. (If you can’t continue after canceling the DirectX installer, see the workarounds section.) Select the express install, and when the installer asks for the second CD, browse to the folder on your hard drive where you copied data3.cab. The installer should finish successfully.
- Now you can patch the game to the latest version (1.74). Download, extract, and run the patcher executable with Wine. There will be an error at the end of the patching that is safe to ignore.
- You’ll need three native DLL files before you can run Civilization. Get these from the linked sites, or from a real Windows system: msxml3.dll, msxml3r.dll, and d3dx9_36.dll.
- Put the three DLLs in the Civilization program folder (~/.wine/drive_c/Program Files/Firaxis Games/Sid Meier’s Civilization 4/).
- Add a native override for msxml3 using the Libraries tab of the winecfg tool (Applications->Wine->Configure Wine).
- Run the Civilization executable with Wine to start the game.
- I’d recommend running Civilization in windowed mode so it doesn’t change your screen resolution or prevent you from switching applications. Do this simply by turning off full screen mode in the game’s graphics options.
- Set the globe graphics to medium or lower to fix some graphical glitches in globe view.
- City growth and production meters on the map don’t work. You can work around this by enabling the detailed city info option in the game’s graphics options. This causes the values to be displayed textually.
Issues and workarounds
- If canceling the DirectX installer prevents the installation from continuing, try putting d3dx9_26.dll in your fake Windows system32 folder (.wine/drive_c/windows/system32/). This should cause DirectX to be detected.
More information on running Civilization with Wine is available on the AppDB page. Enjoy the game!