OSX-KVM README

The project's README from github.com/kholia/OSX-KVM. As one markdown file: README.md.

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:

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:

Requirements

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

Installation Preparation

Installation

Headless macOS

Setting Expectations Right

Nice job on setting up a Virtual Hackintosh system! Such a system can be used for a variety of purposes (e.g. software builds, testing, reversing work), and it may be all you need, along with some tweaks documented in this repository.

However, such a system lacks graphical acceleration, a reliable sound sub-system, USB 3 functionality and other similar things. To enable these things, take a look at our notes. We would like to resume our testing and documentation work around this area. Please reach out to us if you are able to fund this area of work.

It is possible to have 'beyond-native-apple-hw' performance but it does require work, patience, and a bit of luck (perhaps?).

Post-Installation

The "secret" Apple OSK string is widely available on the Internet. It is also included in a public court document available here. I am not a lawyer but it seems that Apple's attempt(s) to get the OSK string treated as a trade secret did not work out. Due to these reasons, the OSK string is freely included in this repository.

Please review the 'Legality of Hackintoshing' documentation bits from Dortania's OpenCore Install Guide.

Gabriel Somlo also has some thoughts on the legal aspects involved in running macOS under QEMU/KVM.

You may also find this 'Announcing Amazon EC2 Mac instances for macOS' article interesting.

Note: It is your responsibility to understand, and accept (or not accept) the Apple EULA.

Note: This is not legal advice, so please make the proper assessments yourself and discuss with your lawyers if you have any concerns (Text credit: Dortania)

Motivation

My aim is to enable macOS based educational tasks, builds + testing, kernel debugging, reversing, and macOS security research in an easy, reproducible manner without getting 'invested' in Apple's closed ecosystem (too heavily).

These Virtual Hackintosh systems are not intended to replace the genuine physical macOS systems.

Personally speaking, this repository has been a way for me to 'exit' the Apple ecosystem. It has helped me to test and compare the interoperability of Canon CanoScan LiDE 120 scanner, and Brother HL-2250DN laser printer. And these devices now work decently enough on modern versions of Ubuntu (Yay for free software). Also, a long time back, I had to completely wipe my (then) brand new MacBook Pro (Retina, 15-inch, Late 2013) and install Xubuntu on it - as the OS X kernel kept crashing on it!

Backstory: I was a (poor) student in Canada in a previous life and Apple made my work on cracking Apple Keychains a lot harder than it needed to be. This is how I got interested in Hackintosh systems.

OSX-KVM (kholia/OSX-KVM)

kvm
Searching Database…

23.7K ·GitHub
What is this?Scripts and OpenCore configuration for running macOS as a virtual machine under QEMU/KVM on a Linux host, supporting recent macOS versions such as Monterey, Ventura and Sonoma.
Is this a ready-made app or a set of scripts I run myself?Not an app: it is a set of shell scripts, boot configs and notes. You clone the repo, prepare the installer image and launch the VM with OpenCore-Boot.sh, which QEMU boots via OpenCore.
How do I go from zero to a running macOS desktop?No Mac needed: install QEMU and other packages, clone the repo, run the fetch step to get BaseSystem.dmg, convert it to BaseSystem.img, create a virtual HDD on a fast SSD, then run OpenCore-Boot.sh and install macOS.
What hardware and software does my machine need for this?A modern 64-bit Linux distro (Ubuntu 24.04 LTS or later), QEMU 8.2.2+, and a CPU with Intel VT-x or AMD SVM. SSE4.1 is needed for Sierra and later, AVX2 for Ventura and later; old AMD CPUs are problematic, but modern Ryzen works fine.
What am I giving up compared to a real Mac?Graphical acceleration, a reliable sound subsystem and USB 3 are missing out of the box. Beyond-native performance is possible but takes work, patience and a bit of luck; the repo notes cover the tweaks.
Can I run it on a headless server?Yes — use the provided boot-macOS-headless.sh script, and the networking notes explain how to set up inbound SSH or VNC access for remote use.
Can I install macOS fully offline?Yes. The README announces support for offline macOS installations and links to a document describing the OpenCore-ISO method.
Is running macOS this way legal, and is there a license?There is no license file; the author includes Apple's OSK string, arguing it is freely available via a public court document, and defers legality questions to Dortania's write-ups. Accepting (or not) the Apple EULA is your responsibility.
Can I pass my GPU through to the VM?Passthrough of GPUs and other devices is covered by dedicated notes in the repo. Caveat: modern NVIDIA GPUs only work up to High Sierra, not on later macOS versions.
What do people use these macOS VMs for?Per the author: educational tasks, software builds and testing, XNU kernel debugging, reversing and macOS security research — reproducibly and without Apple hardware. He stresses such systems are not meant to replace real Macs.
Why did the author build this?He wanted an easy, reproducible way to do macOS security research and testing without getting invested in Apple's closed ecosystem. As a poor student in Canada, Apple made his work on cracking Apple Keychains harder than needed, and Hackintosh systems became his way to exit the ecosystem.
Which macOS versions does it support?The OpenCore-Boot.sh script is described as working for all recent macOS versions, and the fetch step lets you choose which one to download. Monterey, Ventura and Sonoma are highlighted, with Catalina and Tahoe also among the supported targets in the repo topics.
Is there anyone to help if setup fails?Free support is deliberately limited: the author answers only commercial (paid) support enquiries to avoid spammy issues. Project sponsors get access to a private repository and direct support.
Creator
kholia
Size
165.2 MB
Stars
23.7K
Updated
CommitJan 26
Age
10y
Commits · 90 Days