Skip to content

PearSilicon development beta

Pre-release
Pre-release

Choose a tag to compare

@denizomer10 denizomer10 released this 29 Oct 21:44
· 4 commits to development since this release

development

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, drag PearSilicon.app into /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.x releases.

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 .app directories; 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-injection loads the same full
    runtime inside the game via DYLD_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 through LC_LOAD_DYLIB.
  • Launch arguments: -ApplePersistenceIgnoreState and -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; stop waits 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 use otool/install_name_tool and 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.