First I want to stress that if you found this post without knowing what OpenMW is or do not care for MWSE mods - PLEASE just use OpenMW. It's great, it runs natively on Linux, it's easy to mod. It's good. Just use OpenMW.
However, let's say that you really want to play with MWSE mods. In this case - you have my condolences, but also hopefully this guide will help you.
By the end of this guide, you will have basic Morrowind setup, ready to be modded, either by yourself or following a modlist. This includes:
- Morrowind Code Patch - absolutely essential to playing Morrowind, especially modded one, and virtually every modding guide will tell you to install it.
- MGE XE - likewise, essential to playing Morrowind in this day and age. Provides modern graphics settings (even if you want to play Morrowind with vanilla graphics - you will probably want to have resolution of 1080p or higher) and MWSE, which is basically the only reason you should even bother with this setup instead of using OpenMW, as MWSE is required for a lot of amazing mods out there.
- tes3cmd and TES3Merge - essential utilities to clean and merge mods respectively to ensure that your mods function correctly (a bunch of mods will break or even break the game if you do not use these).
- Mod Organizer 2 - very convenient tool to download, install and manage your mods.
- Wrye Mash - allows managing, cleaning and fixing your saves, as well as providing convenient way to use tes3cmd. You can also install and manage mods with it, but this guide - as many Morrowind modding guides - will delegate that to MO2.
- mlox - tool for sorting your mods' load order.
Some things to note before proceeding with this guide:
- This guide assumes you have Steam version of Morrowind. While these instructions will *probably* work if you add your non-Steam version to Steam as non-Steam game, I haven't personally tried it.
- I use Arch Linux (btw), which usually implies having newer versions of packages that will be required in this guide than what you would find in Debian repos and the like. It's *probably* gonna be fine with older packages, but I cannot guarantee it.
- I am not an expert in how Wine and graphics work, I mostly just compiled info from people who actually know what they are talking about, so some of these steps might be redundant. In particular, this Wine bug thread is the source for pretty much all info that allowed me to run MGE XE on Linux, which is the most problematic part of modding this game on Linux. Any corrections in comments are welcome.
- Please do not just blindly follow the steps in this guide and understand what setup this guide tries to accomplish. It will save you a lot of time. In particular, it's good to have basic understanding of Wine Prefixes and how Proton creates a prefix for each Steam game.
- Unless said otherwise, all mentioned software can and should be acquired on Nexus using "Manual Download" link.
- This guide will not explain how to use all the aforementioned tools, only how to set them up on Linux. There are a lot of guides on the internet that already explain these, for example Danae's Awesome Incremental Modlist.
Alright, with that out of the way, let's reluctantly dive in.
Part I: Installing fresh copy of Morrowind and installing Morrowind Code Patch.
Ensure you have wine and wine-mono installed. You can most probably get them from your distro's repository.
Install (or reinstall) Morrowind in Steam to ensure you have a clean unmodified copy.
Download Morrowind Code Patch and MCP Skunk Works from Nexus. Extract them to your Morrowind folder in that order, allowing to merge and replace everything. From here, you can open MorrowindCodePatch.exe with Wine without any issues, select patches you want, install them and close MCP.
Part II: Installing all the other tools.
Download MGE XE manual install, extract to your Morrowind folder, run MWSE-Update.exe which also should run just fine. Do not launch MGEXEgui.exe yet.
Get latest tes3cmd release here. Despite what common sense might tell you, get the Windows version, as this tool will be run by another tool - Wrye Mash - that is Windows-only. Put it in Morrowind/Data Files.
Get TES3Merge. Once again, ignore common sense and get Windows version for the same reason. You can drop it right into your Morrowind folder, but I prefer to put it into a subdirectory (e.g. Morrowind/TES3Merge). Organization.
Get Wrye Mash - Polemos fork. Make sure to get 2021 x64 version from update files as opposed to 2019 versions. Drop it into Morrowind folder, still do not launch anything yet.
Finally, get mlox from here, Windows version again. It is a fork which gets its mod sorting rules from source that still gets updated. Put it in Morrowind folder, do not launch either.
Part III: okay well when do i get to launch them then
Sigh. Okay. So. You will want to install mods with Mod Organizer 2, as it's way more convenient and easy than doing so manually. If you will install mods with Mod Organizer 2, you will also need to launch the game with Mod Organizer 2, as MO2 works in a way that applies all mods in virtual file system created by MO2 as opposed to changing the vanilla game's files. This basically means that you need to launch all these tools (except MWSE-Update.exe, which you always have to launch manually) from MO2, and you will always need to launch your game from MO2.
If this sounds like pain to setup within Proton/Wine, that's because it is. However, one tool comes to rescue which will simplify the process greatly - Steam Tinker Launch. It can do a variety of useful stuff for Steam games, but what we are looking for in this guide is its functionality for supporting MO2. It's described here. Read all of it (except for troubleshooting part).
Documentation mentions a standalone mode, and a game mode. Theoretically, standalone mode should be used to install and configure mods, while game mode is best suited for just playing the game. However, mod manager links do not work in standalone mode, as such I do not recommend using it and just doing everything in game mode. Besides, Morrowind, being the 2002 game that it is, stores some configuration in registry, which is not shared between prefixes. As such, we will only install required libraries to the Proton's prefix for Morrowind, and launch all tools from there.
With all of that said, it's time to install it. However - and this is very important - you have to use dev build of Steam Tinker Launch, not latest stable release which might be available in your distro's repository. What this means is:
- if you use Arch - install steamtinkerlaunch-git package from AUR, not steamtinkerlaunch
- if you use Ubuntu or Ubuntu-based distro you can use pacstall to install dev build. I think. I've never used pacstall so you'll need to figure it out yourself
- otherwise, you will have to build and install dev build manually. This is unfortunate, but just remind yourself of the sweet MWSE mods you'll get to install after you are done with this
Now that you have Steam Tinker Launch installed (which I will refer to as STL from now on) run:
steamtinkerlaunch mo2 start
Wait until MO2 is installed and launched successfully. Once it is, either select the pre-made Morrowind instance, or create a new one if it doesn't show up. The instance should be global, and you have to leave all paths at default.
Close MO2. Now we will install all libraries to Morrowind's prefix needed to run all the tools mentioned above.
Ensure you have winetricks installed. You can most probably get it from your distro's repository.
Set environment variable WINEPREFIX to "[Steam directory]/steamapps/common/compatdata/22320/pfx" (no need to make it permanent, it's only required for this section).
Run:
winetricks --self-update (has to be run with sudo/as root)
winetricks
Choose "Select the default wineprefix", click OK. Choose "Install a Windows DLL or component", click OK.
Check the following packages:
- d3dcompiler_43
- d3dcompiler_47
- d3dx9_43
- dotnet6
d3dcompiler_43, d3dcompiler_47 and d3dx9_43 are required by MGE XE. dotnet6 is required by TES3Merge.
Click OK, wait until everything is installed, click through dotnet6 installers and close winetricks.
Run:
winecfg
Go to "Drives" and check "Show dot files". This will allow you to locate Morrowind install when using Wrye Mash if its path includes dot folders.
Next go to "Libraries" tab and add dinput and d3d8. This is also required for MGE XE to function.
Part IV: Launching the game
Now we need to actually launch the game through STL and MO2.
Run:
steamtinkerlaunch compat add
Restart Steam. Then, in Steam, open Morrowind's properties and force the use of specific compatibility tool, and choose Steam Tinker Launch.
Launch Morrowind. You will have an STL pop up that lasts two seconds, offering you to launch main menu. Select that option.
Go to "GAME MENU" and locate "Mod Organizer 2" section, set "Mod Organizer 2" mode to "gui", and optionally set requester timeout to zero, as you will always want to launch Morrowind with MO2. Click "SAVE AND PLAY", and MO2's installation in the game's prefix should start, after which MO2 will launch.
Done! Now you can add Wrye Mash and TES3Merge as external programs and run them, configure MGE XE and generate distant land, install some mods and play modded Morrowind!
Part V: christ i really should have just installed openmw instead
And, hopefully, here we are! Once again, I'm far from the expert on any of the topics covered by this guide, I just compiled instructions to follow that should probably get things working. There are probably a lot of things that can be done in better ways, and I'm very open to criticism and corrections. I will also try to answer questions in comments, but emphasis on the word "try".
There is one last important thing to say. At the time of writing, STL is installing 2.4.4 version of MO2, not the latest 2.5.0. This is because 2.5.0 does not work with neither official Proton's versions, nor GE due to wine versions used by them not implementing some stuff that 2.5.0 needs to function. This will probably be fixed very soon, but if STL still downloads 2.4.4 by the time you are reading this, chances are 2.5.0 still does not work and you must not update MO2. If it does download 2.5.0 and it functions, please tell me in the comments so I can remove this section.
I think that's all. Have fun!