Madeira Runs Windows PC Games on Non-Jailbroken iPhones
Software / news
Madeira Runs Windows PC Games on Non-Jailbroken iPhones
Developer Will Faust's open-source project chains Wine, FEX-Emu and DXMT to get Cyberpunk 2077 and five other titles onto iOS, though its GPL-3.0-or-later build has to be reinstalled every seven days to dodge Apple's sideloading limit.

An open-source project called Madeira is running Windows PC games natively on non-jailbroken iPhones, chaining three existing translation tools into a single pipeline that has grown from a March side project to 725 stars and 153 forks on GitHub as of Sept. 27.
Developer Will Faust started the project in March, according to Taiwanese outlet KOCPC, which first reported on it Sept. 11 after Faust showed Cyberpunk 2077 reaching its title screen on an iPhone. The project's GitHub repository, willfaust/Madeira, was created March 7 and licenses its code GPL-3.0-or-later.
How the four-layer pipeline works
Madeira runs as a single Mach process on iOS that stacks four pieces of existing software. FEX-Emu translates a game's x86-64 instructions into ARM64. Wine, running in its ARM64EC mode, translates the Windows API calls those instructions make into calls macOS and iOS actually understand, with wineserver running as a thread inside the same process rather than as a separate one. DXMT, a separate open-source project linked from Madeira's own README, converts the game's Direct3D 11 graphics calls into Apple's Metal API. None of the three pieces was written for Madeira; Faust's contribution is making them run together inside Apple's sandbox without a jailbreak.
What is actually playable, and what breaks
KOCPC's Sept. 11 report and the project's own README describe a mixed record across the titles Faust has tested.
| Game | Result as reported |
|---|---|
| Thumper, ULTRAKILL | Run smoothly |
| Stray | Solid performance on an iPhone 17 Pro Max |
| Cyberpunk 2077 | Reaches the game screen, low frame rate |
| Marvel Cosmic Invasion | Launches, crashes occasionally |
Faust did his base development on an iPhone 13 Pro, which uses Apple's A15 chip from 2021, before testing newer titles on the iPhone 17 Pro Max that shipped in 2025. The README states plainly that this is "a research project, not a product: expect rough edges, per-title quirks and breaking changes," and warns that Madeira will never reach the App Store, since Apple does not allow x86 emulation or unauthorized game distribution in its guidelines.
The Apple workaround that expires every seven days
Running arbitrary native code on iOS without a jailbreak requires just-in-time compilation, which Apple normally reserves for its own apps and blocks everywhere else. Madeira gets around this by attaching a debugger to itself through a separate open-source tool called StikDebug, a technique that grants JIT only while the debugger stays attached. Signing the app with a free Apple ID works, according to the README, but a free account's provisioning profile expires after seven days, so anyone running Madeira has to rebuild and resideload the app weekly or lose the ability to launch it. A paid Apple Developer Program account extends that window, but the project does not distribute a signed build through any store either way.
Faust's repository has already spawned copies under other GitHub accounts running slightly different builds, a pattern common to permissively licensed emulation projects once they draw attention, though Madeira's own commit history, last updated Sept. 25, remains the active one. Whether Apple responds to a project explicitly built to route around its JIT and distribution restrictions is the open question the README does not address, and neither Faust nor Apple has said anything publicly about it. Other software has taken the opposite route to reach iOS legitimately: Google's Conversations messaging app spent 12 years inside the Google Play billing system before its developer made it free rather than fight the platform, while Madeira skips app stores altogether and accepts the weekly maintenance cost instead.
Madeira is not alone in shipping with a research-project disclaimer rather than a finished product's promises. Block's Buzz agent workspace carried the same kind of prototype label when it drew attention this month, a reminder that a GitHub star count measures curiosity, not whether the underlying software is ready for anyone besides the people already comfortable rebuilding it from source every week.
Sources
More in Software
- 01Vercel's ScriptC Compiles TypeScript Straight to Native CodeThe experimental compiler skips the JavaScript engine entirely and cut a simple server's cold start from Node's 61.78 milliseconds to 1.78 in an outside benchmark, though a WebKit contributor says its fallback path undercuts the whole idea.
- 02Valve Tests Pyrowave, an Open-Source GPU Streaming CodecThe codec, built by VKD3D-Proton developer Hans-Kristian Arntzen, trades up to 500 Mbit/s of bandwidth for latency low enough to rival a wired display, and Valve is testing it first on Windows, macOS and SteamOS handhelds.
- 03Apple Rewrites Its Tracking Prompt for Five EU CountriesBeginning with iOS 27.2, apps in Germany, France, Italy, Poland and Romania must show a reworded App Tracking Transparency prompt, after regulators in those countries fined Apple a combined 248.6 million euros or forced a settlement over the old one.
- 04Univer's Office SDK Hits 1.0 With an AI Agent ToolkitDreamNum's open-source spreadsheet-and-document engine folds six editors into one Apache-2.0 runtime, four years after the project's first commit.