Home Projects Roadmap Blog GitHub Contact
Active Homelab · Virtualisation · macOS

Hackintosh on Proxmox

Running macOS as a guest VM under Proxmox started as headless/VNC-only, since expanded into an open question about real GPU-accelerated display.

ProxmoxOpenCoremacOSGPU passthrough

Objective

Run macOS as a guest VM under Proxmox VE 9. The original scope was headless access over VNC only; the goal has since grown to include GPU passthrough for a real, directly-connected accelerated display, which is still an open decision.

Current status

The VM is built and running macOS Sequoia a pivot from the originally-planned, more Apple-services-stable release, made after the build was already under way. It's reachable over VNC/Screen Sharing today with no accelerated graphics.

GPU path provisionally chosen, not yet built. After ruling out both available NVIDIA GPUs (no macOS driver exists for either on current releases), the plan is to pass through an AMD Radeon RX 5700, which has native Metal support on Sequoia with no OS downgrade. The card hasn't been sourced yet, so this stays provisional until it's in hand and tested.

Architecture

Proxmox host → macOS VM (OpenCore bootloader, install media imported as SATA disks) → VNC / Screen Sharing for remote access

The VM shares its physical host with the AI Server Workstation project, which matters for scheduling any change that needs a host reboot.

Completed work

  • Compared a hand-built approach against two one-command community installer scripts, and chose the manual route for visibility and debuggability when something breaks which, by reputation, it usually does with Hackintosh builds.
  • Diagnosed and fixed a boot-loop specific to newer Proxmox/QEMU versions by importing install media as SATA disks rather than the older IDE-based method most existing guides still describe.
  • Turned the repeatable setup steps into a single script, fixing three environment-specific issues along the way a storage-backend mismatch, a package conflict with core Proxmox components, and a crash caused by running an installer script non-interactively none of which were visible until the script was actually run against this host.
  • Installed and booted macOS successfully, past the point of the originally-planned release.
  • Investigated GPU passthrough for real accelerated output: ruled out both available NVIDIA cards, and identified the motherboard's integrated graphics and a supported AMD card as the two credible remaining paths.
  • Provisionally chose a Radeon RX 5700 (RDNA1, natively supported on Sequoia) as the passthrough card, coordinated with the AI Server Workstation plan, which reassigns its second GPU slot from a Windows VM to this macOS VM.

Risks and open items

  • No accelerated display yet the VM runs headless over VNC only.
  • The RX 5700 isn't sourced yet. Some Radeon cards hit a known reset bug on VM restart, so the specific model needs checking before committing; integrated graphics or an older NVIDIA card with an OS downgrade remain fallbacks.
  • The shared host currently has limited spare RAM for an 8-16 GB macOS VM, so a memory upgrade is needed first.
  • Most passthrough options need a BIOS change and host reboot that would also interrupt the AI workstation project sharing the same physical host, so it needs scheduling deliberately rather than done casually.
  • Apple ID / iCloud sign-in inside any virtualised macOS is a known, only partially solvable limitation, independent of this specific build.

Next actions

  1. Source the RX 5700, then check the specific model for the reset bug and verify its IOMMU group isolation.
  2. Enable host IOMMU, batched with a planned maintenance window since the reboot also interrupts the AI inference workload on the same host.
  3. Decide whether Apple ID/iCloud access is worth chasing a workaround for.