PearSilicon v0.7.0 — iOS apps on Apple Silicon, 64-bit and 32-bit
This release unifies the virtual-gamepad line and the 32-bit PearLegacyEngine
line into a single branch, and wires both companion projects in properly.
32-bit iOS apps (armv6 / armv7)
Pick an .ipa in the app; nothing else to install. Apps whose only slices are
armv6/armv7 are detected during install, kept byte-for-byte (no runtime
injection, no codesign, no platform patch) and run as guest code inside
PearLegacyEngine v0.7.2, bundled in this build:
PearLegacyEngine/touchHLEwith the Metal-backed ANGLE runtime
(touchHLE_dylibs/angle), so OpenGL ES 1.1/2.0 come through ANGLE onto Metal.- The ARMv7/Thumb-2 CPU backend is PearLegacyJIT (
1fc35bfd), a Dynarmic
fork tuned for Apple Silicon, instead of upstream Dynarmic. - One engine process per app, tracked through
Runtime/LegacyProcesses/<bundleID>.pid,
so the GUI, the CLI andstopsee each other's processes. - Each app keeps its guest storage in
Games/<bundleID>.
v0.7.2 fixes the Miku Flick/02 blank frames and mid-song slowdown: the
full-screen CAEAGLLayer detection was rejecting the game's 320x460 layer and
following an invisible 20x20 sublayer, so every frame presented through
glReadPixels. Present time went from as slow as 332 ms to 0.8 ms average with
a 1.3 ms worst case and no frame over the 33 ms budget. Miku Flick is playable
end to end, including the results screen.
64-bit apps
Unchanged: Mac Catalyst shims, the performance HUD, pointer lock, mouse-to-touch
fallback, the legacy Unity window fix and the opt-in keymapper, which now also
carries the virtual-gamepad work. 32-bit apps are tagged 32-bit in the
library and show Runtime: PearLegacyEngine (32-bit iOS) in the detail view.
Licensing
THIRD_PARTY_NOTICES.md documents the components: PearSilicon is MIT,
PearLegacyEngine is MPL-2.0 (a touchHLE fork, run as a separate process),
PearLegacyJIT is 0BSD (a Dynarmic fork, compiled into the engine) and ANGLE is
BSD-3-Clause. Pinned commits are listed in docs/ARCHITECTURE.md.
scripts/setup-legacy-engine.sh builds and stages the engine from source for
anyone building this checkout.
Validation
swift test: 314 XCTest (16 skipped) plus 24 Swift Testing, 0 failures.- The packaged app launches
com.sega.MikuFlick02through PearLegacyEngine
v0.7.2, which loads ANGLE from./touchHLE_dylibs/anglewith the Metal
renderer, andpearsilicon stopterminates it cleanly.
Requires macOS 26 or later on Apple Silicon.