A step-by-step guide to running NMSE (No Man's Save Editor) on Linux using Bottles, a modern graphical Wine manager.
Note: This is an interim solution. A native cross-platform version using Eto.Forms is planned - see the Cross-Platform Work Plan for details.
- Overview
- System Requirements
- Installing Bottles
- Setting Up NMSE
- Finding Your NMS Save Files
- Troubleshooting
- Bottles Configuration Reference
- Comparison: Bottles vs Direct Wine vs AppImage
Bottles is a modern, user-friendly Wine manager for Linux with a GTK4 interface. It provides:
- Graphical bottle management - create, configure, and manage isolated Wine environments
- Multiple Wine runners - choose from Wine, Soda, Caffe, and other runners
- Dependency management - install fonts, runtime libraries, and other components
- Flatpak distribution - easy, sandboxed installation
- Per-application configuration - each app gets its own environment
Bottles is ideal for Linux users who prefer a GUI over command-line Wine management.
| Requirement | Detail |
|---|---|
| Architecture | x86_64 (AMD64) |
| Distro | Any modern Linux distribution |
| Desktop | GTK4-compatible (GNOME, XFCE, Cinnamon, MATE, etc.) |
| Disk space | ~700 MB (Bottles + Wine runner + NMSE) |
# Install Flatpak if not already installed
# Ubuntu/Debian:
sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
# Install Bottles
flatpak install flathub com.usebottles.bottles- AUR (Arch/CachyOS):
paru -S bottles - AppImage: Available from the Bottles GitHub releases
- Snap:
sudo snap install bottles
- Go to https://github.com/vectorcmdr/NMSE/releases
- Download the latest
NMSE-<version>-Release.zipfile (listed under the "Latest Build" release) - Extract it to a convenient location (e.g.
~/Downloads/NMSE/)
- Open Bottles
- Click Create New Bottle (+)
- Configure:
- Name:
NMSE - Environment: "Application" (not Gaming)
- Architecture: Win64
- Name:
- Click Create
- Wait for the bottle to initialise (Bottles will download a Wine runner if needed)
- Select the NMSE bottle from the list
- Click Add Shortcuts (or the Programs section -> Add)
- Navigate to your extracted NMSE folder and select
NMSE.exe - Click Open / Add
- In the NMSE bottle, click on
NMSE.exein the programs list - Click the Play button (▶)
- NMSE will launch - first launch may take 15–30 seconds
When NMSE opens its file dialog, navigate to your save files via Wine's path mapping:
Steam (Standard Proton):
Z:\home\<username>\.local\share\Steam\steamapps\compatdata\275850\pfx\drive_c\users\steamuser\AppData\Roaming\HelloGames\NMS
Steam (Flatpak):
Z:\home\<username>\.var\app\com.valvesoftware.Steam\data\Steam\steamapps\compatdata\275850\pfx\drive_c\users\steamuser\AppData\Roaming\HelloGames\NMS
To make saves easier to find, create a symlink inside the bottle:
- In Bottles, select the NMSE bottle
- Click Browse Files (opens the bottle's
drive_cin your file manager) - Navigate to
users/<username>/Desktop/ - Open a terminal here and create a symlink:
ln -s ~/.local/share/Steam/steamapps/compatdata/275850/pfx/drive_c/users/steamuser/AppData/Roaming/HelloGames/NMS NMS-Saves - In NMSE, you can now browse to
Desktop/NMS-Savesfrom the WineC:drive
If using Bottles via Flatpak, you may need to grant filesystem access:
# Grant access to Steam saves
flatpak override --user --filesystem=~/.local/share/Steam com.usebottles.bottles
# Grant access to Flatpak Steam saves
flatpak override --user --filesystem=~/.var/app/com.valvesoftware.Steam com.usebottles.bottles- Ensure the bottle is using a 64-bit Wine runner (Win64)
- Try switching runners: Bottle settings -> Runner -> select a different one (e.g. Soda or Caffe)
- Check the Bottles log: click the Log tab in the bottle view
- In the NMSE bottle, go to Dependencies
- Install corefonts (Windows core fonts)
- Restart NMSE
- In the NMSE bottle, go to Settings
- Under Display, check Virtual Desktop and set a resolution
- Or: Go to Wine Configuration -> Graphics -> adjust DPI
# Grant Bottles access to your home directory
flatpak override --user --filesystem=home com.usebottles.bottles
# Or grant access to specific directories
flatpak override --user --filesystem=~/.local/share/Steam com.usebottles.bottles- In bottle settings, try switching Renderer from "OpenGL" to "Vulkan" or vice versa
- Enable DXVK in bottle settings (shouldn't be needed for WinForms, but can help)
- Try a different Wine runner version
A reference bottles.yml is provided at scripts/linux/bottles.yml with the recommended settings:
| Setting | Value | Notes |
|---|---|---|
| Windows Version | Windows 10 | Best .NET compatibility |
| Architecture | win64 | NMSE is a 64-bit application |
| Runner | wine-9.0+ / soda-9.0+ | Latest stable runner |
| WINEDLLOVERRIDES | mscoree=d;mshtml=d |
Disable Wine Mono/Gecko installers |
| Dependencies | None required | NMSE is self-contained |
| Feature | Bottles | Direct Wine | AppImage |
|---|---|---|---|
| Setup difficulty | Easy (GUI) | Moderate (CLI) | Easiest (just run) |
| Self-contained | No (needs Bottles + Wine) | No (needs Wine) | Yes |
| GUI management | ✅ Yes | ❌ No | ❌ No |
| Per-app configuration | ✅ Yes | Manual | N/A |
| Dependency management | ✅ Yes (GUI) | Manual (winetricks) | Bundled |
| Update management | ✅ Runner updates via GUI | Manual | Download new AppImage |
| Disk usage | ~700 MB | ~400 MB | ~300–500 MB |
| Best for | Users who prefer GUIs | Experienced Linux users | Most users |
For most Linux users, the AppImage is the simplest option. Bottles is recommended if you prefer a GUI for managing Wine environments or run other Windows applications.
See the Cross-Platform Work Plan for the full migration roadmap to a native Eto.Forms Linux application.