Product Introduction
- Definition: Madeira is an open-source iOS application and compatibility layer stack that enables the execution of x86-64 Windows PC games on non-jailbroken iPhones and iPads. It is a technical integration project combining several emulation and translation technologies into a single Mach-O binary.
- Core Value Proposition: Madeira exists to solve the problem of iOS's locked-down ecosystem for gamers, allowing direct access to a Windows game library on Apple mobile devices without requiring a jailbreak, remote streaming, or cloud gaming services.
Main Features
- FEX-Emu Integration: At its core, Madeira uses FEX-Emu, a high-performance userspace x86-64 to ARM64 CPU emulator. This component dynamically translates x86-64 game instructions to run natively on Apple's ARM-based A-series and M-series chips, handling complex CPU semantics and system calls.
- Wine (ARM64EC) Runtime: Instead of a full Windows OS, Madeira utilizes a modified version of Wine (Wine Is Not an Emulator) compiled for ARM64EC. This provides the Windows API compatibility layer, allowing Windows games to think they are running on a Windows system. Critically, the
wineserverruns as a thread within the main iOS app process, adhering to iOS's strict process sandboxing rules. - DXMT for Graphics Translation: For Direct3D 11 graphics support, Madeira incorporates DXMT, a translation layer that converts D3D11 API calls to Apple's Metal graphics API. This enables modern Windows games with DirectX 11 requirements to render graphics on iOS's Metal-driven GPU hardware.
Problems Solved
- Pain Point: iOS's restrictive security sandbox and lack of native x86 or DirectX support completely prevent running standard Windows PC games. Traditional solutions like jailbreaking void warranties and compromise security, while streaming services introduce latency and require a constant high-bandwidth connection.
- Target Audience: The primary audience is mobile gaming enthusiasts and tinkerers who own iPhones/iPads and want to run their existing Windows game library locally. Secondary users include developers and researchers interested in mobile emulation, binary translation, and compatibility layer technologies on iOS.
- Use Cases: Essential for playing specific, compatible Windows games (like Thumper or ULTRAKILL as proven) directly on an iPhone during travel or in situations without reliable internet for streaming. It serves as a research platform for pushing the boundaries of local game emulation on non-jailbroken iOS.
Unique Advantages
- Differentiation: Unlike cloud gaming (Xbox Cloud, GeForce Now) or remote play (Steam Link), Madeira runs games locally on the device, eliminating streaming latency and data usage. Compared to other local emulation attempts, its integration of FEX-Emu, Wine-ARM64EC, and DXMT into a single iOS app process for non-jailbroken devices is a novel architectural approach.
- Key Innovation: The primary innovation is the cohesive bundling of the entire stack—CPU emulator (FEX), Windows compatibility layer (Wine), and graphics translator (DXMT)—into a single iOS app that complies with Apple's App Store code signing and sandboxing requirements, albeit requiring a debugger (JIT) for sideloading. The threading of
wineserveris a specific workaround for iOS process limitations.
Frequently Asked Questions (FAQ)
- Can I install Madeira from the iOS App Store? No, Madeira cannot be distributed on the App Store because it requires Just-In-Time (JIT) compilation, which on iOS needs a debugger attachment (like via Sideloadly or a developer certificate). It must be sideloaded onto the device.
- What are the system requirements for Madeira on iPhone? You need a non-jailbroken iPhone (tested on A15 chip/iPhone 13 Pro), a free Apple Developer account for signing, a tool to enable JIT (e.g., a debugger), and to manually supply Microsoft Visual C++ runtime DLLs as they are not included in the distribution.
- Is Madeira legal to use for playing Windows games? Madeira itself is open-source software. The legality depends on you owning a legitimate license for any game you run through it, as with any compatibility layer. It does not circumvent game DRM or copy protection itself.
- How does Madeira's performance compare to a Windows PC? Performance is significantly lower than native PC hardware due to the overhead of x86-64 to ARM64 CPU emulation and D3D11 to Metal translation. It is a research project, and currently only specific, less demanding 2D or indie 3D games are playable, often at low frame rates.
- Do I need to reinstall Madeira frequently? Yes, if using a free Apple Developer account, the provisioning profile expires every 7 days. The app must be rebuilt and reinstalled weekly, though the app's container data (game prefixes and saves) persists through reinstallations.