Repository navigation
vphone 2.16.0
vphone 2.16.0
Core Bundle
- Apple Vision Pro (experimental): visionOS 26.4 (23O247) on the cloudOS 26.4 boot chain with a
visionospreset: a headless baseline with application management through the iPad compatibility environment and Irisin rootless bootstrap. Native UI, environments and 60 Hz pacing are separate opt-in patches. visionOS is not infw catalog; create it from the IPSW with--device RealityDevice14,1.vm createbuilds it without a template, as Launchpad does. (#847, #860, #880) - iPhone Duo on iOS 27.2: offered in the catalog; WebDriverAgent gets the hinge angle after boot and when started later, and VirtualAudio works on 27.2. (#826, #832)
- iPhone 16 on iOS 18.6.2 (cloudOS 26.1):
fw patchno longer stops on the cloudOS 26.1 to 26.3 TXM, the EXC_GUARD patch findsthread_guard_violationon 26.x kernels, and the guest gets a GPU from the cloudOS 18.6 driver. (#822, #829, #863) - DriverKit for virtual USB touch input on iPhone and iPad, including a
cfw patch-dt-driverkitrepair for existing machines. (#867) - Xcode and Instruments:
vm config --developer-tunnel onkeeps a guest's CoreDevice tunnel open so it is listed online, and Time Profiler symbolicates guest processes. (#833, #834) - Location:
location.servicesturns guest Location Services on and off, and the VM menu has a custom location picker. (#852, #858, #871) - Guest patches: guest apps can use local pairing (#848, #849); accurate text recognition works on iOS 27 (#850); App code keeps native TXM classification after executable remaps (#831); standalone HomePop accessibility and inherited X1 task exception actions no longer crash Duo apps on 27.1 (#844, #846); Shorebird Flutter AOT callbacks at 0x8000 are accepted (#837); an opt-in Frida patch keeps a forked child's rewritten code (#825).
- vphoned:
methods.listand result schemas for every RPC method (#841, #857);screen.screenshottakesmax_dimension,qualityandregion(#873);display.layoutand raw active-display capture for foldables (#864, #866); bounded health checks and VSOCK packets (#862, #868);process.spawncloses its pipes once and stops at its 64 KiB output limit (#874, #875); badsettings.setand handshakes get a reply (#840); userspace reboot works (#851). - iPhone 16 guests report the 1179×2556 @3x panel. (#855)
- Restore and firmware tools: a failed recovery open no longer leaves a dangling client, dyld cache reads are released after planning, and process output drains without EOF callbacks. (#853, #854, #856)
- Apple TV, HomePod mini and HomeView presets no longer turn on the iPhone DriverKit repair, which made every creation stop after the restore. (#877)
- Licenses: release artifacts carry their dependencies' notices, and Dynamic is pinned to its Apache 2.0 revision. (#869, #870)
Launchpad 2.16.0
- New Machine selects the
visionospreset for an Apple Vision Pro, so Launchpad 2.16 needs a 2.16 bundle: the minimum bundle is 2.16.0. The helper is unchanged (build 21). - Launchpad carries its license notices.
vphone-launchpad-2.16.0.zipis built by CI and not notarized; macOS blocks it the first time you open it (see Downloads). A notarized build follows.
Documentation
- The manual is now a site, lakr233.github.io/vphone-cli, in English, Simplified Chinese, Japanese and Korean, with the research notes alongside. (#817, #819, #820)
Upgrading
Install Launchpad 2.16.0 and VPhone.bundle 2.16.0 together. Templates from 2.15 are not reused. An existing machine gets the new guest patches and vphoned when its environment is updated (cfw update-environment, or Update Guest Environment in Launchpad).
Validation
The Release bundle of this tag was regression-tested on six Mac mini M4 hosts (Mac16,10) running macOS 27.2. Each machine was created from nothing from the CLI and booted twice headless; each boot checked vphoned, device.info, screenshots including the new sizing parameters, process.spawn, and the guest serial log for panics.
| Guest | Firmware | Result |
|---|---|---|
| iPhone17,3 | iOS 27.0.1 (default) | created, two boots |
| iPhone17,3 | iOS 26.6.2 | created, two boots |
| iPhone17,3 | iOS 18.6.2, cloudOS 26.1 | created with a cached cloudOS 18.6 GPU driver, two boots |
| iPhone19,4 | iOS 27.2 (default) | created, two boots |
| iPhone19,4 | iOS 27.1, machine created by 2.14.0 | booted with this bundle, cfw update-environment, booted again |
| iPad16,1 | iPadOS 27.0.1 (default) | created, two boots |
| iPad16,1 | iPadOS 26.6.2 | created, two boots |
| Watch7,18 | watchOS 26.4 (default) | research-board kernelcache linked on the host, created, two boots |
| AppleTV14,1 | tvOS 27.0 (default on macOS 27) | created, two boots |
| AppleTV5,3 | tvOS 26.6 (default) | created, two boots |
| AudioAccessory5,1 | HomePod Software 27.2 (default on macOS 27) | created, two boots |
| HomeAccessory17,1 | HomeView (default) | created, two boots |
| RealityDevice14,1 | visionOS 26.4 | created, vphoned answered at first boot, two boots without a panic; device.info and screenshots do not answer with the UI patches off |
Known issue, not new in this release: on these macOS 27.2 hosts a cloudOS 18.x restore never enters restore mode. An iPhone XS Max (iPhone11,6) iOS 18 guest cannot be created, and 2.15.2 fails the same way. An iOS 18.6.2 guest on cloudOS 26.1 needs the cloudOS 18.6 GPU driver from ~/.vphone/gpu-drivers or --gpu-driver-bundle, because recovering it restores cloudOS 18.6 in a temporary VM.
CI builds the Release VPhone scheme and Launchpad, runs bundle admission, and checks both vphone-escalator slices before attaching the files.