Result: Virtualization.framework's loadRestoreImageFromURL method actually just reads the BuildManifest.plist and returns it over XPC. gist.github.com/zhuowei/14069e…
Me, using my previous silly project to build my new silly project:
The good news is that running WindowServer with
-virtualonly
bypasses the IOHIDSystem check and gets me to the error message
"unable to register bootstrap port com.apple.CARenderServer"
The bad news is that this means I still need to turn off Backboard/SpringBoard.
Now WindowServer crashes after "MTLDeviceArrayInitialize(): 0 Metal devices" in CA::WindowServer::IOMFBDisplay::IOMFBDisplay -> __CADeviceSupportsUniversalCompression_block_invoke -> MTLCreateSystemDefaultDevice -> WS::Displays::CAManager.
I'm not sure how to get Metal working:
iOS Metal driver uses IOGPU instead of IOServiceMatching(IOAccelerate)
so +[MTLIOAccelDevice registerDevices] is null.
Tried changing it to IOAcceleratorES; didn't work either
Also, the macOS kernel cache has no driver for the A14's GPU.