Tombuntu

Civilization IV on Linux with Wine 1.1.16

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:

Civilization IV running on Linux

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

Install Civilization

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Put the three DLLs in the Civilization program folder (~/.wine/drive_c/Program Files/Firaxis Games/Sid Meier's Civilization 4/).
  6. Add a native override for msxml3 using the Libraries tab of the winecfg tool (Applications->Wine->Configure Wine).
  7. Run the Civilization executable with Wine to start the game.

Tweaks

Issues and workarounds

More information on running Civilization with Wine is available on the AppDB page. Enjoy the game!

Archived Comments

Anonymous

is this for Sid Meier’s Civilization IV: Colonization (PC) from 2008 or this is for Civilization IV (PC) from 2005 ??

Anonymous

Thank you, thank you, thank you. The (only) area where Linux has trouble competing with Microsoft is gaming (proprietary API’s). Since I just rebuilt my system (Linux exclusively), your tutorial was God sent.

Tom

Anonymous:
This guide is for Civilization IV from 2005.

Anonymous

The guide is actually more simple that you have made out.

All you have to do is:-

- install game (skip dx9)
- install patch (it will error at the end - ignore)
- copy (only) d3dx9_31.dll + d3dx9_32.dll in to .wine/drive_c/Program Files/Firaxis Games/Sid Meier’s Civilization 4 folder
- copy nocd executable

- run with

WINEDLLOVERRIDES=“msxml3=n;” wine Civilization4.exe

- this is so that msxml3 is not native for the rest of your wine apps.

It runs (and Fast!!)

Anonymous

Another great tutorial! Your guide worked perfectly for me on Ubuntu 8.4 – it’s a real pleasure to be able to play Civ4 again…

Thank You Tom!

Stephanie

I tried this tutorial but it doesn’t work for me. I’m running Ubuntu 8.10 and Wine 1.1.16. I did everything above and it still doesn’t open. What am I missing?

Tom

If you’re not already doing so, try running Civilization with Wine via the terminal. This way you’ll get an error that can help you troubleshoot why it’s not working.

M3m.lost

I also cant run it. it says:

fixme:service:QueryServiceObjectSecurity 0x13ed40 4 0x13eff8 0 0x32ef30 - semi-stub
fixme:service:QueryServiceObjectSecurity 0x13ed40 4 0x13eff8 28 0x32ef30 - semi-stub
fixme:advapi:SetEntriesInAclA 1 0x32eec0 0x13f00c 0x32ef2c
fixme:service:SetServiceObjectSecurity 0x13ed40 4 0x32eeac
fixme:system:SystemParametersInfoW Unimplemented action: 55 (SPI_SETMOUSEKEYS)
fixme:system:SystemParametersInfoW Unimplemented action: 59 (SPI_SETSTICKYKEYS)
fixme:cursor:CURSORICON_CreateIconFromANI Loading all frames for .ani cursors not implemented.
fixme:font:WineEngRemoveFontResourceEx :stub

I installed it without problems. And did everything you say.
I can get the splash screen to show up, but then nothing happens :(

Help!

Mark Bennison

Thanks Tom, it was your original guide that prompted me to get out my old Civ4 disks and try using wine. I have Civ4, Civ4 Warlords and Civ4 Beyond The Sword expansions all running now.

One glitch I notice is that naval units all have a rectangle around their base where it seems the graphics aren’t being rendered/blended properly (the rectangle is the size of the unit) - no other units are affected with this glitch. If I recall I started seeing the problems with an earlier version of Wine (somewhere around the 1.1.9 release)

Other things that may help:
a) In the game’s ini file (probably in /home//My Games//CivilizationIV.ini I had to set EnableVoice to 0 to stop the annoying invalid audio capture device errors on startup;
b) In the game options, audio, I found I had to set the sound options to “use system default” or “use system config” (depends on the game) as I had no sound past the opening credits if I didn’t;
c) Wine is not perfect so it will crash from time to time. Save your game often (autosave is your friend!) But also note that some crashes are caused by the game state and so will always crash at the same point - doesn’t happen often but you’ll have to abandon the game or go back to an earlier save !

Tom

The naval units issue should be fixed in Wine 1.1.17, which was released yesterday:
http://bugs.winehq.org/show_bug.cgi?id=17384

Merter

Great guide, thx a lot.

But what about the extensions?

Mark Bennison

If by extensions you mean the Expansions pack then the above guide is a good start. As I mentioned I have both the Warlords and Beyond The Sword expansions running successfully under Wine so here’s how I did it. I do use no cd versions of the games - I haven’t had time to go back and try a clean install.

Warlords:
You can pretty much follow the guidance given in Tom’s original post on getting Civ to run under Wine (see http://tombuntu.com/index.php/2007/10/24/civilization-iv-on-linux-updated-how-to/). The addition is that you have to also download d3dx9_36.

Beyond The Sword:
Use winetricks to install directx9 and msxml3
Then install with WINEDLLOVERRIDES=“msxml3=n” wine f:\setup.exe, where f: is the CD/DVD drive
Download and run the patch
As I use a No CD version then I copied this over the real executable - the files will be in Note that files go into ./drive_c/windows/profiles/mark/Application Data/Firaxis Games/Sid Meier’s Civilization 4/Beyond the Sword/ (replace mark with your login)
Rename msxml3.dll to msxml3.dll.bak in the same directory.

Hope that helps!

Greg

Can you please explain step 5 in greater detail? I am a beginner at this. I have saved the three dll files to my desktop but I’m lost when you say to put them in the program folder. Please explain how to do this.

Greg

Also, I downloaded the game off vuze, not installed from a cd.

Adversus

Find the correct folder to put the .ddl’s from step 4 in. By default it should be:

~/.wine/drive_c/Program Files/Firaxis Games/Sid Meier’s Civilization 4

where the ~ translates to /home/. For me it was however (Ubuntu hardy)

~/.wine/drive_c/windows/profiles/adversus/Application Data/Firaxis Games/Sid Meier’s Civilization 4/

if necessary you can find the civ IV directory using:

sudo updatedb
locate Firaxis

haven’t tested it extensively but seems to work like a charm, great guide, thanks!

Anonymous

Where can I find boost_python-vc71-mt-1_32.dll?

Pookie

With fedora 11, I follow the steps, its keeps asking for disk 3 and it just doesn’t find the disk, don’t know why disk2 worked.

Bob

Hey, thanks. At first I was getting an error, but then I purged my wine installation and and followed your instructions exactly and it worked! I have never used a no-cd crack and didn’t want to re-up for a new cedega contract since upgrading from kubuntu 8.04 to 9.04 nerfed that. This is great! I’ll now try BTS, hopefully that will work too without no-cd or cedega!

Bob

Bob

So, with BTS patched to 3.19 (which Firaxis made no-cd so no crack is necessary!) it installs and runs. There is an error when starting it, but it runs anyway. Also, there are some long pauses during the installation while it checks for DX9, but eventually it wakes up and starts the install. Great!

Bob

Pyrex

Hey! Great guide. I had no trouble with changing the CD on my machine. Thanks!

DukeOfContention

quick guide for wine 1.1.25 Civ 4 patch 1.52
/usr/bin/wget http://www.kegel.com/wine/winetricks \
--output-document=$HOME/.wine/winetricks
/bin/sh $HOME/.wine/winetricks msxml3
instal game without dx then instal patch 1.52 and no-cd patch
copy d3dx9_31.dll d3dx9_33.dll msxml3.dll
d3dx9_26.dll d3dx9_32.dll d3dx9_34.dll msxml3r.dll to directory where game is installed and have fun … game run fast :>

Ian

I have attempted to use this guide under both 8.04 and 8.10, with success in neither. The closest I have gotten is having the game run but not display any terrain - units, resources, blue circles, etc. are displayed but not the terrain. Perhaps it is my ATI Radeon x1200 (integrated) graphics card?

Catherine

Tom – I have tried to follow your instructions, but I can’t get Civ to install. I am running Jaunty and Wine 1.1.27.

I did get an installation of sorts, but when I ran civ iv, the initial menus were messed up and would not let me progress to the next screen.

I removed wine, removed everything and started afresh. This time, the installer couldn’t find disks 2 and 3. I tried copying them to folders in the fake c drive, but it would not accept them.

William

PC:
ASUS A8N-SLI Deluxe mobo
AMD64 +3500
nVidia GT6800
Ubuntu 9.04
AC97 on board sound
Wine 1.01/1.1.30 (see text)

I attempted to set up Civ 4 in Wine, and had the following problems:
1) I started with Wine 1.01. The install worked fine, no problems. I installed the .dll files and made the setting change in WINECFG. upon startup the LOADING screen appeared, then emitted a message “Cannot Locate CD Rom”. This turned out to require an upgrade to Wine 1.1.30 (current beta).
2) Game now loads until “INIT ENGINE” appears, then is hangs. This required d3dx9_32, 33, and 34.dll (might not need all of them, but needed at least one of them).
3) Game now loads and runs fine, but complained once that my machine did not meet minimum requirements and set all my graphics to LOWER. This seems to only happen once. I was able to run the game, start a random civ, and run it without error. The POP and PROD sliders do indeed not work, but setting to Detailed City Info gives a completion time in text for production.
4) Not really a bug or problem, but if your screen resolution is set to 1024 by 768 and you run this in a window the EXIT, GO BACK, and START buttons on the bottom will be out of sight to the bottom.
5) Sound worked fine right out of the box.
All this was with v1.00 straight off the disc. More later if I have problems patching and adding Mods.
Kudos and thanks to all the people who solved this game install.

Pierre

Thank you very much! Works with Civ4 from Steam.

Kevin

Confirm this works with steam - running on my mac mini

Follow the instructions carefully.
Bear in mind, you don’t need to patch, as Steam will load the latest version.

Bo

The game installed just fine, however, when I try to start it, it starts loading and crashes right after “INIT ENGINE” shows in the loading bar. Here are the errors:

X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 136 (GLX)
Minor opcode of failed request: 5 (X_GLXMakeCurrent)
Serial number of failed request: 2141
Current serial number in output stream: 2141

Any help? Thanks

AJ

I am recieving init engine and it hangs their. I am running backtrack 4. with updated wine.

Nomada

And for Colonization what I can do?

hreichgott

I followed these instructions but can’t get past the point where it asks for the second installation CD.

It asks for the location of the CD, I tell it, it asks for the location of the CD, I tell it, etc.

When I point it to the folder where I put data3.cab on the hard drive it does the same thing.

Any suggestions?

J

Followed the instructions. Everything installs including the patch (1.74). I have the latest version of wine.

When I start the Civ4.exe in wine it tells me it cannot locate the CD. If I use the no-cd patch (1.74) it crashes immediately after starting.

using Ubuntu 10.04

J

also, i am using wine 1.2-rc6.

Cat

Thanks! Got this up and running on Ubuntu 10.04 - delighted that I no longer have to boot into Windows whenever I want to play!

However - the little world map in the bottom right hand corner is completely black. Does anyone know how to fix this?

Sound Guy Jon

I was able to install Civ IV, with no problems. But it won’t run. When I run it, it shows the splash screen, then goes to a screen with a loading bar and a few things it wants to run through. It freezes when it reaches “Check XML”. It just hangs there forever.
Also, I tried installing the patch, but it tells me that I need to have a previous version installed in order to install the patch.
Suggestions?

Neil

Install seems to work fine, relevant .dll files copied into folder, and native override added. Whenever I open Civ4 file I get the following Wine Program Crash error:

“Internal errors - invalid parameters received”

This is exactly the same error before I performed the tweaks described in this tutorial. Nothing loads past this, I’ve never got as far as actually opening the game in Linux. Is there a way around this?

I’m running Ubuntu 10.04 with Wine 1.2 on a Dell Inspiron laptop.

Thanks

Mike

Great instructions! thanks for sharing.
I’ve a Crossover games license - their website says you can only run civ4 from the “steam” version and they claim bts doesn’t even run. However, I just loaded the civ4 discs, bts expansion discs and installed the latest bts patch (which eliminates the disk check). All loaded fine but when I execute it crashes with an xml error. Your instructions above to download/replace the *.dll files fixed the xml error and now it works. I can give feedback later about problems with game play… but now I must be off to conqueror new lands ! :-)

Ferdy

With my config (amd64 phenom, Ubuntu 11.04) you need to call “winetricks” and then install the directx9 files to your wine. You have to do this in case civ4 hangs within the initphase.

vdeane

I tried following these instructions, but my second disc shows up as blank in Linux, so I cannot copy data3.cab anywhere, or even see that it exists. How can I install civ4? I don’t want to pay for a new edition.

Respond via email