Skip to content

The advanced guide for running Mac OS X / macOS on QEMU with libvirtd/Virt-Manager

License

Notifications You must be signed in to change notification settings

royalgraphx/DarwinKVM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Advanced Guide for running macOS within QEMU

Host Requirements, Host Configuration, Setting Expectations, GRUB and systemd-boot Support, Package Configuration, Bridged Networking using systemd, IOMMU Viability, x86_64 and PowerPC Support, OpenCore for Q35 as Mac Pro models, Hardware Compatibility Charts, DarwinFetch + DiskProvision, Virt-Manager XMLs, Single and Dual GPU Setup passthrough, QEMU and macOS Debugging, Fake Core Count for incompatible CPU Topologies, CPU Thread Pinning, VirtIO Thread for disk images, Motherboard Audio passthrough, Bridged Networking on Ethernet, KB/M Sharing via Evdev, Custom Memory Mapping, USB Controller Mapping, Display Overrides, sPPT / Zero-RPM Disable, Legacy NVIDIA Patching, Home of the VMHide Kernel Extension for macOS Sequoia. Welcome to DarwinKVM!



This is the git repo, Follow the Docs here!

This is NOT a Pre-Built EFI! You are responsible for creating one reading the documentation above.


macOS Sequoia

Mac Pro (2019) - MacPro7,1

15.1.1 - WX 9100 16GB - x86_64 - Credits: @athleticat

15.1 - RX 6650 XT 8GB - x86_64 - Credits: @f0xb4t

15.0 Beta 1 - RX 6600 8GB - x86_64


macOS Sonoma

Mac Pro (2019) - MacPro7,1

14.7 - RX 5700 XT 8GB - x86_64 - Credits: @Naymmmm

14.5 - RX 6600 8GB - x86_64

14.4 Beta - RX 6600 8GB - x86_64

14.3 - RX 6600 8GB - x86_64

14.2.1 - RX 6750 XT 12GB - x86_64 - Credits: @heliokroger

14.1 - RX 6800 XT 16GB - x86_64 - Credits: @haxi0

14.0 - RX 6600 8GB - x86_64


macOS Ventura

Mac Pro (2019) - MacPro7,1

13.5.1 - RX 6600 8GB - x86_64

13.5 - GTX 1050 Ti 4GB - x86_64 - Credits: @Zormeister

13.5 - RX 5600 XT 6GB - x86_64 - Credits: @rolowilde

13.4 - RX 6600 8GB - x86_64


macOS Monterey

Mac Pro (2019) - MacPro7,1

12.7.5 - RX 6600 8GB - x86_64


macOS Big Sur

Mac Pro (2019) - MacPro7,1

11.7.10 - VESA / VGA Graphics - x86_64

11.0.0 - Developer Preview 1 (20A4299v) - VESA / VGA Graphics - x86_64


macOS 10.16

Mac Pro (2019) - MacPro7,1

AppleInternal GoldenGateSpike (20A2314a) - VESA / VGA Graphics - x86_64


macOS Catalina

Mac Pro (2019) - MacPro7,1

10.15.7 - VESA / VGA Graphics - x86_64


macOS Mojave

Mac Pro (2010) - MacPro5,1

10.14.4 - VESA / VGA Graphics - x86_64


macOS High Sierra

Mac Pro (2010) - MacPro5,1

10.13.6 - GTX 470 1280MB


macOS Sierra

Mac Pro (2010) - MacPro5,1

10.12.5 - AppleInternal Phoenix (16F5049f) - GTX 470 1280MB

10.12 - VESA / VGA Graphics - x86_64


Mac OS X El Capitan

Mac Pro (2010) - MacPro5,1

10.11.6 - VESA / VGA Graphics - x86_64


Mac OS X Yosmite

Mac Pro (2010) - MacPro5,1

10.10 - VESA / VGA Graphics - x86_64


Mac OS X Mavericks

Mac Pro (2010) - MacPro5,1

10.9.5 - VESA / VGA Graphics - x86_64


Mac OS X Mountain Lion

Mac Pro (2010) - MacPro5,1

10.8.5 - VESA / VGA Graphics - x86_64


Mac OS X Lion

Mac Pro (2010) - MacPro5,1

10.7.5 - GTX 470 1280MB - x86_64


Mac OS X Snow Leopard

Mac Pro (2010) - MacPro5,1
Xserve Xeon (2009) - Xserve3,1
Mac mini (2009) - Macmini3,1
PowerMac G4 AGP (1999) - PowerMac3,1

10.6.8 - ATI Radeon HD 5450 2GB - x86_64

10.6.8 Server - ATI Radeon HD 5450 2GB - x86_64

10.6.2 - AppleInternal Factory (10C540) - ATI Radeon HD 5450 2GB - i386

10.6 - Developer Preview 1 (10A190) - PowerPC


Mac OS X Leopard

Mac Pro (2009) - MacPro4,1
Mac Pro (2008) - MacPro3,1
PowerMac G4 AGP (1999) - PowerMac3,1

10.5.8 - VESA / VGA Graphics - i386

10.5.4 - VESA / VGA Graphics - PowerPC

10.5 Server - VESA / VGA Graphics - i386


Mac OS X Tiger

Mac Pro (2007) - MacPro2,1
Mac Pro (2006) - MacPro1,1
Apple Developer Transition Kit (2005) - ADP2,1
PowerMac G4 AGP (1999) - PowerMac3,1

10.4.11 - VESA / VGA Graphics - i386

10.4.11 Server - VESA / VGA Graphics - i386

10.4.11 - VESA / VGA Graphics - PowerPC

10.4.7 - VESA / VGA Graphics - i386

10.4.1 - Apple DTK Build 8B1025 - VESA / VGA Graphics - i386


Mac OS X Panther

PowerMac G4 AGP (1999) - PowerMac3,1

10.3 - VESA / VGA Graphics - PowerPC


Mac OS X Jaguar

PowerMac G4 AGP (1999) - PowerMac3,1

10.2 - VESA / VGA Graphics - PowerPC


Mac OS X Puma

PowerMac G4 AGP (1999) - PowerMac3,1

10.1 - VESA / VGA Graphics - PowerPC


Mac OS X Cheetah

PowerMac G4 AGP (1999) - PowerMac3,1

10.0.3 - VESA / VGA Graphics - PowerPC





Need Help?


If you run into any issues, you can join the DarwinKVM Discord server! Feel free to ping the @Helpers role within a help channel for support. Hexley provides our discord users with a multitude of commands to assist anyone who may need specific actions performed. Such features that Hexley offers aim to speed up the process with command such as:

/genplatinfo - Generates PlatformInfo for a given Mac model
/checkcoverage - Allows to get a serial numbers Coverage status
/pci - Find PCI devices by vendor ID and device ID.
/usb - Find USB devices by vendor ID and device ID.
/link - Quickly link a URL for someone.
/time - Displays the time of a given user.

Contributing to the Documentation


If you have any changes or improvements you'd like to contribute for review and merge, to update misinformation or outdated information, as well as maybe even adding whole new pages, you can follow the general outline below to get a local copy of the documentation running.

Instructions written for macOS hosts but is adoptable to other OSs.

  1. Install/Update brew

  2. Install/Update ruby

    • Once brew is installed, you can run brew install ruby in your terminal.
    • If using ZSH (any recent versions of macOS) Be sure to read the post install text as it suggest you should run the following command to export to PATH:
      • echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc
      • Restart Terminal for changes to apply.
  3. Install/Update gem and bundler

    • Run gem update in your terminal window.
    • Run gem install bundler in your terminal window.
  4. Fork DarwinKVM, git clone your fork, navigate to Docs directory.

  5. Installing Docs dependencies, and running the server.

    • Run bundle install in your terminal window.
    • Running bundle exec jekyll serve --incremental will build and run a live copy of the DarwinKVM docs on port 4000 by default.
    • To change the port, you can specify the IP address and port to run on, allowing local mobile devices to also connect and preview DKVM Docs.
      • bundle exec jekyll serve --host YOUR_IP_ADDRESS --port PORT --incremental

You'll now be able to see the changes you make update live so you can work quickly and preview the final look of your Markdown files easily. Once you are done making your changes you can then proceed to submit a Pull Request for review, and eventual merge to Main.

A big thanks to all contributors and future contributors! ꩓