Skip to content
Greenmote
tutorial

Start here

Download Greenmote, convert your load order's grass into groundcover, enable it, and check a grass mod with unclip.

You need OpenMW with a working load order: an openmw.cfg that lists your data folders and content files. Greenmote reads it the way OpenMW does and changes nothing in it unless you ask.

Download it#

Take the archive for your system from the project page and unzip it anywhere. It holds one program, greenmote, with its README and license. There is nothing to install.

  • macOS: the builds are not notarized. If macOS will not open it, run xattr -d com.apple.quarantine greenmote in its folder, or allow it under System Settings, Privacy & Security.
  • Linux and macOS: if the shell says permission denied, chmod +x greenmote.
  • Android and PortMaster: these builds are the command line only. Everything below under “on the command line” works there.

Check which openmw.cfg it found#

Greenmote looks for openmw.cfg where OpenMW looks: next to the program, then the system location, then your user folder.

SystemYour user openmw.cfg
Linux~/.config/openmw/openmw.cfg
WindowsDocuments\My Games\OpenMW\openmw.cfg
macOS~/Library/Preferences/openmw/openmw.cfg

If you keep several profiles, name one: greenmote --openmw-cfg /path/to/profile convert, or Select OpenMW Config on the GUI’s Settings tab. A folder works as well as the file. Greenmote keeps its own settings, greenmote.toml, and its logs next to that openmw.cfg.

Convert your load order’s grass#

Morrowind, Tribunal, Bloodmoon and many mods place grass as ordinary statics. Convert collects them into a groundcover plugin.

In the GUI, run greenmote with no arguments; on Windows, double-click it. On the Convert tab, tick Dry run and press Start conversion. The output lists every static that matched and how many references each plugin contributes. Untick Dry run and start it again to write the files.

On the command line, the same two steps:

greenmote convert --dry-run
greenmote convert

A vanilla install with both expansions matches 33 statics and moves 30,916 references into groundcover. The run ends by saying where it wrote and what to enable:

Generated groundcover.omwaddon and deleted_groundcover.omwaddon in /home/you/.local/share/openmw/data
Copied 30 meshes under Meshes/grass
Wrote log to /home/you/.config/openmw/greenmote.log
Output directory is already visible to OpenMW; no data-local or data= change is needed.
Add groundcover.omwaddon as groundcover= and deleted_groundcover.omwaddon as content= in openmw.cfg.

Enable it#

Add the two lines it asks for to the end of your openmw.cfg:

groundcover=groundcover.omwaddon
content=deleted_groundcover.omwaddon

deleted_groundcover.omwaddon hides the original statics, so it loads after every plugin that placed them: the end of the load order is right. Or let Greenmote add both lines, with a backup of the cfg first: tick Auto-enable generated plugins, or run greenmote convert --auto-enable.

OpenMW only draws groundcover when it is turned on. In settings.cfg:

[Groundcover]
enabled = true

Start OpenMW. The grass is where it was, now drawn as groundcover.

Convert again whenever your load order changes: it rebuilds both plugins from scratch each time. Convert explains what it matches and writes.

Check a grass mod with unclip#

Grass mods such as Remiros’ Groundcover, Aesthesia or Fantasia are generated against one landscape. When your load order moves the ground, as Tamriel Rebuilt, a landscape overhaul or a city mod does, some of that grass floats, sinks, sits on a road or in a rock. Unclip finds it.

In the GUI, the Unclip tab lists every groundcover= plugin in your openmw.cfg, each ticked when its file is found. Untick Write changes and press Inspect only to see what would change. Tick it again and press Fix plugins: after you confirm, each checked plugin is rewritten in place, and the untouched original is kept beside it as <plugin>.greenmote-original.

On the command line, unclip only reports until you pass --write:

greenmote unclip --plugin Rem_AI.esp
greenmote unclip --plugin Rem_AI.esp --write

--plugin takes a file name OpenMW can find in your data folders, or a path to any plugin, so a grass mod you have downloaded but not enabled yet can be checked in place. The report says what it found:

Refs: 10591 matched, 7850 fine, 2361 to fix, 380 to delete, 0 skipped
  delete_inside_static             322
  delete_no_relocation             47
  delete_road                      11
  fix_ground                       1436
  fix_move                         925

Unclip explains each action, and the report each line. Unclip run again on a plugin it has fixed plans nothing.

If it stops#

  • openmw.cfg has no content files: the cfg Greenmote found is not your load order. Point it at the right one with --openmw-cfg.
  • refusing to auto-enable outputs in ...: the output folder is not one OpenMW reads. Set it as data-local, add it as data=, or write elsewhere with --output.
  • ... was generated by greenmote convert and cannot be unclipped: unclip the grass mods instead. Convert’s output is rebuilt from your load order every run, so fixes written into it would be lost.

Troubleshooting has the rest.