This is a small HowTo on running Hearts of Iron III on Linux. Remember Linux is not officially supported, this is a unofficial HowTo.
First of all: What do I need and what is supposed to work?
What to expect:
- Read your HOI3 box / manual for hardware requirements
- PixelShader 2.0 is probably the most important one
- A running 32bit or 64bit Linux host
- WINE 1.1.28 or higher
- Internet connection
- Basic Linux knowledge
Since WINE 1.1.28 the bug known as "border issue" (region borders drawn incorrectly or disturbed) is fixed. This is the only known issue we ever had. Hence you will receive a installation of HOI3 which is as stable as the Windows installation. If you have tons of crashes, this is most likely a configuration problem.
- Game will run as stable as possible
- hoi3.exe, the loader will run but not be usable (use hoi3game.exe instead)
- Bugs which occur on Windows will also occur on Linux. Make sure to check the bug report sub forum before posting
Note: It's neither the purpose of this guide to help on installing and configuring the Linux distribution nor on installing WINE. I assume both things are ready to use. There are dozens of tutorials on how to set those things up in the net.
Okay, let's start!
Running the game
- Make sure to use a fresh and unused wine directory (wineprefix). To do so, I will just call the new prefix ".wine-hoi3". Let's create it:This will also open up the winecfg dialog which we will need next.Code:$ env WINEPREFIX=$HOME/.wine-hoi3 winecfg
- In the winecfg dialog we jump to the "Drives" tab. Being there, we want to "Autodetect" the drives, which hopefully will give us a CD/DVD drive located at /media/cdrom0 or similar. It depends on your Linux distribution, but Ubuntu/Kubuntu use this path for mounting these drives. If you got it there we are ready to close the dialog via "OK".
- Back to the console we want to navigate to the path where our CD is mounted. I assume it's "/media/cdrom0" so the command would beIf you can't find any file in there you probably didn't insert the disk into your drive, or you didn't mount it properly. You may tryCode:$ cd /media/cdrom0or any other suitable directory. If you don't have sudo installed, tryCode:$ sudo mount /dev/cdrom /media/cdrom0and use all following commands without "sudo". (Make sure to leave the root shell with an "exit" if there is a command without sudo to not mess up user rights)Code:$ su -
- Now it's time for the installation. We are in /media/cdrom0 (or wherever your CD is mounted to). Typeand wait for the installer to appear. Now accept all the defaults and just press "Next" until the file copying process starts. Get yourself a cup of coffee, because this is going to take a couple of minutes.Code:$ env WINEPREFIX=$HOME/.wine-hoi3 wine Setup.exe
- After the files are all copied to our HOI directory, the installation of Microsoft .NET Framwork will appear. We don't want to install this one, because there are a bunch of tweaks we need to install .NET Framwork... So just press the "Cancel" button and go ahead.
- The Microsoft Visual C++ Redistributable will pop up, just as the .NET Framwork did. This time however, we want to install it. It's set up quick, but that's just fine.
- And again, an installer pops up. We don't want Microsoft DirectX, "Cancel" is what we want to do.
- The HOI3 installer should finish now, and if you want you even might create a desktop icon... Finish the installer and advance to the next step. (The installation will not exit properly (at least for me) so kill the process via CTRL+C in your console)
- Now navigate your console to /usr/bin and download winetricks viaCode:$ cd /usr/bin $ sudo wget http://www.kegel.com/wine/winetricks $ sudo chmod +x winetricks
- We now want to install the previously canceled DirectX and .NET Framework. Do it withPlease ignore the warning "You probably shouldn't be using this. It's VERY invasive." as the installation of dotnet20 is running good enough for our purpose. Winetricks will start both installers after downloading all the dependencies and you should just press "Next" whenever it asks you to.Code:$ env WINEPREFIX=$HOME/.wine-hoi3 winetricks directx9 dotnet20
Note that winetricks should set your wine's Windows version to Windows 2000 while installing. If the installer fails or you are just paranoid you may set it to Windows 2000 manually via winecfg (Applications tab). Just make sure to set it back to Windows XP afterwards.
- Hopefully everything went straight through, we now want to make sure WINE is still set to run as Windows XP.will show us the configuration. Choosing the tab "Application" will show us a drop down at the bottom which should state "Windows XP". If not change it to "Windows XP" and exit with "OK".Code:$ env WINEPREFIX=$HOME/.wine-hoi3 winecfg
- Time for some registry tweaks. Start your WINE registry viaand navigate toCode:$ env WINEPREFIX=$HOME/.wine-hoi3 wine regeditIf the Direct3D key does not exist, please create it (right click on "Wine" -> New -> Key). Inside that registry key we want to create the following string values (right click in empty space on the right -> New -> String Value)Code:HKEY_CURRENT_USER/Software/Wine/Direct3DAssign a value to the data fields by double clicking the item and writing down the value in the dialog box. Set OffscreenRenderingMode to "fbo" (without "").Code:VideoMemorySize OffscreenRenderingMode
Note that we didn't assign a value to the VideoMemorySize string yet. You have to enter the amount of your video card's memory which is normally something like "256" or "512". Please read your video card's manual to find out.
- Move upwards one level in the registry, so that we are back to "Wine". We need to navigate to a key called "DirectSound". If it's not there, create it. Move into that key, just as we did before and create a new string value calledSet the value (data field) of MaxShadowSize to "0" (without "").Code:MaxShadowSize
- This is all we need to do. If you want (and you surely want) to install any patch, go to the stickies in the HOI3 forums and download them (e.g. 1.1 and 1.1c). Extract the files (if necessary) and install them just like you installed HOI3. Just don't forget to use the "env WINEPREFIX=$HOME/.wine-hoi3" to install it to the proper location.
Pretty straight forward, just use the Desktop icon or navigate manually to your WINE installation directory. This should be similar toThat's it! Enjoy playing Hearts of Iron III on your operation system of right choice.Code:$ cd $HOME/.wine-hoi3/drive_c/Program\ Files/Paradox\ Interactive/Hearts\ of\ Iron\ III/ $ env WINEPREFIX=$HOME/.wine-hoi3 wine hoi3game.exe
I hope this guide covers everything needed. It is likely I will update it over the time. If you have issues with the HowTo, let me know. Any other tweak, suggestion, whatever: Shoot me a PM.
Some links for further information:
Wine AppDB Entry for HoI3
Current "HOI3 on Linux" discussion thread
Usefull WINE registry keys
More information on how to use winetricks