# Zeus + Poseidon on Mac and Linux [](https://github.com/nic0lasm/zeus-poseidon-arm64/releases/latest) [](#download) [](#download) [](https://github.com/nic0lasm/zeus-poseidon-arm64/actions/workflows/build.yml) [](docs/equivalence.md) [](LICENSE) **Play *Zeus: Master of Olympus* and its *Poseidon* expansion on a Mac (Apple Silicon or Intel) or on Linux: the original game, with no Windows, no Wine and no virtual machine.** *[Version française](README.fr.md)*
A large city in wide mode, and the main menu in French, both built from your own copy of the game.
## At a glance | | | |---|---| | **What it is** | The real *Zeus* + *Poseidon* (Impressions Games, 2000): the original, unmodified game code, run on a Mac. Same simulation, same rules, same save files. Not a remake. | | **Status** | Playable from start to finish. Latest version: **[1.7](https://github.com/nic0lasm/zeus-poseidon-arm64/releases/latest)** (18 October 2026). | | **Runs on** | Mac with Apple Silicon (M1 or later) or an Intel processor, macOS 11 (Big Sur) or later; Linux x86-64 and arm64. See [Download](#download). | | **You need** | Your own copy of the game, GOG edition (or Steam, [see below](#bought-it-on-steam)). This repository contains no game files ([Legal](#legal)). | | **Faithful** | Ten replayable scenarios compare every frame and the whole game state, tick by tick, with the original game. | | **Light** | A small city uses about 23 % of one core (51 to 60 % in 1.0.1). [Figures](#lighter-with-every-version). | ## How it works, in short *Zeus* is a 32-bit Windows game, and recent Macs can no longer run it. This project runs the game's **original code** inside a small sandboxed x86 emulator, and rewrites natively the Windows functions it relies on: files, window, mouse, keyboard, DirectDraw, sound and video. The hottest parts of the game (most of the city drawing, the costliest parts of the simulation) are also rewritten by hand in native code, each one proven identical to the original. [Details below](#how-it-works). ## Download | Your computer | Download | | |---|---|---| | Mac with Apple Silicon (M1 or later), macOS 11+ | **[⬇ Zeus-Poseidon-macos-arm64.zip](https://github.com/nic0lasm/zeus-poseidon-arm64/releases/latest/download/Zeus-Poseidon-macos-arm64.zip)** | available | | Mac with an Intel processor, macOS 11+ | **[⬇ Zeus-Poseidon-macos-intel.zip](https://github.com/nic0lasm/zeus-poseidon-arm64/releases/latest/download/Zeus-Poseidon-macos-intel.zip)** | available | | Linux x86-64 (Ubuntu 22.04, Debian 12, Fedora 36 or later) | **[⬇ Zeus-Poseidon-linux-x86_64.AppImage](https://github.com/nic0lasm/zeus-poseidon-arm64/releases/latest/download/Zeus-Poseidon-linux-x86_64.AppImage)** | available | | Linux arm64 (same distributions) | **[⬇ Zeus-Poseidon-linux-aarch64.AppImage](https://github.com/nic0lasm/zeus-poseidon-arm64/releases/latest/download/Zeus-Poseidon-linux-aarch64.AppImage)** | available | On macOS 11, 12 and 13 the Mac archives are built and checked for macOS 11 by the CI but not yet tried on a real Mac of those versions: if you have one, a word on [#139](https://github.com/nic0lasm/zeus-poseidon-arm64/issues/139) helps. Every version and its notes: [Releases](https://github.com/nic0lasm/zeus-poseidon-arm64/releases). ### Install and play 1. Open the downloaded zip (double-click it), then double-click **Zeus Poseidon**. 2. macOS refuses to open it the first time, because the application is not notarised by Apple. Click **Done** (or *OK*), then open **Apple menu → System Settings → Privacy & Security**, scroll down to the message about “Zeus Poseidon” and click **Open Anyway**; confirm with your password or Touch ID, then click **Open**. This is needed once only. *(Wording may differ slightly between macOS versions; on macOS 11 and 12 it is **System Preferences → Security & Privacy → General**.)* 3. Pick your GOG installer (`setup_zeus_and_poseidon_….exe`; the file picker opens in Downloads) or drop it on the application icon. It is unpacked once (about a minute, 800 MB); then play. To get it from a Mac: sign in at **GOG.com → your library → Zeus + Poseidon → Download offline backup game installers → Windows** (download the `.exe` and the `.bin` files next to it, if any). **In French?** Hold the Option key (⌥) at launch and choose *Another language, from the original CDs…*: the application builds a French pack from the images of your own CDs ([details](docs/languages.md)). **On Linux:** make the AppImage executable (`chmod +x`, or *Properties → Allow executing*) and run it. It asks for the GOG installer the same way (with zenity or kdialog if installed, otherwise in the terminal); start it with `ZEUS_ASK_LANGUAGE=1` for the language choice. ### Bought it on Steam? According to SteamDB, the Steam edition holds the same files as GOG's (same names and sizes, `Zeus.exe` included, and no Steam library), but nobody has tried it yet ([#128](https://github.com/nic0lasm/zeus-poseidon-arm64/issues/128)). - **On Linux**, install it with Steam (Proton): the application finds it by itself in your Steam libraries, nothing to pick. - **On a Mac**, Steam cannot install this Windows-only game: copy the `Zeus + Poseidon` folder from a Windows PC (`Steam\steamapps\common`), then choose it with **Folder…**. If its `Zeus.exe` is not GOG's, the application says so once and shows its checksum: please report it on [#128](https://github.com/nic0lasm/zeus-poseidon-arm64/issues/128). ## What you get - **The whole game:** the sixteen tutorials, the Zeus and Poseidon adventures, the adventure editor, gods, heroes, monsters and disasters, save and load. - **Sound and video:** music, ambience, 3D sound, effects and the intro video. - **A modern window:** window or full screen (⌘F), sharp at any size, and a wide mode fitted to your screen (pick the largest resolution in the game's display options). - **Your language:** English out of the box, French (and other editions, see [#24](https://github.com/nic0lasm/zeus-poseidon-arm64/issues/24)) built from your own CDs. - **Small comforts:** mouse wheel in lists, pause when you switch to another application, start in under a second. - **Faithful by proof:** ten replayable scenarios compare every frame and the whole game state, tick by tick, with the original game, so a change that alters a single pixel or a single number of the simulation cannot slip in ([equivalence.md](docs/equivalence.md)). ## Lighter with every version Each version moves more of the work from the emulated original to native code written by hand, each part proven identical to the original. | Measure | 1.0.1 | 1.1 | 1.2 | 1.3 | 1.4 | |---|---:|---:|---:|---:|---:| | Small city, real time on a Mac (share of one core) | 51–60 % | about 35 % | about 23 % | not measured yet ([#127](https://github.com/nic0lasm/zeus-poseidon-arm64/issues/127), anyone with a Mac) | | | Simulation tick of a large city (bench, `working-city`) | | 5.3–5.8 ms | 1.6 ms | 1.6 ms | **1.6 ms** | | City drawing kept in native code (second pass, large city) | | | 97 % of the tiles | 97 % of the tiles | **97 %** of the tiles | | Game frozen by a save (large city, real time) | | | 3.85 s | 0.33 s | **0.33 s** | | Colour conversion of a 1024×768 frame for the window | | | | 4.1 ms | **0.65 ms** | Also in 1.2: window frames in native code (10 to 12 % less CPU over the large-city and options scenarios). New in 1.3: one-line texts in native code, 7 to 9 % less CPU in real play on the large city ([#113](https://github.com/nic0lasm/zeus-poseidon-arm64/pull/113)). New in 1.4: a lighter display, 7 to 12 % less CPU with the window visible ([#131](https://github.com/nic0lasm/zeus-poseidon-arm64/pull/131)). **Engine progress:** 322 of the 4,872 functions of the GOG executable are understood (named, documented or native) and 24 are replaced whole by native code; native code does 53.2 % of the game's computation on `working-city`, plus 17.1 % in functions that are partly native. [Code map and counters](docs/engine/README.md). ## What's next The game runs on every Mac from macOS 11 and on Linux, with the GOG or the Steam edition, and is proven identical to the original. The project is now maintained rather than extended: reports from players come first, and a fix ships as a 1.7.x release ([full plan](docs/roadmap.md#after-17-review-of-24-october-2026)). What helps most now is a word from you: a report from the Steam edition ([#128](https://github.com/nic0lasm/zeus-poseidon-arm64/issues/128)), from a Mac on macOS 11 to 13 ([#139](https://github.com/nic0lasm/zeus-poseidon-arm64/issues/139)), from another language edition ([#24](https://github.com/nic0lasm/zeus-poseidon-arm64/issues/24)), or anything that goes wrong ([issues](https://github.com/nic0lasm/zeus-poseidon-arm64/issues)). Longer term, the aim stays the same: keep *Zeus* and *Poseidon* playable for as long as people want to play them. A fully native engine (2.0, no emulator, the way Julius did for *Caesar III*) is on hold; the code map, the subsystem pages in [`docs/engine/`](docs/engine/) and the bench stay ready for it. No dates are promised. ## Version history | Version | Highlights | |---|---| | [**1.7**](https://github.com/nic0lasm/zeus-poseidon-arm64/releases/tag/v1.7) | older Macs: both Mac archives run from macOS 11 (Big Sur), Intel Macs from 2013 included ([#139](https://github.com/nic0lasm/zeus-poseidon-arm64/issues/139)) | | [**1.6**](https://github.com/nic0lasm/zeus-poseidon-arm64/releases/tag/v1.6) | Mac applications unpack the GOG installer by themselves again (innoextract bundled, [#134](https://github.com/nic0lasm/zeus-poseidon-arm64/issues/134), thanks to [@MohammadBnei](https://github.com/MohammadBnei)) | | [**1.5**](https://github.com/nic0lasm/zeus-poseidon-arm64/releases/tag/v1.5) | Steam edition found by itself (Steam libraries on Linux, Flatpak and Mac); `Zeus.exe` checked at launch, with a warning for an unknown build | | [**1.4**](https://github.com/nic0lasm/zeus-poseidon-arm64/releases/tag/v1.4) | lighter display: frames copied in place and the window's texture in the renderer's format (7 to 12 % less CPU with the window visible; colour conversion 4.1 → 0.65 ms per frame) | | [**1.3**](https://github.com/nic0lasm/zeus-poseidon-arm64/releases/tag/v1.3) | saves without a pause (3.85 s → 0.33 s on a large city); Intel Mac archive (macOS 15+); Linux AppImages (x86-64, arm64); one-line texts in native code (7 to 9 % less CPU) | | [**1.2**](https://github.com/nic0lasm/zeus-poseidon-arm64/releases/tag/v1.2) | lighter: city drawing, window frames and texts in native code (small city at about 23 % of a core instead of 35 %); simulation tick of a large city about three times faster; ten scenarios proven identical to the original, tick by tick | | [**1.1**](https://github.com/nic0lasm/zeus-poseidon-arm64/releases/tag/v1.1) | first launch in fewer clicks (one-click download, picker in Downloads, no language question); taller wide modes; city ground drawn natively (small city 35 % of a core instead of about 50 %) | | [**1.0.1**](https://github.com/nic0lasm/zeus-poseidon-arm64/releases/tag/v1.0.1) | the game at its real speed (it ran at two thirds of it since 0.2); native sprite dispatcher | | [**1.0**](https://github.com/nic0lasm/zeus-poseidon-arm64/releases/tag/v1.0) | first stable version: the code of 0.9, played through by hand |