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:
- 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
Install Civilization
- 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 copieddata3.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.
Tweaks
- 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!
Archived Comments
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.
Anonymous
is this for Sid Meier’s Civilization IV: Colonization (PC) from 2008 or this is for Civilization IV (PC) from 2005 ??