macOS in QEMU in Docker
Project overview & capabilities
- Runs macOS inside QEMU, which is wrapped in a Docker container.
- Offers VNC and X11 options for display; should work on Linux desktops (including Wayland) via VNC or X11 forwarding.
- Can run Xcode and the iOS simulator; people report it works but is slow and storage‑heavy.
- Some use it for cross‑platform builds, Safari testing, and building/running iOS apps (including on real devices via USB forwarding).
Performance, hardware, and virtualization
- Expect slow performance compared to native Macs, especially with full CPU emulation or on non‑Apple hardware.
- Nested setups (Docker on macOS → Linux VM → QEMU → macOS) are seen as wasteful versus running a plain VM.
- GPU acceleration is effectively unavailable except via PCIe passthrough of specific AMD dGPUs or older Intel iGPUs; no support for modern Nvidia and no Apple GPU passthrough.
- AMD hosts are possible but more fragile; some macOS software and hypervisors don’t work cleanly on AMD, and virtualization on AMD hackintoshes is particularly problematic.
Apple Silicon and future macOS
- Current images are x86‑64 only. Apple Silicon macOS emulation on non‑Apple hardware is considered far off.
- On Apple Silicon Macs, Apple’s Virtualization framework–based tools (UTM, Tart, VirtualBuddy, Viable) can run ARM macOS, but with limitations: historically no Apple ID/iCloud in guests (improved in newer macOS), limited version support (e.g., Big Sur ARM guests unclear), and sometimes no nested virtualization.
Licensing and legal concerns
- Multiple comments note that redistributing macOS images and running macOS on non‑Apple hardware violates the EULA and likely infringes copyright.
- Others argue Apple mostly targets commercial violators (e.g., selling prebuilt hackintoshes) and has ignored hobbyist use for years.
- Debate over enforceability: some think EULAs are weak; others point out copyright law applies regardless. Consensus: the Docker images that bundle macOS are the most exposed.
Account, iCloud, and iMessage issues
- iMessage and some iCloud services rely on hardware identifiers; fake IDs used here can trigger Apple’s anti‑abuse systems and harm an Apple ID’s reputation.
- Advice: don’t use a primary iCloud account in such VMs.
Tooling, Dockerfiles, and security
- Some criticize the Dockerfiles for fetching scripts and repos at build time, complicating reproducibility, offline builds, and supply‑chain security.
- Others see this as normal “churn” in DevOps and argue that hardened, reproducible builds are better handled by major distro/enterprise tooling.