Installation on Linux

From VCMI Project Wiki
Revision as of 11:18, 8 December 2012 by Ivan (talk | contribs) (Running the script)
Jump to: navigation, search

VCMI requires data from original Heroes 3: Shadow of Death or Complete editions and from the WoG expansion pack. Data from native Linux version made by LOKI will not work. All links are for VCMI 0.9

Binaries installation

Debian-based distributions

Download and install package for your distribution. To install package along with all dependencies:

sudo dpkg -i downloaded_package.deb
sudo apt-get -f install

Note: First command most probably will result in errors - this is normal behavior, all of them should be fixed by apt-get

Packages

Ubuntu 12.10 quantal 32 bit 64 bit
Ubuntu 12.04 precise 32 bit 64 bit
Ubuntu 11.10 oneiric 32 bit 64 bit
Debian Sid 32 bit 64 bit
Debian Wheezy 32 bit 64 bit

Other Debian-based distributions

VCMI requires g++-4.5 and boost-1.46 which are unavailable on Debian Squeeze and Ubuntu 11.04 or lower. If you'll manage to install them you can compile VCMI from source code.

Another (and probably more safe) option is to create chroot enviroment (how-to). This will allow to install package from another distribution.

RPM-based distributions

Download and install package for your distribution. There are two ways to install package along with all dependencies:

Option A) Double-click the package. A package management window should appear with instructions to guide you through the process.

Option B) Open a terminal window, and type

sudo rpm -i package_location_and_name(e.g. vcmi-0.89-1.fc16.x86_64.rpm)

Packages

Fedora 17 32 bit 64 bit

Compiling from source

For compiling from source see README.linux file. You can get packaged source for current version here

Preparing data

Using vcmibuilder script

This method is not available in vcmi 0.90

Preparation

To install Heroes 3 data using vcmibuilder script you need original game data which can be:

  • As one or two CD's or CD images
  • In form of gog.com installer
  • Directory with already installed game

Additionally you will need WoG and VCMI data files. They can be automatically downloaded by script or downloaded manually using these links:

Running the script

Create temporary directory that will be used by script and go into it:

mkdir temp
cd temp

Run the script specifying location of data files. Run "vcmibuilder --help" to see all possible options or use one of examples in section below.

Launch vcmiclient to determine data directory:

vcmiclient -v

This command will display something similar to this:

Starting... 
VCMI 0.90
  data directory:    /usr/share/vcmi
  library directory: /usr/lib/vcmi
  binary directory:  /usr/bin/vcmi

Copy resulting files into your vcmi data directory:

cp -RTu vcmi /path/to/vcmi/data/directory

Examples

1) Using gog.com installer and auto-downloading additional packages

vcmibuilder --gog /path/to/gog.com/executable --download

2) Using original CD's and manually downloaded data packages

Note: if your installation comes with single CD you still need to specify both "cd1" and "cd2" keys, pointing at the same location

vcmibuilder --cd1 /first/cd --cd2 /second/cd --wog /wog/archive --vcmi /vcmi/arhive

3) Using preinstalled Heroes 3 and manually downloaded WoG package

vcmibuilder --data /path/to/heroes3/data --wog /path/to/wog/archive --download

Manual installation

The main idea of this step is to prepare all the data (sprites, sound files, maps, etc.) that VCMI needs to run and to put them into VCMI's "data directory" which is where VCMI expects to find them. The VCMI data package provides some of these data files. The rest come from the original H3 game and from the WoG expansion pack. All 3 need to be merged and placed into VCMI's data directory and this step explains how to do this.

Install original game and WoG addon. This can be done via Wine or from Windows. To install WoG you can extract this archive into Heroes 3 install directory. VCMI is also compatible with original WoG installer as well as WoG bundled with Era.

Extract VCMI data package into the H3 installation directory. If you used Wine and accepted the installer defaults this should be:

~/.wine/drive_c/Program\ Files/3DO/Heroes3/

After you have done the above you should have all 3 sources of data properly merged and ready to be copied into VCMI's data directory.

Launch vcmiclient to determine data directory:

vcmiclient -v

The above command will display something similar to this:

Starting... 
VCMI 0.90
  data directory:    /usr/share/vcmi
  library directory: /usr/lib/vcmi
  binary directory:  /usr/bin/vcmi
    ...

Copy installed game to the "data directory". This should give you directory structure similar to this:

/usr/share/vcmi/config/
/usr/share/vcmi/Data/
/usr/share/vcmi/Maps/
/usr/share/vcmi/Mods/
/usr/share/vcmi/Mp3/

Note: Depending on whether you are installing one of the binary packages or compiling from source and how you configured the data directory prefix (--datadir) of your source package it may be e.g. /usr/local/share/vcmi or /opt/games/vcmi or something else. In any case it must end in "vcmi" and contain the sub-directories listed above.

To have Music support on Fedora it is required to perform a additional step. Fedora doesn't provide Mp3 playback support natively due to patents applied on the Mp3 technique. The SDL_mixer package from the official Fedora repo is compiled without Mp3 support. Luckily this isn't a huge problem due to the filesystem API of VCMI. If you place ogg files in the Mp3 folder it'll use those files. So all you have to do is to convert the original Mp3 to OGG by yourself. Then copy them to the /Mp3 folder and remove the old .mp3 files with e.g. rm -rf *.mp3. You may use those tools for converting MP3 to OGG e.g.: Dirogg Bash Script http://freecode.com/projects/dirogg or the graphical program SoundConverter(sudo yum install soundconverter).

Launching game

To start the game type in console:

vcmiclient

VCMI should be also available via desktop environment menu or launcher (Games/Strategy/VCMI)

Reporting bugs

Report any issues with packages on our bugtracker or post a message on VCMI forums In report please post:

  • used distributive, version and architecture (for example "Ubuntu 11.10 32 bit"). For distributives that use rolling releases please post versions of all used libraries (boost, ffmpeg, SDL)
  • console log as well as log files from ~/.vcmi
  • steps to reproduce bug