Divine Divinity on Linux

1. Short description and my motivation

Those who say new games can't be played with GNU / Linux are wrong. Several websites in different languages exist on this topic. Some game developers even publish game versions for GNU / Linux; it's just a pity that only the large companies do this, since the smaller ones are still very cautious.

On playing Divinity for the first time I already had the idea to test Divinity under GNU / Linux. I was surprised how good it worked, but it was a bit too slow for my not so fast system, so I played the game under Windows. Time passed and I didn't try it again. Then NEO_CLAW asked in the English Forum if it is possible to play Divinity under GNU / Linux.

I simply couldn't resist and installed Divinity again. Installation with GNU / Linux didn't work - so I installed it under Windows, including the most important patches, started it and played a bit around (about an hour). The game functioned.

I went back to Linux then and tried to play it with the help of Wine.The options for Wine didn't work at first. I didn't give up and read the documentation a bit - it's meant for reading, right? I set up the necessary options and started.

Just to make sure no one thinks I'm just making this up, I've made a screenshot

Screenshot Divine Divinity on Linux

Here you can clearly see, it's really not Windows but Divinity in action.

2. Some little notes about this guide

There are 2 possibilities to install Divinity for GNU / Linux. The first one is to install Divinity under Windows, including all patches. It's best to do this on a VFAT or FAT 32 partition, because it's not recommended at the moment to write on NTFS partitions under Linux. Installing the game under Windows for the English version: Install the CD (version 1.00029) + the latest patch (version 1.00034). After this, please check if you see the version 1.00034 on the main screen - proof, you've really got the latest version. Use this variant if you want to play on Windows and GNU / Linux.

The second possibility is to install Divinity directly under GNU / Linux.

Th strongest requirement for playing under GNU / Linux is a installed Wine or the commercial variant Cedega and that you do a few thing manually.

Please, keep this in your mind:

  • I'm not giving any guarantee, Divinity will run under GNU / Linux for every one.
  • I'm not liable for damages on your hard- or software either.
  • Before you change anything, create a copy or backup, so you have the original data for an emergency case.
  • If you encounter any problems: Read the documentation first before asking, because nearly all questions are answered there already.

One little notice atleast: I use the term "Wine" at generall for the open source Wine project. Nevertheless there are the same instructions for the commercial version of Wine from the Transgaming Company which is called Cedega formerly known as WineX. If there any differences - i will inform you seperatly.

3. Install and use of Wine respectively Cedega (WineX)

The next sections are for the installation and use of Wine or the commercial varian Cedega (WineX) from the transgaming company. You need one of this installed if you want to try out Divinity under GNU / Linux. You can also install both but it could encounter some problems and I prefer this only experienced users.

Before you start with installation of one piece of software you should make sure that you had already installed this piece of software. The easiest way to do this is you start your GNU / Linux - with a Graphical User Interface (GUI) like KDE, GNOME or another Window Manager. Start a terminal and type in this command:

wine --version

You should see following messages on the console:

  • command not found

or

  • Wine 20040505 - the version date may be displayed in a different format. The main thing is, you see a version at all!
  • WineX or Cedega with following numbers - this means that you have maybe installed the commercial varian of Wine.

If you encounter the first message, Wine is probably not installed. To be on the safe side you can try out following commands:

  • which wine
  • locate wine

If you still don't get a positive result, the last alternative is the specific distribution packet manager. As every distribution varies a bit - please, check the documentation for your specific packet manager.

If you find an already installed Wine version via commands or packet manager, you can proceed. There's just one thing more you have to pay heed to: An older or newer version of Wine is not necessarily a guarantee for unproblematic gaming. Wine is developed in a neverending process (work in progress) and setbacks may happen every now and then.

If you have installed Wine or Cedega (WineX) already, you don't have to read the following passage - this one describes how to install Wine and you can jump to section 4.1 and follow the next sections or if you want to run Divine Divinity on Windows and GNU / Linux you can jump to section 4.4

3.1 Install Wine

If you don't have Wine or your version is older - try this:

  • Take the older version and if you encounter problems, simply use one of the following suggestions.
  • Search your specific distribution for a (new) Wine version.
  • Browse the Wine Download page if your distribution has binary packages.
  • Check the search engines Tuxfinder or rpmfind.net for specific distribution package.

If you find an appropriate package, install it. Further procedure is definitely in the documentation then and should be read first. After the installation routine you may continue in section 4.1 Install Divine Divinity and all following sections or if you want to run Divine Divinity on Windows and GNU / Linux you can jump to section 4.4 to play Divine Divinity.

If you can't find a precast package - it simply doesn't exist in your distribution or the older one causes problems - you have to install Wine. Uninstall a previous/older version completely. As this may be specific for your distribution, read the documentation! If you don't uninstall first, you may encounter strange problems afterwards and help might be more difficult then.

The following links lead you to documentations you should read and understand first before you continue. They give a pretty good description of how to install Wine and answer questions about this program.

If you're still determined to continue after reading this documentation (by now you should know what fate has for you in store ;-) ) you can get the current source code from www.winehq.com - in my case the version 20040505. Go into the directory where you have saved the source codes and unpack them via

tar xvzf Wine-20040505.tar.gz

and move to the new directory.

You have now 2 possibilities: You can use the intergrated Wine - Tool which is called wineinstall and this I prefer to beginners or the second way is to compile and install the wine binaries manually from source.

3.1.1 Install Wine with the help of wineinstall

It is rather simply to start the automatic build and install process of wine. You must only switch to the subfolder "tools" and there type the following command

./wineinstall

Password inquiry should be answered with the admin password as "root".

If you get during this process error messages or the process stops then read please the Wine Documentation

Was the install successful you can now do the following: jump to section 4.1 and the following subsections to install Divine Divinity or if you want to play it on Windows and GNU / Linux jump to section 4.4 to play Divine Divinity

3.1.2 Manual compile and install of Wine

Now you call into the root directory of the sources a

./configure

If you don't want any debug informations or you have not enough space on your hard disk, you can use the following command:

./configure --disable-debug

But it is now a little bit more difficult to figure a problem out.

If you've passed this command successfully, you'll see this and are asked for:

Configure finished. Do 'make depend && make' to compile Wine.

If you come across warnings or if these messages don't turn up, I recommend highly to read the Wine documentation. Not pre-installed developing packages or necessary packages for translation were the culprits in most cases. You can only find out what's missing if you watch this configure script above. If everything turns out fine, we succumb to this polite command and type in cheerfully:

make depend && make

This may take some time, depending on your CPU speed. If you encounter any problems, read the Wine doc or the Wine Online doc. The double && has this effect: the 2nd command will only be executed if the 1st command was accomplished without an error.

You're done if this message shows up:

Wine build complete.

If it doesn't, you'll have to find out the error. If the Wine doc or the mighty oracle Google remain silent, you'l have to contact me. Now for the installation of Wine via

su -c "make install"

Password inquiry should be answered with the admin password as root. In order to run Wine without problems you simply have to copy the necessary config files.

Only global config files are created during installation, they are in read-only mode for the user, so you have to change them. The first step is creating the local directory .wine. Then you copy the documentation/sample/config file from the Wine sources into this. Necessary changes and meaning of the config file parts are explained here

man 5 wine.conf

I've changed the path for the Windows directory to fake_windows/c and created the vital Windows-System files there. Please, read the Wine doc to find out what they are and what you have to do to create a virtual Windows.

If you use one of the latest wine versions you can use a script which is called wineprefixcreate. This little script do all the things from above. Call it easily:

tools/wineprefixcreate

After you've installed and completed the copies, you may leave the source directory and delete the source codes, if you don't need them anymore. I suggest keeping the source package, in case you may need it again.

You may continue in section 4.1 Install Divine Divinity and all following sections or if you want to run Divine Divinity on Windows and GNU / Linux you can jump to section 4.4 to play Divine Divinity.

3.2 Use of Transgaming's Cedega (WineX)

If you want to use the commercial variant of Wine, which is called Cedega formerly known as WineX and is produced by the Transgaming Company you are a paying member of the Transgaming community, your distribution paid it for you and deliver a copy with the distribution or you use the "opensource" variant.

I use personally the "opensource" variant or CVS snapshot from 20/05/2004 (dd/mm/yyyy) for the next few lines. You can get a CVS snapshot from this Transgaming site. I don't know any official internet location where you can get precompiled binary packages for free :-(

I use the following options for the configure - script:

  • --prefix=~/usr/winex - because I want the compiled stuff inside my home directory and not a global location
  • --enable-pthreads --enable-sdldrv --disable-debug - because I think it is good for my system

I did patch 2 files inside the source tree because I don't want to destroy my Wine installation. I edit in scheduler/client.c and server/request.c the lines which contain .wine to .transgaming. The lines look was before I start with the edit

#define CONFDIR \"/.wine\" /* directory for Wine config relative to \$HOME */

and after the edit

#define CONFDIR \"/.transgaming\" /* directory for Wine config relative to \$HOME */

The whole configure, compile and install process work without any problem. Atleast I created a virtual windows world likefor my Wine program.

You can now jump to section 4.1 and all subsections to install Divine Divinity or to section 4.4 if you want to play Divine Divinity on Windows and GNU / Linux.

3.3 Differences between Wine and Cedega (WineX)

This is only a short description for the differences between this 2 pieces of software. I don't rise any claim of completeness or correction !

Cedega contains some more optimized libraries, support some copy protections schemes and you must pay for it if you need a binary version or the not public libraries / support.

3.4 Hints for configuration of Wine

In order to get Wine and Divinity working together, you have to apply the following settings. This list will be updated regularly. It pays off to look them up from time to time!

  • Every line which begins with a semicolon in the beginning will be a comment line for wine and will not be considered by wine. If you want to use an option which contain a semicolon in the beginning just remove the semicolon.
  • If you have a Wine configuration without using Windows, you have to copy the following files from Windows into the Fake-Windows-Systems-Directory: mfc42.dll, mfc42loc.dll, mfc42u.dll
  • If you run Divinity and the sound begin to stutter or you get a message in your consolewindow with the following content DSOUND_MixOne buffer underrun or similar then you should decrease the values of SndQueueMax and SoundQueueMin from the default values to a lesser value. You found this two options in the [dsound] section in your local wine config file. How big the decrease must be, i dont know - it's your system. Just try it out.
  • One advantage is it if you run Divinity on GNU / Linux: you must not run it in a fullscreen resolution. Just uncomment and / or correct the following two options:
    • "Desktop" = "800x600" the resolution of your desktop should be the same like in Divinity
    • "Managed" = "Y"
  • You will found options above in the [x11drv] section in your local wine config file.

3.5 Remove Wine / Cedega

If you want to remove Wine or Cedega one days you must only follow the reverse way of installation ;-)

If you had used a binary package of your distribution then use your packet manager to uninstall the package.

If you installed Wine or Cedega from a source package then you must do the following:

Extract the source package as above descripted if you have removed the source folder after the installation. Run the exactly configure command as you did it for the install. After this you don't must run a

make depend && make

but you must run a

su -c "make uninstall"

Password inquiry should be answered with the admin password as root. At the end you can remove the source folder.

4. Divine Divinity under GNU / Linux

The section 4 of this guide contains the installion, configuration, gaming and removing of Divine Divinity under a GNU / Linux system. User of the operating system Microsoft Windows could use some subsections but it is better if they follow the manual install instructions from Raze.

4.1 Installing Divine Divinity

If you want to install Divine Divinity under GNU / Linux you have 2 ways to do this. If you have enough free space on your hard disk then you can follow the hard disk install guide. But if you don't have enough free space or you are a follower of the old and traditional way of Divine Divinity installation then jump to the section manual install of Divine Divinity.

4.1.1 Hard disk install

If you want try out this way of installation you must atleast 4.2 GB on free space on your hard disc because you need 1.8 GB for all the install files and 2.4 GB for a full installed version of Divine Divinity.

The next requirement is the Windows version of WinRAR www.rarlabs.com. You can use the installed version from your Windows partition or install it easily after downloading it from the above internet adress with the help of Wine

wine wrar320.exe

The installation of WinRAR under Wine should work without anyone problem.

But now let's start with the install process of Divine Divinity:

  • First you must copy all files and folders from the 3 CD disc to a folder of your hard disk for example ~/.wine/fake_windows/c/temp. It is the best to put the stuff inside your virtual windows world.
  • The installation can now start with a
    wine Setup.exe
  • You must choose the max install size.
  • The install process should now run without a problem, crash or error message.
  • At the end of the install process you will ask if you want a link to your desktop and you want to install DirectX. You did not need this and uncheck this options.

To finish the installation you must extract one file with the help of WinRAR. In a normal case this would be done during the first start of Divine Divinity but it is a lot better to do this manually. You must copy the file dat.rar from the installsubfolder disc3 and the file WinRAR.exe from your WinRAR folder into the "Run" folder your Divine Divinity installation. Extract the file with a

wine WinRAR.exe x -y dat.rar

command. To remove the read-only protection of all files, run a

chmod +rw -R *

from inside the Run Divine Divinity folder.

You can now remove the installation folder with all including files and the dat.rar from the Run folder because you don't need them any more.

After finishing the install of Divine Divinity you can now install the latest patches for Divine Divinity or if you have already the latest version of Divine Divinity you can configure and play Divine Divinity.

4.1.2 Manual install

This way is for all this people who don't have enough free hard disk space or follow the old way of install. This way is not complicated but there are a few tricky parts you have to pay heed to.

The following is necessary:

  • The latest version of Wine is installed and configured already.
  • RAR has to be installed. If this is not the case, look for the specific distributive RAR version or install the Linux version www.rarlabs.com.

This installation instruction follows Raze's manual install procedure from the Larian Forum.

You put the 1st install CD in your drive (CD or DVD), mount it and start installation via

wine /cdrom/Setup.exe

/cdrom is the mount point of my CD drive.

You might think this: Hold on now, didn't he write, install is impossible and now he's starting it? How come? Well, installing under Wine is possible until to a certain point and after that you're asked repeatedly to insert the 1st installation CD. Don't ask me why and how to avoid this, I have no clue, but it doesn't matter anyhow.

You choose the install path in your running install program - to be on the safe side: write it down, it will be important later on. It's C:\games\div in my case. After this you start install and continue, until one of these messages pop up:

  • you're asked to insert the 1st install CD

  • install exceeds 1%. If your install runs through completely - PLEASE contact me. You should quit install in any case. Go to the directory you have determined during install. It's this one in my case:
    cd ~/.wine/fake_windows/c/games/div

    ~./wine it the config file of Wine, fake_windows/c my virtual Windows System in Linux and games/div is my install directory in Divinity.

As soon as you're there, you go into Run and start or continue installation. You need RAR, or to be exact unrar. You type in this command

unrar x -cl /cdrom/disc1/imagelist.rar

Program parameters and their definition:

  • x - unpack files here
  • -cl - files and directories are written in small letters.

Repeat this for executable.rar.

-cl is very important for the patch later on. Only correct files will be updated and no old ones remain. In contrast to Windows you have to take care how you name a file or directory in GNU / Linux. It is possible to have a file / directory named Divinity and DiViNiTy as well.

After you've unpacked the file, you'll need the 2nd install CD. It contains necessary files in disc2, they have to be unpacked like imagelist.rar. Type in this command:

unrar x -cl /cdrom/disc2/surf.rar

and surf.rar will be unpacked. You repeat this for:

  • surm.rar
  • warf.rar
  • warm.rar
  • wizm.rar

Use this unpack command - including all parameters - exactly as it is listed, with all its parameters. If you don't, you might encounter problems afterwards.

Now you need the game CD with its important rar files. They are in the subdirectory "disc3". Further procedure is the same as already listed above, so I'll just give you a list which ones have to be unpacked.

  • automaps.rar
  • dat.rar
  • fonts.rar
  • global.rar
  • indeces.rar
  • localizations.rar
  • main.rar
  • root.rar
  • sound.rar
  • wizf.rar

You're nearly done, you just have to copy a few files from the game CD. Type in the following 2 commands and install is nearly complete:

cp -a /cdrom/disc3/localizations/english/* localizations/english/

and

cp -a /cdrom/disc3/static/* static/

In order to update patches you have to type in the following, so further files may be in read and write mode:

chmod +rw * -R

A few registry entries are still missing. The following code is in one file only - in my case dd-linux.reg:

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\CDV Software Entertainment AG\Divine Divinity]

[HKEY_LOCAL_MACHINE\Software\CDV Software Entertainment AG\Divine Divinity\English]
"target folder"="C:\\games\\div"
"group folder"="C:\\WINDOWS\\Start Menu\\Programs\\Divine Divinity"
"language"="English"
"version"="1.0"

You have to change the entry target folder according to your install path before you continue. Double \ is correct and has to be like this, otherwise you'll encounter a false interpretation of the following code. The file you've created will then appear in the registry by:

regedit dd-linux.reg

That's it - and if you followed these instructions carefully, you'll be able to play the game. I recommend to install the latest patch at once, too.

In order to complete installation, you should install the latest patch for Divine Divinity or if you have already the latest version of Divine Divinity you should configure Divine Divinity

4.2 Install the Divinity patches under GNU / Linux

You will found the latest patch for Divine Divinity on the Larian Studios page. Please read the descriptions and hints on this page carefully !

Attention: The following procedure applies only if you've installed Divinity under Linux. If you've installed it under Windows, you'll have to install the patches there, too.

Important: Prior to updating Divinity, I recommend to backup the whole Divinity directory completely - in case of problems, you can get back to it.

After you've done the backup, you're ready to start the update procedure.

There are 2 possibilities to install Divine Divinity what means that there are 2 possibilities to patch Divine Divinity. Please follow exactly the patch instruction after you have installed Divine Divinity. Did you make a hard disk installation then you must follow the this patch guide. If you make a manual install of Divine Divinity you must follow exactly the manual patch guide.

4.2.1 Patch Divine Divinity - hard disk install

This section is for these people who installed Divine Divinity from a hard disk. If you install Divine Divinity manual please follow the instructions for patch the manual install.

As reasons of the copy protection, solving bugs and a better balancing it is recommered to install the latest patch for Divine Divinity. Copy the patch or patches to the Run folder and extract the patch file with the help of WinRAR.exe file

wine WinRAR.exe x -y <patchfile>

<patchfile> means the filename of the patch for example: DivPatch_English.exe

After this, remove the read-only flag from all files:

chmod +rw -R *

To end the whole patch process you must run only the extracted dosomething.exe with the command

wine dosomething.exe

After this you can remove the patch file and the dosomething.exe from the Run folder.

4.2.2 Patch Divine Divinity - manual install

This section is for these people who installed Divine Divinity manually. If you done a hard disk installation" then you must patch Divine Divinity with the instructions for patch the hard disk install.

Go to the Run directory where Divinity is installed. In my case it's ~/.wine/fake_windows/c/games/div/Run. Now you simply use the unrar-Tool from Rarlabs by typing in

unrar x -cl -y <patch.exe>

You already know these parameters, except -y. The -y parameter helps you to update/overwrite all files without having to confirm additionally.

After this, remove the read-only flag:

chmod +rw -R *

During the unpack procedure dosomething.exe is unpacked into the Run directory. This file is in charge of important changes in files that have not yet been updated/overwritten. You type in this command

wine dosomething.exe

You have to do it AFTER unpacking the patches, in order to modify and change. This command has to be executed only once. You can delete dosomething.exe in the Run file afterwards, you don't need it anymore.

4.3 Configure Divine Divinity

If you've made it up to here, you've installed Wine. If you encounter problems running Wine, please read theconfiguration hints for Wine. Taking the user account, you change into the windows directory where Divinity was installed already. In my case it's:

cd /dos2/games/Divine Divinity/

/dos2 is the mount point of my VFAT partition and games/Divine Divinity/ is my Divinity install directory under Windows.

It's the same case if you've installed the game under GNU / Linux.

Within this directory you change into the subdirectory Run and start the program configtool.exe with

wine configtool.exe

Check/Uncheck the following options there:

  • software or directdraw mode - they working without greater problems in my case.
  • screen resolution of 800x600 - but the other resolutions should work also.
  • Check the skip test box to avoid getting an error message.
  • I unchecked smoothness to improve performance.

4.4 Play Divine Divinity

If you want to play Divine Divinity

  • Put the game-CD into your CD or DVD drive and mount.
  • You just move into the Divinity Run directory and type in the command
    wine div.exe

Happy gaming !

4.5 Remove Divine Divinity

If you want to uninstall Divine Divinity one day, you must do the following:

  • If you had done a hard disk installation then it is easy:

    Switch to the install directory and there into the subdirectory Uninstall und run the command

    wine UNWISE.EXE

    During the uninstall process you will ask if your savegames should be removed or not. Answer this question after your decision.

  • If you a follower of the manual way you must remove Divine Divinity manually too but this is easy:

    Switch to the install directory, backup your savegames from Run/savegames to backup place if you need they and do a

    rm -rf .

After this Divine Divinity should complete removed (If not then you must remove the remaining files / folders).

5. Successfully tested systems

This list is more a rough guideline and doesn't promise success at 100%

System 1 System 2
CPU: AMD K6-2 @ 350 MHz Mobile AMD Athlon(tm) 64 3000+
Memory: 256 MB 512 MB
Graphics card: Riva TNT with 16 MB RAM ATI Mobility Radeon 9700 with 128 MB RAM
Linux kernel: 2.4.26 2.6.11
GlibC version: 2.3.2 2.3.4
GCC version: 3.2.2 3.4.2
current GCC version for Linux kernel: 3.2.2 3.4.2
XServer version: XFree86 4.3.0.1 X.org 6.8.2
graphics driver: nv - from XFree86 ati - from X.org
sound driver: Alsa, Version: 1.0.4 Alsa, Version: 1.0.7
Wine version: 20030709, 20030911 20041201, 20050211

6. ToDo list

What's left to do?

  • update the english version of this guide frequently
  • suitable screenshots, helping to understand instructions
  • consideration of error messages due to configuration, translation, installation
  • test the minimal installation of divine divinity
  • test Beyond Divinity for Linux ;-)