kholia /OSX-KVM

Run macOS on QEMU/KVM. With OpenCore + Monterey + Ventura + Sonoma support now! Only commercial (paid) support is available now to avoid spammy issues. No Mac system is required.

★ 23,808⑂ 2,039
ShellCreated 2015-11-06
23,808
stars
+18+19+102
2,039
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions

README

Note

This README.md documents the process of creating a Virtual Hackintosh
system.

Note: All blobs and resources included in this repository are re-derivable (all
instructions are included!).

:green_heart: Looking for commercial support with this stuff? I am available
over email for a chat for commercial support options only. Note: Project sponsors get access to the Private OSX-KVM repository, and direct support.

Struggling with Content Caching stuff? We can help.

Working with Proxmox and macOS:
- See Nick's blog for sure
- Here’s a more up-to-date version for Proxmox OpenCore-ISO

Yes, we support offline macOS installations now - see this document 🎉


 Contributing Back

This project can always use your help, time and attention. I am looking for
help (pull-requests!) with the following work items:

 Documentation around running macOS on popular cloud providers (Hetzner, GCP,
  AWS). See the Is This Legal? section and associated references.

 Document (share) how you use this project to build + test open-source
  projects / get your stuff done.

 Document how to use this project for XNU kernel debugging and development.

 Document the process to launch a bunch of headless macOS VMs (build farm).

 Document usage of munki to deploy software
  to such a build farm.

 Enable VNC + SSH support out of the box or more easily.

 Robustness improvements are always welcome!

 (Not so) crazy idea - automate the macOS installation via OpenCV.


 Requirements

 A modern Linux distribution. E.g. Ubuntu 24.04 LTS 64-bit or later.

 QEMU = 8.2.2

 A CPU with Intel VT-x / AMD SVM support is required (grep -e vmx -e svm /proc/cpuinfo)

 A CPU with SSE4.1 support is required for = macOS Sierra

 A CPU with AVX2 support is required for = macOS Ventura

Note: Older AMD CPU(s) are known to be problematic but modern AMD Ryzen
processors work just fine (even for macOS Sonoma).


 Installation Preparation

 Install QEMU and other packages.

  
  sudo apt-get install qemu-system uml-utilities virt-manager git \
      wget libguestfs-tools p7zip-full make dmg2img tesseract-ocr \
      tesseract-ocr-eng genisoimage vim net-tools screen -y
  

  This step may need to be adapted for your Linux distribution.

 Clone this repository on your QEMU system. Files from this repository are
  used in the following steps.

  
  cd ~

  git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.git

  cd OSX-KVM
  

  Repository updates can be pulled via the following command:

  
  git pull --rebase
  

  This repository uses rebase based workflows heavily.

 KVM may need the following tweak on the host machine to work.

  
  sudo modprobe kvm; echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs
  

  To make this change permanent, you may use the following command.
  Use lscpu if you are not sure.

  
  sudo cp kvm.conf /etc/modprobe.d/kvm.conf   for intel boxes only

  sudo cp kvm_amd.conf /etc/modprobe.d/kvm.conf   for amd boxes only
  

 Add user to the kvm and li

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON