AniMisc
Previous Next


Using OpenMW



Although OpenMW, an open-source game engine intended to replace Morrowind.exe (the game content still has to be installed from the Morrowind game CD, ditto for its expansions) has been around since 2011 and was included in the openSUSE 13.2 distro, I didn't give it a try until the end of 2015, when it was at version 0.36.1 and considered close to version 1, ie. officially playable. It was already playable, though buggy, a few years ago, but shortly after a big update in which, OpenMW's site stated, the graphics part of the game engine had been replaced by a superior rendering system, the moment had come to see for myself. I copied the game files, including a few mods, from the Windows partition to the Linux directory "/home/shared", giving that directory and its contents the owner "root", the group "games" and the permissions "drwxrwx---", meaning that as a member of group "games", I would be able to create, alter and delete savegames from inside the game. This page will serve to record my experiences with OpenMW 0.36.1 and higher.



The permissions were evidently correct, as I could start a game, go though the intro and tutorial and make a savegame, all without hitches. There was a tiny hitch with the game launcher, though, and I should start there. Searching for "openmw" in openSUSE's start menu, I get four options:

The first one I should ignore, the second starts the game launcher, the third is the game editor, and the fourth is a link to a website. As part of recreating the game engine in an open-source, multiplatform way, the makers of OpenMW have also written their own launcher and game editor. I'll ignore the editor for now, and start the launcher. As this is the game's first launch, it asks me where the game files are. I browse to "/home/shared", choose "Morrowind.esm", am asked to import the ini settings (which I'm told I can do again later in the Launcher settings) and get a disordered list of gamefiles and mods with warnings that the needed ESM is not found. These warnings are even attached to Tribunal.esm and Bloodmoon.esm. Apparently, I should have chosen the ESM of the latest expension pack, so I hit the back button and browsed to Bloodmoon.esm this time. The result was the same disordered list of mods, but at least the basic ESM files were okay.

The first menu button, Play, would just let me select a Content List and start playing. The second menu button, Data Files, is more like the Morrowind Launcher I'm used to, but the mods seem arranged in alphabetical order, meaning that mods starting with "A" and depending on Bloodmoon get an exclamation mark in a yellow triangle and, when moused over, will state what ESM they need to be loaded after. So I dragged all mods in the right order, ticked the ones I wanted, since some are mutually incompatible, and clicked the little "Play" button at the bottom of the screen. The title screens played just fine, so I exited the game before making a character. Returning to the launcher, I saw that the mods were jumbled again! It turns out that the order of ticked mods is remembered, but unticked mods are listed alphabetically between the ticked ones in a slightly inconsistent way. It doesn't really matter, but it looks chaotic. This launcher does do something I don't remember from the Windows game: it allows me to create more than one "ticked mods" list by creating a new list from the available data files (click the page button with the little green plus) or delete the list I'm currently viewing (click on the red cross). Changing a content list's name is as easy as viewing the list, typing something different in the name field and pressing Enter. Then, if the sight of disordered mods offends me, I can choose Play in the menu, select only the content list that goes with my game, and start playing. In this way, a modder can switch between "vanilla" and "modtest" or test different mod combinations without having to tick and untick stuff in the launcher all the time.

Finally, the Graphics button lets me choose how and at which resolution to display the game, while Settings will let me reimport the Morrowind ini file. OpenMW itself needs neither Morrowind.ini nor a bunch of registry keys. Starting the game again, I created a character, which - whoa, was the mouse supposed to do that? - had some trouble following the ship's guard, as the camera somersaulted every time I tried to make a move. This was fixed by going to Options inside the game, and, under the tab "Controls", decreasing the "Camera sensitivity" even further. I'd chosen the resolution 1024x768, without window border but not fullscreen (in case the game hung) so, to accommodate the panel at the bottom of the KDE Desktop, OpenMW automatically used the custom resolution of 1024x741. The game looked fine, apart from the Cyrodiil NPCs being too narrow, which I thought had been resolved in the newest version, and my character appearing to hover above the ground. After the intro & tutorial, I made a save, then loaded it, no problem. The only gamestopper was when I somehow got stuck at the base of a tree and couldn't free myself even by jumping. I could have teleported myself with a GetPos/SetPos in the console (it works, press "~") but didn't think of that and quit instead, wondering: where are the savefiles?



Back to index


The Windows savefiles, copied with the game files, were not shown in the load menu. Understandable, sometimes savefiles are platform- and even processor-dependent. But my new savegame was not in the Saves subdirectory. The usual savefile location, "/var/games", yielded nothing, although "/usr/share/openmw" had a number of files dealing with the game engine and launcher.

In "/etc/openmw" I found "openmw.cfg", which reads as follows:

# This is the global openmw.cfg file. Do not modify!
# Modifications should be done on the user openmw.cfg file instead
# (see: https://wiki.openmw.org/index.php?title=Paths)

data="?mw?Data Files"
data=/usr/share/openmw/data
data-local="?userdata?data"
resources=/usr/share/openmw/resources
script-blacklist=Museum
script-blacklist=MockChangeScript
script-blacklist=doortestwarp

Good tip about the webwiki, otherwise not helpful. Time to look in my home directory.

Nothing OpenMW-related was visible, so I ticked "view hidden files" and found "openmw" subdirectories under ".cache" and ".config". The first was clearly only for temporary files.

The file "openmw.cfg" contains the class choice questions and level-up messages from the Morrowind.ini file. Opening the file "launcher.cfg" confirmed that the launcher does only remember ticked mods. Editing the latter in a text editor didn't work, and so is clearly not a good way to create a second Content List by hand. Pity! And still nothing about saves.

Even a "find" command hasn't turned up any save files. So I consulted the webwiki which told me to look in "$HOME/.local/share/openmw", where screenshots go (good to know!), under "saves", where, to my delight, savefiles are stored per user. Also delightful is that when I want to load a savefile in the game, all savefiles are presented in historical rather that alphabetical order. Given that they are not "ess" files, I doubt I could open them in the TESCS, or even OpenMW-CS. But since OpenMW aims to prevent bugs like doubling after loading a savefile, that should not be necessary.



Back to index


To get the full 1024x768 resolution, I tried to play fullscreen at said resolution on my 1366x768 monitor. Don't do this! The game was stretched over the whole monitor, so I quit back to desktop, and a band down the right of the desktop was suddenly unusable junk. Unwilling to log out and back in again, I ran the Display Configuration to change the screen resolution until the garbage cleared up. Then I moved the panel to the right side of the screen and ran the game again. That's how I got the highest resolution feasible on this laptop.

So, continuing the game at the new resolution, now with my character's feet properly on the ground, I found myself stuck again, this time on a corner of the Temple in Vivec. An unwise SetPos X landed me in the water under the Temple, but I swam out and used the console to conjure a potion of levitation (Rising Force, for the purists) into my inventory to get back on dry land quickly. The console is not quite as in the Windows version: what I type goes into a bar at the bottom of the console, and appears in the console screen, plus error message if applicable, after pressing Enter. Different colours are used to make the output more readable. Scrolling through previous commands with cursor-up and cursor-down keys works as in Windows, but what works better than in Windows: "coc [cellname]" will not leave me trapped in water under a building (Molag Mar), or stuck in a pier (Ebonheart). Looking at the OpenMW bugtracker brings up many bugs regarding death drops and being stuck in landscape after using "coc", not all of them resolved, so maybe I was lucky. Touch wood.

A little mod I made for merchants who unintentionally equip their own armour doesn't work, however. Did it also not work under Windows, or does the syntax in its script offend OpenMW?

As versions 0.37 and 0.38 were announced on the OpenMW site, the openSUSE directories kept updating my installation to higher versions of 0.36, up to 0.36.1-1.25 at the end of 2015. Which meant that I kept getting the following errors, noted under version 0.36.1-1.23:

Errors (or not) that were already in the original game itself:

Things that were improved on the original game:



Back to index


When, on January 29 2016, OpenMW for openSUSE suddenly updated itself to 0.38.0-1.1, I eagerly started it to see if these errors had been solved (apparently there are no more "flying rats", implying improved collision). The opening sequence was played, then I saw a violet screen as the game files were being loaded, then another sequence ending on the screen where I start the game, then a violet screen with game music playing, and no key works. The game doesn't like my graphics card, it seems, and is now unplayable. On 25 February, the game updated itself to 0.38.0-1.3; still the same violet screen. Waiting for the next update!

Updates came and went - both of OpenMW 0.38 and OpenSceneGraph, its new graphics provider (previously, graphics had been taken care of by Ogre) and the violet screen remained. I checked on OPenMW's forum in February and yes, someone else had the same problem. One reply referred to a post of which I'll cite the relevant part:

OpenMW requires S3TC texture compression support. If you are using a proprietary video driver, you will usually have S3TC support out of the box. With open-source drivers on Linux, you may need to install S3TC support separately. An indicator for missing S3TC support are white textures.

On Ubuntu:

sudo apt-get install libtxc-dxtn-s2tc0

Packages

You will need g++ in order to compile OpenMW.

To setup a build environment and install all dependencies type:

 sudo apt-get install git libopenal-dev libopenscenegraph-dev \
 libsdl2-dev libqt4-dev libboost-filesystem-dev libboost-thread-dev \
 libboost-program-options-dev libboost-system-dev libav-tools \
 libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libavresample-dev \
 libbullet-dev libmygui-dev libunshield-dev libtinyxml-dev cmake build-essential \
 libqt4-opengl-dev

Well, I tried this and it didn't work. I didn't use apt-get, because I have a nice graphical installer that lets me search for stuff and tick it in a list, so I ticked everything that I thought would be related. So I tried something related to Fedora Workstation, even though I have a different distro:

Because some dependencies of OpenMW are not in the Fedora Workstation repositories, you need to enable RPMFusion free and non-free repositories which provide packages for the missing dependencies. Packages

You will need g++ in order to compile OpenMW.

To setup a build environment and install all dependencies type:

sudo dnf groupinstall development-tools;
sudo dnf install openal-devel OpenSceneGraph-qt-devel SDL2-devel qt4-devel \
boost-filesystem git boost-thread boost-program-options boost-system ffmpeg-devel \
ffmpeg-libs bullet-devel gcc-c++ mygui-devel unshield-devel tinyxml-devel cmake

Again, I just searched for these files and ticked whatever wasn't installed yet, and probably should have been. Still no luck. So I compared the versions of the main programs needed to run OpenMW, to the versions I had installed:

Closer examination of what lay behind these programs revealed that I had a low "libboost" version (searching for libboost turns up many files, all parts of the libboost package) and libgif6 as opposed to the current libgif7. But openSUSE 3.12 simply had no higher versions in its repository. Repository configuration time! First, I added the Factory graphics repo, which should have all the latest packages:

http://download.opensuse.org/repositories/graphics/openSUSE_Factory/

Still no libgif7, so I changed it to the Tumbleweed OSS repo:

http://download.opensuse.org/tumbleweed/repo/oss/

And got that delightful charming "you agree not to use this software if you are on America's naughty list" message, which, to highlight its absurdity in this situation, I'll quote in full:

As required by US law, you represent and warrant that you: (a)
understand that openSUSE Tumbleweed is subject to export controls under
the Export Administration Regulations ("EAR") which are implemented
and enforced by the US Department of Commerce, Bureau of Industry and
Security; (b) are not located in a prohibited destination country or are
specifically prohibited under the EAR or US sanctions regulations; (c) will not export,
re-export, or transfer openSUSE Tumbleweed to any prohibited destination,
entity, or individual without the necessary export license(s)
or authorizations(s) from the US Government; (d) will not use or
transfer openSUSE Tumbleweed for use in any sensitive nuclear, chemical,
or biological weapons or missile technology end-uses unless
authorized by the US Government by regulation or specific license;
(e) understand that countries other than the US may restrict the
import, use, or export of encryption products and that you will be
solely responsible for compliance with any such import, use, or export
restrictions.

And this for an open-source OS first developed in Finland and then refined into SuSE in Germany, before Novell got its grubby paws on it and enforced the rule that people in Iraq may not even use openSUSE, let alone update it to run OpenMW, because those filthy Ay-rabs are not allowed to have nice things, and because fantasy RPGs are very terrorist and anti-American, which for Morrowind is half true, as in-game criticism of the Empire's control of Morrowind vaguely echoes real-world criticism of American control over oil countries. Well, the openSUSE repo that comes with this asshat clause did have libgif7, though not the Bullet version I apparently needed. And the Factory repo upset the automatic updater:

- File '/repodata/repomd.xml' not found on medium 'http://download.opensuse.org/repositories/games/openSUSE_Factory/'

So I replaced it with:

http://ftp.fau.de/packman/suse/openSUSE_Factory/

And changed Tumbleweed to Leap42, for which I again had to agree with the asshat clause:

http://download.opensuse.org/distribution/leap/42.1/repo/oss/

And the game still didn't run, but the automatic updater suddenly did announce 429 updates. Of which some had broken dependencies (especially libboost_60, the highest versions of the libboost files that was available for install was libboost_58) and others insisted there was an update, yet there was no higher version to update to. So I disabled both the Factory and the Asshat repos, and automatic updates worked properly again. But I still got nothing more from OpenMW than a violet screen.

The problem resolved itself unexpectedly in mid-March. After yet another OpenSceneGraph update that didn't help the violet screen problem, I opened the installer program, searched for OpenSceneGraph to see what the new version was, and noticed that "OpenSceneGraph-plugins" were not installed, and "osgcal" (an adapter to use the cal3d character animation library inside OpenSceneGraph) was the wrong version, due to all this repo-adding. So I ticked those and, for completeness' sake, also "OpenSceneGraph1-plugins" and "libosgCal0". Which of the four updates did the trick, I can't say; but the game ran.



Back to index


Now that OpenMW is playable again, I wanted to see what bugs from 0.36 had been resolved, but real life intervened and before I knew it, April ran into May, and in the first week of May, openMW updated itself to 0.39. What better time for a test?

Problems solved:

Problems partly solved:

Problems not solved:

New problem:

The console command "coc" still doesn't lodge the player character inside structures, but "coc Arena" put me on the Arena's roof, whereas "coc Vivec" placed me on a giant toadstool near the entrance to Vivec's Foreign Quarter; on jumping down, I died. I'll chalk that up to the programmers' sense of humour.

To be continued as I discover more stuff.





Previous Top Next