willfaust

Madeira

willfaust

Madeira runs Windows x86-64 PC games on an iPhone without jailbreak: games run unmodified inside a single iOS app, with FEX-Emu translating code, Wine providing Windows, and DXMT plus the in-house madeira-d3d12 rendering Direct3D to Metal.

v0.1.3
Published at
16d ago
2,459
Stars
19,604
Download
Synced at
4d ago

Latest release

v0.1.3Oct 3, 2026, 04:49 PM
Downloads slow? Switch the source anytime above

README

Project Overview

Madeira runs Windows PC games on an iPhone with no jailbreak, executing games as they are, unmodified, inside a single iOS app. It is an active research project: many games start and some play well, but performance and compatibility vary from game to game and change quickly.

The stack has four layers: FEX-Emu translates x86/x86-64 code to ARM64 at runtime; Wine 11.4 is built for ARM64EC so Wine itself runs natively and only the game's code is translated, with 32-bit games going through WoW64; DXMT implements Direct3D 9/10/11 on Metal; and the in-house madeira-d3d12 implements Direct3D 12 by converting DXIL shaders at runtime with Apple's Metal Shader Converter.

Item Value
Platform iPhone, iOS 26+
Form sideloaded IPA
Graphics DXMT (D3D9/10/11) and madeira-d3d12 (D3D12)
License GPL-3.0 or later

A Windows gaming machine squeezed into an iPhone: no jailbreak, one process, games as they are.

Key Features

  • Game library: a library with artwork and search, including a Windows desktop session
  • Steam integration: sign in, browse owned games, then install, update and launch through Valve's own Windows Steam client (Madeira Dock)
  • Steam Cloud saves: saves sync at startup and before each game, two-sided changes are never overwritten blindly and replaced files get backups
  • Controllers: Bluetooth gamepads through XInput plus customizable on-screen touch controls
  • Keyboard and mouse: keyboard, mouse and trackboard pass through to games as real input
  • Video and audio: cutscenes and music play through FFmpeg, VideoToolbox and AudioToolbox
  • Single-process design: iOS cannot spawn other programs, so even the Wine server runs as a thread

Target Audience

  • Gamers who want their Steam library on an iPhone
  • Technophiles curious about x86 translation and graphics layers
  • Advanced iOS users willing to handle sideloading and JIT setup
  • Researchers following Wine and FEX projects

Quick Start

  1. Download the IPA from the latest release
  2. Sideload it with your own Apple ID using SideStore, AltStore, Sideloadly or similar
  3. Open Madeira and enable JIT via StikDebug or the built-in StikJIT helper
  4. In Settings, confirm JIT and Memory+ both show green checks and Ready to play
  5. Sign into Steam or import local games, then install and play

Core Advantages

  • Unmodified games: no game patches, all compatibility is handled at the system layer
  • Native first: Wine runs natively as ARM64EC and only game code gets translated, cutting overhead
  • In-house D3D12: no third-party D3D12 dependency, DXIL runtime conversion is fully controlled
  • Safe saves: cloud conflicts never blind-overwrite, every replacement keeps a backup

System Requirements

Item Requirement
Device iPhone on iOS 26 or later
JIT requires an attached debugger, via StikDebug or built-in StikJIT
Sideload any Apple ID, free accounts sign for 7 days
Optional some 64-bit games need the Microsoft VC++ runtime (not bundled)

Notes

  • Research project: compatibility and performance vary by game and shift quickly, expect rough edges
  • No App Store: JIT depends on a debugger, Madeira cannot be offered there
  • Free signing expires: free Apple ID signatures lapse after 7 days and need refreshing, games and saves persist across reinstalls

Release history

Sort