Repository navigation
PearSilicon development beta
Pre-releasedevelopment
This is the development beta: the newest reviewed build from the
development branch, published for testing before it becomes a stable v0.x
release. This top section is fixed and stays the same across updates.
- Branch:
development— continuously updated, not a stable release. - Install: download
PearSilicon.zip, unzip it, dragPearSilicon.appinto/Applications. - Requires: macOS 26 or later on Apple silicon (arm64).
- Community: Discord — questions, help and compatibility reports.
- Behavior and APIs may change between development updates. Stable builds are the
v0.xreleases.
How updates work: this release is refreshed in place — the section below is rewritten
each time with the newest tested version, while the development section above stays fixed.
Last tested version
development beta · e88973d · tested 2026-10-30
These checks were recorded for the e88973d artifact. Source and documentation
changes after that commit are not included in its ZIP; this table is not a new
validation run.
| Area | Recorded result and scope |
|---|---|
| Swift test suite | 106 tests, 0 failures (1 skipped) |
| Runtime build (Mac Catalyst) | Build passed |
| Host/KV IPC smoke suite | Passed headless protocol/state checks |
| Device profile smoke suite | Passed headless profile checks |
| Game process smoke checks | Five short background startup/aliveness/stop checks (~12 seconds each): Cut the Rope, Run Sackboy, Candy Crush Soda, Wreckfest and Blitz |
| CLI IPA install → list → prepare → uninstall | Passed with a real AIDA64 IPA; the temporary install was removed afterwards |
| GUI background startup | Started, stayed alive and shut down; no GUI interaction or drag-and-drop automation |
| Storage/location/relocation tests | 12 focused tests; not an actual external-volume or live-save migration |
Compatibility scope: process smoke checks do not validate gameplay, touch
coordinates, rendering correctness, content downloads, login/date-entry flows,
FPS or latency. A CLI installation check is not a GUI installation test. These
results do not establish that every listed game is playable; Brawl Stars was not
validated by these checks.
What is in this build
- IPA drag & drop: the GUI has an IPA archive installation path. Use the CLI
for iOS device.appdirectories; the GUI does not currently route those to
the directory installer. GUI drop/install interactions were not tested end to end. - Experimental storage relocation: copies managed apps/runtime data, keymaps,
ODR packs, local keychain data and logs to a selected root, rebases installed
app paths, and retains the previous copy. Some settings/native-container data
can remain outside that root. Use Settings → Storage location or
pearsilicon storage move <folder>. - Experimental host-service split:
--env-injectionloads the same full
runtime inside the game viaDYLD_INSERT_LIBRARIES. A separate host owns only
local KV backing state and static device-profile configuration; API hooks,
UIKit integration, rendering/input/audio hooks and keychain remain in-process.
Default installations load the runtime throughLC_LOAD_DYLIB. - Launch arguments:
-ApplePersistenceIgnoreStateand-NSQuitAlwaysKeepsWindows
are no longer passed. A Candy Crush Soda probe reproduced startup exit with
either argument; that does not establish the same cause for other games. - Stop handling: reports process state and escalates termination for games
that do not stop gracefully.
Architecture and performance
PearSilicon prepares installed Mach-O copies for Mac Catalyst (platform 6)
and uses Apple's /System/iOSSupport frameworks, including UIKit, plus its own
in-process runtime shims. It is not an independent Wine/Proton-style iOS API
reimplementation. MetalLayerShim adjusts existing Metal setup; it does not
replace the renderer. Installed app copies are modified and re-signed even in
environment-injection mode; source IPAs are unchanged.
There are no controlled benchmarks here establishing lower RAM/CPU use, higher
FPS or lower latency than PlayCover. A separate host also has overhead and must
be included in whole-process-tree measurements. This is not kernel-level iOS
emulation or a security sandbox for untrusted apps.
Known limitations
- Wreckfest can take a while to shut down;
stopwaits and can escalate to a kill. - Launch relocated apps through PearSilicon. Direct Finder launches do not infer
the selected root and may use default data paths or lack the environment-injected
runtime. Backup saves and test the destination before deleting the old copy. - Copy verification compares non-app regular-file sizes and installed-app counts,
not content hashes. Native-container copying, changed mount paths and external
volumes have not been validated end to end; no blanket data-preservation or
unavailable-disk safety guarantee is made. - The prebuilt GUI opens without Xcode/Command Line Tools, but some app preparation
and relocation paths useotool/install_name_tooland require Command Line Tools.
A complete tool-free install/play workflow on a clean Mac has not been validated. - This build is ad-hoc signed, not Developer ID-signed or notarized; downloads may
require explicit Gatekeeper approval.
Questions or a game that does not start? Ask on Discord and
include pearsilicon doctor output.