Developing on Linux or MacOS

From Project Tamriel Wiki
Jump to navigation Jump to search

Modding Morrowind on Linux is perfectly smooth using Wine and is doable in MacOS using Virtualization (and may soon be possible using Wine again).

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 guide was written wtih Ubuntu 20.04 in mind, but the process should be very similar for other Linux distributions

OpenMW-CS

The cross-platform OpenMW-CS, editor counterpart to the free and open source OpenMW game engine, will hopefully soon become a good tool for native Morrowind modding on Linux and MacOS (as well as Windows).

Although the software is still in alpha and suffers from ease-of-usability issues, as well as some lacking features, is quite handy for quickly looking up Morrowind and Tamriel Rebuilt game data.

Testers are encouraged to try out OpenMW-CS for modding tasks and to report any issues to the OpenMW team. 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.

Note 1: Be sure to only use version 0.48 or later. Earlier versions suffer from a nasty bug relating to persistent objects, which makes it dangerous to merge plugins saved with this editor into Tamriel Rebuilt release files.

Note 2: OpenMW-CS will likely never support compiling mwscript into bytecode for Morrowind.exe (the vanilla engine). This means that in order to test the files generated by OpenMW-CS in Morrowind.exe, you will first need to rename the generated .omwaddon files to .esp, then open them in the TES construction set, click the "Recompile all" button in the Scripts window and save the .esp file. Possibly, dirtied scripts from other plugins need to be cleaned out afterwards.

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 on this wiki. You have two options of running the game and the CS on platforms other than Windows: 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, or any of the many equivalents. Installing and using TES III: 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 may come 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. Thankfully, Morrowind, its Construction Set, and most TES III modding tools are very well supported (when using the Construction Set Extender; see below).

  1. Install Wine, following the instructions for Linux.
    • You may choose to set up a specific Wine prefix for Morrowind, but it can left as default.
  2. 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).
  3. 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 UESP article.

Note 1: Since version 10.15 (Catalina), MacOS does not support 32-bit programs, so standard Wine does not work (as of the time of writing, January 2023). However, this is a fast-developing topic; Wine is making huge strides in bringing 32-bit application support onto its 64-bit executable. You can track the practical implications on StackExchange. Meanwhile, you can try PlayOnMac or CodeWeavers (commercial, paid-for versions of Wine that provide support), both of which may already allow you to run 32-bit Windows apps on MacOS 10.15+.

Note 2: If you purchased Morrowind on Steam and installed it on Linux, it will use the Proton framework, which is essentially a somewhat modified Wine. A Steam copy of Morrowind, however, does not 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, and select Properties > Local Files.

Important Workarounds

There is only one major issue with the (original) Construction Set on Wine, related to creating new files. This causes problems with two features of the program:

  1. It is not possible to create new .ESP files.
  2. Related to above, you cannot use the "Combine Loaded Plugins" dialog.

However, the wonderful Construction Set Extender (CSSE), eliminates both issues, rendering the Construction Set completely functional on Linux!

If you for some incomprehensible reason do not want to use CSSE, then the old a workaround is to just 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 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. Alternatively, the CS autosave feature is still able to generate save files ("pukcab" files), which you can use as base for further modification. Merging plugins can instead be done using TESAME.

Other Utilities

The Morrowind modding ecosystem has created a ton of external utilities, many of which are Windows-exclusive. However, most of these work on Wine with only minor issues.

tes3cmd

tes3cmd is available as a native Unix binary; you can run it without issue either on Linux or MacOS.

Esp-QuickEditor

Esp-QuickEditor is packaged as a Java .jar file; you can run it without issue either on Linux or MacOS provided you have a Java Runtime Environment installed.

TESAME

TESAME can be run without issue using Wine.

TESFaith Sharp

TESFaith Sharp can be run without issue using Wine.

Morrowind Code Patch

The Morrowind Code Patch seems to run without issue using Wine.

Wrye Mash

Wrye Mash (Polemos Fork) works otherwise great on Wine, but has an issue: dragging plugin files to change their load order crashes the program. Instead, highlight the mods you want to move, and press Ctrl+up/down.

MGE XE, MWSE and CSSE

MGE XE is primarily a graphics enhancement package for the vanilla Morrowind game, but is a necessity for the absolutely crucial Construction Set Extender (CSSE), which fixes nearly all of the many issues with the TES Construction Set.

A few more steps than usual are needed to run MGE XE it on Wine. The following guide was originally posted on Reddit:
  1. Add the dinput and d3d8 libraries as “native, builtin” using the winecfg program which comes bundled with an installation of Wine.
  2. Using the winetricks program, you will have to install the d3dcompiler_43, d3dcompiler_47, and d3dx9_43 packages.
  3. You may also need to install the Mono framework, which you can download from the WineHQ site (according to AskUbuntu).
  4. install and run MGE XE through Wine as usual.
  5. To further install MWSE and CSSE, you cannot use the MWSE update .exe file; this will crash. Instead, download the programs manually.

Note: Do not be alarmed if you subsequently get a crash when accessing the in-game video options – just change these settings through the MGE XE executable.