Developing on Linux or MacOS

Table of Contents

Introduction

Modding Morrowind on Linux or MacOS is perfectly viable, even without dual-booting. This guide will introduce some options for setting up the development environment and acquaint you with the minor inconveniences involved. Otherwise, modding on these platforms should be identical to that on Windows. The author uses Ubuntu 20.04, but the process should be very similar for other Linux distributions as well as MacOS.

OpenMW-CS

The cross-platform OpenMW-CS, editor counterpart to the free and open source OpenMW game engine, will one day hopefully allow native Morrowind modding on Linux and MacOS. Unfortunately, as of 2021, OpenMW-CS is still lacking features needed for a main mod-making platform, such as gridsnap. More importantly, the program will currently mark every reference of every cell as persistent, heavily bloating memory usage in vanilla engine and potentially causing unrelated scripts (even from other plugins) to break. Unless this problem is fixed, contributions made in OpenMW-CS should not be merged into Tamriel Rebuilt, at least as long as Tamriel Rebuilt desires vanilla engine compatibility.

That being said OpenMW-CS is still quite useful for quickly looking up Morrowind and Tamriel Rebuilt game data. Many developers also rely on OpenMW itself to more conveniently test changes in-game. If you choose to install it, see the instructions here. Note that you will still need a copy of TESIII: Morrowind on the original engine.

TES Construction Set

For serious mod development, the venerable TES Construction Set (CS) is still king. The program’s usage and quirks are covered by other tutorials in the Tamriel Rebuilt handbook. You have two options of running the game and the CS on a Linux or MacOS machine: virtualization or Wine.

Virtualization

If you have a copy of Windows and enough disk space and performance margin, you can install Windows on a virtual machine using a tool such as Virtualbox, among others. Installing and using TESIII: Morrowind, its Construction Set, and other utilities on the virtual machine should be identical to that on a native Windows machine.

Unfortunately, a virtual machine comes with a significant performance cost and the virtualized Construction Set can be quite laggy and unresponsive. However, if your computer is powerful enough, virtualization should provide you the most robust modding setup, short of resorting to dual-booting.

Wine

The Wine compatibility framework allows running Windows programs on Linux and MacOS. Thankfully, Morrowind, its Construction Set, and most TESIII modding tools are very well supported (except for the Construction Set new file issue; see below). To install Wine, follow the instructions for Linux or MacOS. You may choose to set up a specific Wine prefix for Morrowind, but it can left as default.

To install the game, open the terminal in the folder where the Morrowind installer executable is, and run wine <installer>.exe (replacing <installer.exe> with the specific name of the installer executable). To run Morrowind or the Construction Set, navigate to where you installed the game, open the terminal, and run wine <name of program>.exe. If you run into any issues, look for workarounds on the relevant WineHQ page and this UESP page.

Note 1: Since update 10.15 (Catalina), MacOS doesn’t support 32-bit programs, so standard Wine won’t work until it’s updated (which will be a long-term project). If you haven’t updated to 10.15 and want to use TES-CS, don’t do so. If you have already updated, try PlayOnMac or CodeWeavers (a commercial, paid-for version of Wine that provides support), both of which allow you to run 32-bit Windows apps on MacOS 10.15. You can track workarounds to this issue here.

Note 2: If you purchased Morrowind on Bethesda.net, you need to install the Bethesda.net Launcher using Wine in order to be able to download the game. You may encounter an issue with displaying fonts in the launcher. In such a case, you might need to install the vcrun2012 and corefonts packages through Winetricks (as seen here).

Note 3: If you purchased Morrowind on Steam and installed it on Linux or MacOS, it will use the Proton framework, which is essentially a slightly modified Wine. A Steam copy of Morrowind, however, doesn’t come with the Construction Set, which you will have to download from Nexus Mods and extract into the Morrowind install folder. To find said folder, right click on Morrowind in your Steam library, select “Properties” and navigate to the “Local Files” tab.

Important Workarounds

There is only one major issue with the Construction Set on Wine, related to creating new files.

This causes problems with two features of the program.

First, it is not possible to create new .esp files. As a workaround, you can open the CS with a dummy .esp file set as the active file. The CS will have no trouble modifying this .esp and saving over it. To create a dummy .esp file, take any .esp file and use the TES Advanced Mod Editor (TESAME) to delete all its contents by right-clicking the object lines to make them active, selecting Items->Delete from the menu bar, and saving the empty file as a new .esp. You will want to duplicate and rename this file prior to opening the CS for every new claim, since the Construction Set will otherwise save over the dummy file and you’ll have to go through the TESAME deletion process again. Alternatively, the CS autosave feature is still able to generate save files, which you can use as base for further modification.

The second non-functional feature is the "Combine Loaded Plugins" dialog in the CS. Instead, you can use TESAME to merge plugins.

Other utilities

Utilities such as the Morrowind Code Patch, TESAME seem to work without a hitch in Wine. Simply unpack them to your Morrowind install folder, navigate to the folder, open the terminal and run wine <name of program>.exe.

Wrye Mash (Polemos Fork) works the same way. An issue is that dragging plugin files to change their load order crashes the program. Instead, highlight the mods you want to move, and press Ctrl+up/down.

A few more steps needed for MGE XE, which is primarily a graphics enhancement package for the vanilla Morrowind game. It is entirely optional for modding, but contains some useful features for testing, such as “allow yes to all errors”.

The following steps are from this guide.
First, you will need to add the dinput and d3d8 libraries as “native, builtin” using the winecfg program which comes bundled with an installation of Wine.
Second, using the winetricks program, you will have to install the d3dcompiler_43, d3dcompiler_47, and d3dx9_43 packages.
You may also need to install the Mono framework, which you can download from the WineHQ site (as seen in this guide).
Thereafter, installing and running MGE XE through Wine should work fine. Don’t be alarmed if you subsequently get a crash when accessing the in-game video options – just change these settings through the MGE XE executable.