Skip to content

romanonthego/settlers-4-mac

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Settlers 4 Gold — macOS Wrapper

Run The Settlers IV Gold Edition (GOG) on macOS, including Apple Silicon (M1/M2/M3/M4).

This wrapper solves the "Error initializing Graphic Interface" crash that affects Settlers 4 under Wine on macOS. It uses cnc-ddraw to replace the broken DirectDraw implementation with one that works under Wine's macOS graphics stack.

Requirements

  • macOS 11+ (tested on macOS 15 / Apple Silicon)
  • Homebrew
  • A licensed copy of The Settlers IV Gold Edition from GOG

Quick Start

git clone git@github.com:romanonthego/settlers-4-mac.git
cd s4

# Copy your GOG game files into the game/ directory
cp -R "/path/to/Settlers 4 Gold" ./game

# Run setup (installs Wine, creates prefix, downloads cnc-ddraw)
./setup.sh

# Play
./run.sh

What setup.sh Does

  1. Installs wine-crossover via Homebrew (if not present)
  2. Checks for Rosetta 2 (required for x86 translation on Apple Silicon)
  3. Creates a local Wine prefix in ./wineprefix/ (portable, self-contained)
  4. Downloads cnc-ddraw and installs it into the game directory
  5. Configures windowed mode with free mouse and full resolution list

No game files are included or distributed. You must supply your own licensed GOG copy.

How It Works

Settlers 4 is a 32-bit Windows DirectDraw game from 2001. On macOS, the translation chain is:

S4_Main.exe → cnc-ddraw (DirectDraw → OpenGL) → Wine (Win32 → macOS) → Rosetta 2 (x86 → ARM)

The core problem is that Wine's built-in DirectDraw implementation fails to initialize graphics on macOS — both software and hardware 3D renderers crash with "Error initializing Graphic Interface". This is a known issue with no existing macOS-specific fix.

cnc-ddraw replaces Wine's DirectDraw with a purpose-built implementation that renders via OpenGL/GDI, which Wine on macOS handles correctly. The WINEDLLOVERRIDES="ddraw=n,b" environment variable tells Wine to use cnc-ddraw's ddraw.dll instead of its own.

Game File Location

If you installed via GOG on a Whisky bottle, your game files are typically at:

~/Library/Containers/com.isaacmarovitz.Whisky/Bottles/<ID>/drive_c/GOG Games/Settlers 4 Gold

The game/ directory should contain S4.exe and an Exe/ subfolder with S4_Main.exe.

Configuration

Resolution

Change resolution in-game via the settings menu. The full resolution list is available (up to 1280x1024).

You can also edit game/Config/GameSettings.cfg:

Screenmode = 1   # 800x600
Screenmode = 2   # 1024x768
Screenmode = 3   # 1280x1024

cnc-ddraw Settings

The wrapper adds a [S4_Main] section to game/Exe/ddraw.ini:

[S4_Main]
nonexclusive=true
adjmouse=true
windowed=true
devmode=true
width=0
height=0
resizable=true
resolutions=2

Key settings:

  • windowed=true — run in a window instead of fullscreen
  • devmode=true — mouse is not captured (move freely between game and desktop)
  • resolutions=2 — expose full resolution list to the game

To lock the mouse inside the window, set devmode=false.

Fullscreen

To run fullscreen, set windowed=false in the [S4_Main] section of game/Exe/ddraw.ini.

Troubleshooting

Game shows black screen or crashes on launch

Make sure setup.sh completed successfully. Check that game/Exe/ddraw.dll is the cnc-ddraw version (not the original). The original is backed up as ddraw.dll.orig.

No sound

Wine's audio usually works out of the box on macOS. If you have issues, check that your audio output device is active before launching the game.

Game runs too fast or animations flicker

Edit game/Exe/ddraw.ini and set maxgameticks=60 in the [S4_Main] section.

Window size jumps during loading

Set width=1024 and height=768 (or your preferred size) and resizable=false in the [S4_Main] section.

Want to use hardware rendering

In game/Config/GameSettings.cfg, set LandscapeHardware=1 and ObjectHardware=1. This may cause visual artifacts under Wine — software rendering is recommended.

Project Structure

s4/
├── setup.sh          # One-time setup script
├── run.sh            # Launch script
├── game/             # Your GOG game files (gitignored)
├── wineprefix/       # Wine environment (gitignored, created by setup.sh)
├── .cache/           # Downloaded files (gitignored)
├── README.md
├── LICENSE
└── CLAUDE.md

Credits

License

MIT — see LICENSE. This applies to the wrapper scripts and configuration only. The Settlers IV is property of Ubisoft. Game files are not included.

About

The Settlers IV Gold Edition (GOG) on macOS — Wine wrapper with cnc-ddraw fix for Apple

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages