Table of Contents

go to index

Install OpenMW

The installation is divided in two steps: installing the open source engine OpenMW and the Morrowind game data from Bethesda.

The engine

If your distribution allows to install OpenMW with ease using its package manager (e.g., yum, pacman, apt-get, …), that is the most straightforward and suggested way.

However, if the package is broken or you want another version. Then you need to compile yourself. Here are few notes how to do so.

To download the code, we find the version we want:

$ git ls-remote --refs 'https://gitlab.com/OpenMW/openmw.git'
[...]
096b9f8d8a5a98a980a8a5f24bf03a10e239e771        refs/tags/openmw-0.44.0
e29e3248fcf57d6cfac6efd049955c133f2d9896        refs/tags/openmw-0.45.0
0abcb54f51ec4a3979039b2e94ccdc5aa57920ec        refs/tags/openmw-0.46.0
bac679d5f5a252e479a576855c8b00bad9b67d6a        refs/tags/openmw-0.47.0
[...]

The tag name on the right is the version. OpenMW 0.47 is the newest at time of writing. Let's say we want to compile it. From a temp directory we get the code. You can just skip the –branch value if you just want the latest code.

$ git clone --depth 1 --branch  openmw-0.47.0 'https://gitlab.com/OpenMW/openmw.git'

The compilation is set up by cmake so:

$ cd openmw
$ mkdir build && cd build
$ cmake -DCMAKE_INSTALL_PREFIX=/ -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
$ nice -19 make -j `nproc --all`

The cmake call may fail for lack of deps, install all it needs. If possible prefer the bullet library multithreaded to the regular one. As reference, here is the list of deps in archlinux: boost-libs, bullet-multithreaded, ffmpeg, libxt, luajit, mygui, openal, openscenegraph, qt5-base, recastnavigation-openmw, sdl2, unshield, and yaml-cpp.

The call of make is the compilation itself and may require a bit of time. If you want to keep using the computer while compilation is running you can check the output of nproc –all (the number of processors) beforehand and call make with a smaller number to keep more processing power free for you.

Finally we install in `~/openmw`, you can decide another directory if you prefer.

$ make DESTDIR=~/openmw install

in ~/openmw/bin will be the binaries, so not in PATH. Remember to add to the directory to your path if you want to execute openmw from any directory (i.e., export PATH=“$PATH”:~/openmw/bin )

The game data

The gog setup file setup_tes_morrowind_goty_2.0.0.7.exe needs to unpacked. In a temp directory we use innoextract to do so:

$ ls
setup_tes_morrowind_goty_2.0.0.7.exe
$ mkdir morrsetup && cd morrsetup
$ innoextract ../setup_tes_morrowind_goty_2.0.0.7.exe
[...] long output omitted [...]
$ ls
app  tmp

The directory app contains all the game data we need. Move where you want to install the game. As example we want install in a games directory under the home

$ cd "app/Data Files"
$ for a in  BookArt Fonts Icons Meshes Music Sound Splash Textures Video  ;do  convmv --notest --lower -r "$a"  ;done
$ cd ../..
$ mv app ~/games/tes_morrowind
$ cd ..
$ rm -r morrsetup

In the installation directory (i.e., ~/games/tes_morrowind) is the Data Files directory. In the original morrowind.exe engine all mods had to be installed there; in OpenMW each mod is installed in a separate directory; so we create a copy that we will keep pristine for OpenMW and we keep the original Data Files if we need to use programs like the Construction Set that expect all their data to be in that directory.

$ cp -r 'Data Files' 'Data Files OpenMW'

If we need to reset the Data Files directory to its original content, we can just delete it and copy back the OpenMW one.