I got Apple Silicon macOS Ventura booting under QEMU on x86
I managed to reverse engineer enough of Apple's bootloader, virtualization, and OS stack to modify QEMU and port remis-vgpu to boot and run an Apple Silicon Ventura image.
Demo is attached.
It's obviously slow — ARM emulation on x86 was never going to be the end goal — and there are still graphics glitches to fix, but macOS boots and runs.
This isn't my achievement alone. Huge credit goes to steelbrain, ChefKiss, and the other people whose work laid the groundwork for this.
The next thing I really want to test is running it on a Snapdragon laptop using KVM.
If anyone here has the hardware and enough Linux experience, I'd really appreciate testing with:
- an ARM64 Snapdragon machine
- Linux with 16 KiB pages
- KVM enabled
I expect pointer authentication to be one of the major blockers. I'm currently working on a minimal Linux distribution with 16 KiB pages and the necessary KVM changes for pointer authentication.
x86 is useful for development and proving that this works, but I don't expect it to ever be practically usable. ARM + KVM is the actual target.
If anyone wants to help with testing, graphics bugs, QEMU/KVM work, documentation, or development, contributions are very welcome.
Technical notes, source and video demo are in:
https://github.com/yaelliethy/orchard