Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save v1ld/3dcc2523006afb60f050ae78b0a0ebf5 to your computer and use it in GitHub Desktop.
Save v1ld/3dcc2523006afb60f050ae78b0a0ebf5 to your computer and use it in GitHub Desktop.
Morrowind with MGE XE, MWSE-Lua and Mod Organizer 2 on the Steam Deck, 2025

Morrowind with MGE XE, MWSE-Lua and Mod Organizer 2 on the Steam Deck, 2025

Summary of how to get Morrowind running on the Deck with MGE XE and MWSE-Lua. MO2 is used to manage mods. Includes a method for keeping a desktop (Linux or Windows) in sync with the Steam Deck - useful since you can more easily manage your mods on the desktop with MO2, mlox, TES3Merge, Wrye Mash and then sync all of it over to the Deck.

Setup Morrowind

In Steam's game mode

  • Install Morrowind on your primary SSD (not your SD card)
    • Right click the game in the Library, Properties > Compatibility > tick Specific Proton Version and select 9.0 or Experimental (which is at least 10.0)
    • Run the game once - this will create a "prefix", essentially a small Windows install that Morrowind will run in
  • If you ran the game before this and already have a prefix, Rockerbacon's script below will let you remove it and create a new one

Protontricks

Go to Desktop mode by long pressing the power button and selecting the option

  • Install Protontricks - you can find this in the Discover store

Convenience shortcut

Still in Desktop mode

  • Bring up Konsole then run these commands
    • ln -s /home/deck/.local/share/Steam/steamapps/common ~/SteamGames

This creates a symbolic link in your home directory that points to the main location that Steam will install games in. So anytime you need to find Morrowind, just click through the SteamGames link which will look like any other folder. This is needed because some of the tools you'll be using like MO2 will not show you hidden files like the .local folder above.

Rockerbacon's Linux MO2 Installer

Still in Desktop mode

  • Download Rockerbacon's Linux MO2 Installer
  • Follow steps there to install it - I suggest and assume you install into a Games folder in your home directory
  • If the install errors out, no problem:
    • Still in desktop mode, run these commands from the Konsole to remove the install you just did
    • rm -rf ~/Games/mod-organizer-2-morrowind
      • Assuming you installed it in Games/ and let it use its default name
    • Run install.sh again like in Rockerbacon's guide - it should complete the 2nd time if it didn't the first time

Add required tools and overrides to the Morrowind prefix you just created

Still in Desktop mode

  • Launch Protontricks using the Application Launcher in the bottom left of the desktop bar
  • Select The Elder Scrolls III: Morrowind: 22320 from the list - if it doesn't show, you didn't run it once successfully above so do that and come back
  • Wait for a while before another window pops up. Have patience, Luke. Protontricks will often disappear with no feedback and you just need to wait.
  • Click OK when it says "Select the default wineprefix" - if that isn't selected, select that option then hit OK
  • Select Run winecfg, hit OK
  • Click on the Libraries tab when a window eventually pops up
  • Enter each of these strings one by one into the New override for library input and click Add each time
    • dinput.dll
    • d3d8.dll
    • d3d9.dll
    • d3dcompiler_43
    • d3dcompiler_47
    • d3dx9_43
  • Close the window by clicking X top right
  • Then hit Cancel a number of times until Protontricks finally closes
  • Go back to the Application Launcher and start Protontricks again
  • Select The Elder Scrolls III: Morrowind: 22320 from the list, hit OK and wait a bit
  • This time select Install an application and hit OK
  • Select all of these from the list
    • d3dcompiler_43
    • d3dcompiler_47
    • d3dx9_43
    • d3dx9 (MS d3dx9_??.dll from DirectX 9 redistributable)
  • Hit OK and let it install these things
  • Hit cancel a number of times to exit Protontricks again

This set some properties on the prefix and installed some software in it so if you ever need to create a fresh prefix for the game, you'll need to repeat these steps.

Test MO2 works to launch the game

You can do this either in Game/Steam mode or Desktop mode but I suggest doing this in Desktop mode the first time

  • In Steam run the game
  • This will bring up MO2 instead of Morrowind - yay!
  • Run the game from within MO2 and then exit
    • If the game doesn't start, go over the above until it does work.
    • There's no reason it shouldn't start but none of what follows will work until you get MO2 to launch the game

The plan for the rest of the tools you need

As mentioned, once this works any time you start the game from within Steam, it will run MO2 instead. More precisely, it will run MO2 inside the prefix it created for you when you first ran Morrowind at the top. You want to run all the other tools needed - MGE XE, mlox, etc - inside the same prefix. So the rest of this guide is about setting up those tools to work in the same prefix as the game itself.

Since MO2 is already set up to run within the prefix, the easiest way to do this is to run those tools from MO2 - they will also then run within the same prefix as the game and everything will just work. The guide will show you how to run the Morrowind Code Patch (MCP) from within MO2 - every other tool can be done the same way.

Morrowind Code Patch + Skunk Works

  • Download MCP and its MCP Skunk Works
  • Extract both of them into the Morrowind folder (/home/deck/SteamGames/Morrowind)

Now you need to run Morrowind Code Patch.exe to patch the game

  • In MO2, selected the green and blue gears button to add a new executable to MO2
  • Click + and select Add from file
  • Navigate to Z:\home\deck\SteamGames\Morrowind
    • Which is the same as /home/deck/SteamGames/Morrowind just so you know
  • Select Morrowind Code Patch.exe
  • Close the dialog
  • The selector next to the Run button on the right has a dropdown which should now include Morrowind Code Patch
  • Run it and select what you like

Set up other executables

If you got here, congrats! You can now set up any other binary the game needs - except MGE XE, we'll get to that. mlox or plox, TES3Merge - all these can be installed to some folder then added to MO2 in the exact same way you added MCP.

But before you do that, you first need to install MGE XE and update MWSE Lua.

MGE XE and protontricks-launcher

MGE XE comes with an installer which needs to be run first before you can run MGE XE. The installer will ideally run in the same prefix as the game so one way to do this is to add the MGE XE installer as an executable to MO2 and once that has installed MGE XE you can add its exe to MO2 as well. That's a bit of a waste as you'll only run the installer once, so here's another method of running a binary inside a prefix: protontricks-launch.

  • Let's assume you downloaded the MGE XE installer into the ~/Downloads folder and extracted MGEXE-0.18.0-installer.exe from it into the Downloads folder
  • protontricks-launch was installed for you when Protontricks was installed, but unlike the latter you run it from the command line.
  • Bring up a Konsole window and run
    • protontricks-launch --appid 22320 ~/Downloads/MGEXE-0.18.0-installer.exe
    • Follow the instructions but be sure to install MGE XE into your Morrowind folder (z:\home\deck\SteamGames\Morrowind)

Protontricks will run any command for you within any prefix

  • The --appid argument in the protontricks-launch command names the prefix to use, which is the steam id of the game - 22320 is Morrowind
  • So, if you ever need to run any Windows binary inside Morrowind's prefix, you can do: protontricks-launch --appid 22320 path-to-binary
  • This is an alternative to adding a binary to MO2

Add an MO2 shortcut to MGE XE

  • After you've installed MGE XE to the Morrowing folder add an executable pointing to MGEXEgui.exe
  • Run it at least once right now to make sure it's working

MWSE Lua

MWSE Lua needs to be updated periodically to pick up the latest changes. It will not run from inside MO2 unlike just about every other tool out there - it blocks itself as there's the potential for a mess up if run within MO2.

So use protontricks-launch to run the updater

  • From a Konsole command line: protontricks-launch --appid 22320 ~/SteamGames/Morrowind/MWSE-Update.exe

Do this occasionally to keep your Lua runtime up to date.

Install mlox/plox/TES3Merge etc

As mentioned above you can add them as executable to MO2, just as you did MCP and MGE XE. I suggest you download and put the binaries into folders in your ~/Games folder. So you can have mlox.exe in ~/Games/Morrowind/mlox for example.

Install mods, play the game

You now have a fully working MO2 setup

  • Go to Desktop mode when you're installing mods and drag and drop them in as usual
  • In Steam/Game mode when you launch the game you'll get MO2 - launch the game from here

Have fun!

Everything that follows will require more advanced Linux usage and is meant for a corner case where you're trying to keep the Deck synced with a Windows machine. Not something most folks will want to do, so feel free to go play the game and have fun instead of reading on.

Once again, this is a great place to stop, mod and play the game! What follows is highly unnecessary.

Syncing MO2 from another machine

I find it convenient to play Morrowind on both my desktop Windows PC and the Deck. I want to be absolutely sure I'm running the same mods and configs in both places, so here's how I do it.

  • I install MO2 and all the mods I want on the Windows desktop and, this is important, configure MO2 to use a Portable instance when doing so
  • This means MO2 installs all of the mods and profiles for Morrowind inside the same folder as itself
  • So for example I install MO2 to C:\Games\MorrowindMods\Tools\MO2\ and since it is a Portable instance all of the mods and other information needed is stored under that same folder alongside MO2 itself
  • I then install MO2 on the Deck as above, except I don't bother to install anything beyond MCP and MGE XE+MWSE Lua. I'll run all those other tools on Windows instead and just copy their results over when I need them.

rsync

You'll need Windows Subsystem for Linux 2 set up on your Windows desktop. Look this up, plenty of good information out there not least from Microsoft.

You'll then need to find a video or other resource to show you how to set up ssh between Windows and the Deck. I recommend doing this with an ssh public key so you don't have to type a password each time. Plenty of Googleable resources on this.

rsync is a UNIX tool that should be present in your WSL2 Linux instance. If you enter rsync at the shell and it says command not found, google for how to install it in your Linux instance.

Once you've got all that setup - ssh from Windows to the Deck, rsync installed - you can do the sync

  • Create a file named rsync-MW.sh in your WSL2 linux instance (may need to google how to create that file)
  • Put this in the file
#!/bin/sh
# rsync Mod Organizer 2 with Portable Morrowind instance to Steam Deck

# local MUST end with /
local=/mnt/c/Games/MorrowindMods/Tools/MO2/
remote=Games/mod-organizer-2-morrowind/MO2

# files listed after the rsync command will be ignored by the rsync
# this is useful for separate configs on the 2 machines
# do NOT remove the EOF on its own line at the end, it ends the list

rsync -avh --delete --exclude-from=- --info=progress2 "$local" deckard:"$remote" <<EOF
ModOrganizer.ini
mods/Dynamic FPS Optimization/MWSE/config/gridlist.json
mods/Dynamic FPS Optimization/MWSE/config/whitelist.json
mods/v1ld Settings/MWSE/config/animationBlending.json
mods/v1ld Settings/MWSE/config/DFPSO.json
mods/v1ld Settings/MWSE/config/MWSE.json
mods/v1ld Settings/MWSE/config/seph.hudCustomizer.json
downloads
*.log
logs
nxmhandler.ini
webcache
EOF
  • The lines that start with mods above point to files that will not be synced between the 2 machines. The idea is that you can keep some configurations different between the two. So feel free to edit those sections and add or remove files depending on your own needs.
  • ModOrganizer.ini is the first file ignored because it contains the definitions of the executables you created above - MCP, MGE XE, etc. Those paths will be different between the 2 machines so you want to exclude it from being copied over each time.
  • Everything from downloads on is stuff you don't want synced.

IMPORTANT: You will need to change the location of local=/mnt/c/... to point to your Windows host's MO2 instance. This must match where you put it. And it MUST end with a / character!

Running rsync

From a WSL2 Linux terminal on your Windows host

  • Run sh rsync-MW2.sh from the folder where that file is.
  • If it's all set up correctly, only the files that differ between the 2 hosts will be copied over.
  • Run it again right away, nothing should be copied over since the 2 are in sync.
  • Sometimes it'll list a number of esp files as changed when it does the rsync - files that haven't changed. This is because MO2 resets timestamps on these files when setting the load order for Morrowind.exe. rsync looks at timestamps and sizes when figuring out what files changed so them's some conflicting behaviors. But the copy is harmless and takes no real extra time, these are small files. So just ignore it.

Run this after making changes on your "main" machine to sync the Deck to the changes.

Making the Deck use this MO2 instead of Rockerbacon's

Rockerbacon's installer sets up an MO2 instance in Games/mod-organizer-2-morrowind/modorganizer2. We're going to have that path point to our new MO2 folder while keeping that other instance around as a backup.~

  • Move the Rockerbacon MO2 instance with: mv ~/Games/mod-organizer-2-morrowind/modorganizer2 ~/Games/mod-organizer-2-morrowind/modorganizer2.rockerbacon
    • Now the original MO2 instance is at ~/Games/mod-organizer-2-morrowind/modorganizer2.rockerbacon - we'll ignore it from now on, but you have it as a backup if you need it
  • Link to the new, synced MO2 instance: ln -s ~/Games/mod-organizer-2-morrowind/MO2 ~/Games/mod-organizer-2-morrowind/modorganizer2
    • So now ~/Games/mod-organizer-2-morrowind/modorganizer2 points to your synced MO2 instance

Now, when you run MO2 from within Steam it will start up the synced MO2 instance.

Whew! A lot of work but you're all set. I play on both machines and when I make changes to my mods, I do it on the Windows machine and then sync it to the Deck.

Enjoy!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment