Madeira is a compatibility layer that enables x86-64 Windows PC games to run on non-jailbroken iPhones by combining Wine, FEX-Emu for CPU translation, and DXMT for graphics translation into a single iOS process.
The tool solves the problem of running desktop Windows games on mobile iOS hardware by integrating three existing projects into a unified architecture. Wine provides the Windows API compatibility layer compiled for ARM64EC, FEX-Emu translates x86-64 machine code to ARM64 at runtime, and DXMT converts Direct3D 11 calls to Metal for iOS graphics. The wineserver runs as a thread within the main process rather than as a separate process, reducing overhead. JIT compilation is required for performance and must be enabled through a debugger attachment on iOS.
This project suits developers and enthusiasts interested in game portability research rather than end users seeking a polished product. The README explicitly states it is a research project with rough edges and per-title quirks, not a finished product. Some games like Thumper and ULTRAKILL are playable, while others reach gameplay at low frame rates or encounter stability issues. Installation requires a non-jailbroken iPhone with an A15 processor or equivalent, an Apple ID for code signing, and weekly rebuilds due to provisioning profile expiration. The app cannot be distributed through the App Store because JIT requires debugger attachment, so installation is by sideloading only.
Development incorporates substantial AI-assisted work in the FEX and DXMT forks, which the README explicitly notes should not be contributed upstream due to FEX-Emu's contribution policy against AI-generated code. The build system spans multiple compilation chains for Unix-side Wine libraries, ARM64EC modules, FEX, DXMT, and the iOS application itself.