📈 GH Trending Explorer 🎲 Surprise me

← all repos

willfaust / Madeira

git clone https://github.com/willfaust/Madeira.git v0.1.3 · 17d ago 🔥 on GitHub Trending today

Run x86-64 Windows PC games on jailed iOS via FEX-Emu + Wine + DXMT

—
stars, 24h
—
stars, 7 days
+2.2k
stars, 30 days · #145
2.6k
★ total
339
forks · 159 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageC
LicenseGPL-3.0
Created2026-03-07 (7mo ago)
Last push6d ago
Watchers25
OwnerUser

Seen on GitHub Trending

  • 2026-10-20 — #2 monthly in c · +2,236 ★

Links

README excerpt
Madeira runs Windows PC games on an iPhone, with no jailbreak. Games run as they
are, unmodified, inside a single iOS app.
> [!NOTE]
> Madeira is an active research project. Many games start and some play well,
> but performance and compatibility vary from game to game, and things change
> quickly. Expect rough edges.
## How it works
| Layer | What it does |
|---|---|
| **FEX-Emu** | Translates the game's x86 and x86-64 code to ARM64 as it runs. |
| **Wine** 11.4 | Provides Windows. It is built for ARM64EC, so Wine itself runs natively and only the game's own code is translated. 32-bit games run through WoW64. |
| **DXMT** | Draws Direct3D 9, 10 and 11 with Metal. |
| **madeira-d3d12** | Madeira's own Direct3D 12 implementation on Metal, converting DXIL shaders at run time with Apple's Metal Shader Converter. |
iOS apps cannot start other programs, so everything runs in one process: even
Wine's server runs as a thread instead of a separate program.
## Features
- **Game library** with artwork, search and a Windows desktop session.
- **Steam**: sign in, browse the games you own, install and update them, and
 start them through Valve's own Windows Steam client (Madeira Dock).
- **Steam Cloud saves**: saves sync with Steam Cloud when Madeira starts and
 before a game starts, and **Upload saves and close Madeira** in the game
 menu sends them when you stop playing. Saves that
 changed on both sides are never overwritten without asking, and anything a
 sync replaces is backed up.
- **Controllers**: Bluetooth controllers through XInput, plus customisable
 on-screen touch controls.
- **Keyboard, mouse and trackpad** passed through to games as real input.
- **Video and audio** for cutscenes and music, through FFmpeg, VideoToolbox and AudioToolbox.
## Requirements
- An iPhone on **iOS 26 or later**, the only version Madeira currently runs
 on reliably. Development happens on recent Pro iPhones.
- **JIT**, which iOS only allows while a debugger is attached. Madeira can use
 StikDebug or its built-in StikJIT
 helper. On iOS 27 the built-in helper can pair the iPhone itself, without a
 computer.
- An **Apple ID** to sideload the app. A free account works; its signing
 expires after 7 days, so the app needs refreshing weekly. Your games and
 saves are kept across reinstalls.
Because JIT needs a debugger, Madeira cannot be offered on the App Store.
## Installing
1. Download the IPA from the latest release.
2. Sideload it with your own Apple ID using SideStore, AltStore, Sideloadly,
 Plume or a similar tool.
3. Open Madeira and enable JIT. Automatic mode uses StikDebug when installed,
 otherwise it guides you through the built-in setup; see
 JIT setup.
4. In **Settings**, check that **JIT** and **Memory+** both show a green check:
 Madeira then says **Ready to play**.
Some 64-bit games need Microsoft's Visual C++ runtime, which is not included
(see Licensing).
## Building from source
 [code] 
`FEX`, `wine`, `dxmt` and `madeira-dock` are submodules that point at