The word “Manual” installation may sound scary, but actually to install mods in OpenMW is fairly straightforward once one knows the kinds of mods it may stumble upon.
To install mods requires to edit a configuration file (i.e.,
~/.config/openmw/openmw.cfg), so you may want to keep different versions ready to use via a version control program or making backup copies.
openmw.cfg file is a sequence of assignments like
key can be repeated. Initially the keys will be in alphabetical order, but I suggest to sort like:
fallback=... fallback=... fallback-archive=... fallback-archive=... resources=... data=... data=... content=... content=... groundcover=... groundcover=...
If you have other key values, (e.g.,
encoding=) just put them in the top of the file.
The mods can be categorized in:
Example: Patch for Purists (PfP for short)
This is, by far, the most common kind of mods. They are easy to recognize for they do have .esp / .esm / .owaddon files inside the archive.
To install a esp-file mod you need to unpack it somewhere and edit the file
~/.config/openmw/openmw.cfg and add at least two lines.
data=line containing the full path to where are the .esX files between quotes,
content=line containing the
As example, let's unpack the PfP in the directory
$ pwd /home/username/games/tes_morrowind/mods/PfP $ ls -1 BookArt Docs Icons Meshes 'Patch for Purists - Book Typos.ESP' 'Patch for Purists - Semi-Purist Fixes.ESP' 'Patch for Purists.esm' Textures
So the .esX files are:
Patch for Purists - Book Typos.ESP,
Patch for Purists - Semi-Purist Fixes.ESP, and
Patch for Purists.esm.
We then edit the
openmw.cfg we have to add the following lines:
data="/home/username/games/tes_morrowind/mods/PfP" content=Patch for Purists.esm content=Patch for Purists - Book Typos.ESP content=Patch for Purists - Semi-Purist Fixes.ESP
In what order?
In general what is after in the list overrides what is before so if two mods change the same texture, the second will be shown in-game.
The order of the esp files hardly matters, but
.esm files should be before esp files. To have a rule of thumb, if a mod is big it should be on top, if it specific it should be on the bottom.
.bsa files are archives, if the mod has bsa files in addition to the
data= line you will need to add a
fallback-archive= line to have the game read its contents.
Example: Ozzy's Grass
Groundcover mods have their own
.esp files, but they must be loaded differently because the game needs to distinguish between groundcover objects and normal ones. In other words, groundcover mods work as esp-file mods, but instead of
content= rows you have to add
Let us install Ozzy's grass, first we unpack in the
$ pwd /home/username/games/tes_morrowind/mods/Ozzy_Grass $ ls 'Data Files' 'Original readmes' ReadMe.htm files $ ls -1 Data\ Files "Ozzy's Grass - Ascadian Isles.esp" "Ozzy's Grass - Bitter Coast.esp" "Ozzy's Grass - Grazelands.esp" "Ozzy's Grass - Solstheim.esp" "Ozzy's Grass - West Gash.esp" "Ozzy's Grass.bsa"
The esp files are
Ozzy's Grass - Ascadian Isles.esp,
Ozzy's Grass - Bitter Coast.esp,
Ozzy's Grass - Grazelands.esp,
Ozzy's Grass - Solstheim.esp, and
Ozzy's Grass - West Gash.esp. There is also bsa archive:
So we need to add the following rows, note how the
data= row points where the other files are.
fallback-archive=Ozzy's Grass.bsa data="/home/username/games/tes_morrowind/mods/Ozzy_Grass/Data Files" groundcover=Ozzy's Grass - Ascadian Isles.esp groundcover=Ozzy's Grass - Bitter Coast.esp groundcover=Ozzy's Grass - Grazelands.esp groundcover=Ozzy's Grass - Solstheim.esp groundcover=Ozzy's Grass - West Gash.esp
To work ground cover mods need to be enabled in the
settings.cfg file. Here is an example setting set, the row
enabled is the only necessary. To reduce density of rendering distance may help performance.
[Groundcover] enabled = true min chunk size = 0.5 density = 1.0 stomp mode = 2 stomp intensity = 2 rendering distance = 18432
Example: Swiveller's Ashland and Molag Amur
Esp-less mods are installed very similarly to esp-file mods, but they have no
The lack of esp files means the mod normally can only alter existing game assets, like textures, meshes, or sounds. But it cannot add anything. So, the main point to keep in mind is that order is usually more important in esp-less mods, while adding the
data= rows you have to be careful: whatever is lower in the order will appear in game.
Let us install Swiveller's Ashland and Molag Amur textures, first we unpack in the
$ pwd /home/username/games/tes_morrowind/mods/Swiv_barren $ ls Swiveller_barren $ ls -1 Swiveller_barren/ readme.txt swiveller_readmes textures
As we can see, there is no esX files. We just need to add the
data= line. Here I kept the directory name as-is, but you may want to move Swiveller_barren to avoid the double.
If some other mod changes the Ashlands or the Molag Amur textures which one will appear in game depends on the order. Once again the rule of thumb is that the more general a mod is the higher it should go, the more specific the lower.
Post-process shaders mods are an exception that what we said. Since those, being specific to OpenMW, even without esp files are able to add new shaders to the game. In the game you can access the shader menu pressing F2. Example: Glassman's Shaders.
Example: Different Sky Colors for Morrowind
The Morrowind game has many interesting settings stored in the
morrowind.ini file. For example, the color of fogs depending on the weather.
Few mods alter those values, you can recognize those mods because usually they include a
.ini or textual file with the new settings; seldom the settings are described in the readme file. In any case, somewhere are the settings in the ini format.
The ini values in OpenMW appear in the
openmw.cfg file as
fallback= values. In the OpenMW the
fallback= rows can be repeated, and if it is the case, the one lower in the file will be considered.
So, to install ini-edit mods we convert the ini file included in the mod in the format expected by OpenMW and copy the rows in the
openmw.cfg file, ideally with a comment on top to remind there the new rows come from.
Let us say the ini settings are in a file called
input.ini. To convert the ini values from the morrowind.exe format to the OpenMW format we can use the following command line:
$ openmw-iniimporter -v -i input.ini -c ~/.config/openmw/openmw.cfg -o /dev/stdout | grep '^fallback=' > openmw_cfg_fallbacks.txt
The output file
openmw_cfg_fallbacks.txt will contain the ini settings in the format expected by OpenMW. We can easily copy and paste from there.
Let us see an example. First we unpack Different Sky Colors for Morrowind in the
$ pwd /home/username/games/tes_morrowind/mods/skies $ ls different_sky_colors_1.1 $ ls -1 different_sky_colors_1.1 'INI settings - different_sky_colors - ASE compatibility.txt' 'INI settings - different_sky_colors.txt' Tx_sky_ashstorm.dds [...] Tx_sky_stormy.dds Tx_sky_thunder.dds 'different_sky_colors - sample.jpg' 'readme - different_sky_colors._1.1.txt'
The files are not sorted as the game needs. The dds files are textures, but are not in the
textures directory. But for now we focus on the ini setting file, since we do not use ASE (Atmospheric Sound Effects), we check the file
INI settings - different_sky_colors.txt.
$ <'different_sky_colors_1.1/INI settings - different_sky_colors.txt' head [Weather Clear] Sky Sunrise Color=166,118,149 Sky Day Color=135,094,204 Sky Sunset Color=067,057,131 Sky Night Color=009,010,011 Fog Sunrise Color=255,189,157 Fog Day Color=255,223,207 Fog Sunset Color=255,189,157 Fog Night Color=009,010,011
As we can see it contains the new values for the sky and fog colors in the ini format. Let us convert:
$ openmw-iniimporter -v -i 'different_sky_colors_1.1/INI settings - different_sky_colors.txt' -c ~/.config/openmw/openmw.cfg -o /dev/stdout | grep '^fallback=' > openmw_cfg_fallbacks.txt $ <openmw_cfg_fallbacks.txt head fallback=Weather_Thunderstorm_Thunder_Sound_ID_0,Thunder0 fallback=Weather_Thunderstorm_Thunder_Sound_ID_1,Thunder1 fallback=Weather_Thunderstorm_Thunder_Sound_ID_2,Thunder2 fallback=Weather_Thunderstorm_Thunder_Sound_ID_3,Thunder3 fallback=Weather_Thunderstorm_Thunder_Frequency,.4 fallback=Weather_Thunderstorm_Thunder_Threshold,0.6 fallback=Weather_Clear_Cloud_Texture,Tx_Sky_Clear.tga fallback=Weather_Clear_Clouds_Maximum_Percent,1.0 fallback=Weather_Clear_Transition_Delta,.015 fallback=Weather_Clear_Sky_Sunrise_Color,166,118,149
openmw_cfg_fallbacks.txt contains the rows we have to add to the
openmw.cfg file. Now we rename the directory so the textures are in the proper place.
$ mv different_sky_colors_1.1 textures
So, we have to add the following rows to
openmw.cfg, the fallback rows go under the existing ones. The data row goes with the other data rows, since really few mods change the skies the position probably won't matter.
# Different Sky Colors for Morrowind ini values fallback=Weather_Thunderstorm_Thunder_Sound_ID_0,Thunder0 fallback=Weather_Thunderstorm_Thunder_Sound_ID_1,Thunder1 fallback=Weather_Thunderstorm_Thunder_Sound_ID_2,Thunder2 [...] data="/home/username/games/tes_morrowind/mods/skies"
There are two kind of shaders, post-process shaders and core shaders. Post-process shaders have their own in-game menu for configuration, core shaders instead are fixed. Shaders, in general, are text files so configuration might be possible editing them.
Example, core shaders: Zesterer Shaders.
Example, post-process shaders: Glassman Shaders.
There is little to add for the installation of post-process shaders, they work as regular esp-less mods. Unpack the file, add the
data= line the
openmw.cfg file. Start the game and press F2 for the configuration.
To install core shaders is more complicated. Core shaders are part of the resource directory and OpenMW understands only one resource directory, so the installation require to copy the default directory, unpack the modded shaders in it and adapt the configuration.
Assuming the game starts properly you can easily find the resource directory starting the game, leaving and check the log file. The log file is called
openmw.log and it is saved in the same directory you have your configuration files.
Open the log and look for a line like the following, it should fairly on top around line 10-20.
[00:01:02.003 I] Adding data directory /usr/share/games/openmw/resources/vfs
vfs is the first data directory and it is inside the resource directory we are looking for.
Once found, copy it in your mods directory.
$ pwd /home/username/games/tes_morrowind/mods $ cp -r /usr/share/games/openmw/resources . $ ls [...] resources [...] $ ls resources defaultfilters lua_api mygui openmw.png shaders version vfs
The core shaders you downloaded will also contain the
shaders directory. Unpack so the shaders directory ends updating the contents. You may need to convert filenames to lowercase, by aware.
Finally in the configuration file
openmw.cfg add the line
Let us install Zesterer resource shaders. We download the pack from the website and we get the file
openmw-shaders-main.zip. Now we unpack as explained:
$ pwd /home/username/games/tes_morrowind/mods $ mkdir zesterer $ cp -r /usr/share/games/openmw/resources ./zesterer $ mkdir tmp && cd tmp $ unzip -LL ~/openmw-shaders-main.zip $ ls openmw-shaders-main $ ls openmw-shaders-main readme.md shaders $ cp -r openmw-shaders-main/shaders /home/username/games/tes_morrowind/mods/zesterer $ cd .. && rm -r tmp
We then edit the
openmw.cfg file to add the line
resources= rows do not merge the contents. So if you have different values, only the one in the bottom counts.
If you want to install more core shaders you will need to unpack all in the same resource directory.