Kholia/OS X-KVM: Run macOS on QEMU/KVM

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • 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.

  • > without having to care about trying to do complicated things ([...] pci-passthrough of a second GPU)

    Actually, GPU passthrough is quite simple: configure host Linux to assign a virtual driver to a secondary GPU on boot and configure QEMU to use that driver on guest boot[1]. If you buy a GPU that is natively supported by macOS (e.g., Sapphire Radeon RX 580 Pulse 4GB), you get 99% performance and 100% stability of a native Mac (not a single macOS/QEMU crash in years for me).

    Actually, if you configure your QEMU mouse/keyboard to use evdev[2] (event devices), you can game under macOS/QEMU or Windows/QEMU without any input lag.

    [1] https://github.com/kholia/OSX-KVM/blob/master/notes.md#gpu-p...

  • quickemu

    Quickly create and run optimised Windows, macOS and Linux desktop virtual machines.

  • Quickemu already does this and many more operating systems too. https://github.com/quickemu-project/quickemu

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • gvt-linux

  • Not really pass through, no. If CONFIG_DRM_I915_GVT is enabled in your kernel, you can use Intel's graphics virtualization system... basically a virtio style virtual device that shares the GPU between VM and host. IMO this is way more convenient than real passthrough, where the device is only available either to the VM or the host. The downside is that you don't get full performance in the VM.

    "Intel GVT-g is a full GPU virtualization solution with mediated pass-through (VFIO mediated device framework based), starting from 5th generation Intel Core(TM) processors with Intel Graphics processors. GVT-g supports both Xen and KVM (a.k.a XenGT & a.k.a KVMGT). A virtual GPU instance is maintained for each VM, with part of performance critical resources directly assigned. The capability of running native graphics driver inside a VM, without hypervisor intervention in performance critical paths, achieves a good balance among performance, feature, and sharing capability."

    https://github.com/intel/gvt-linux/wiki/GVTg_Setup_Guide

  • linux

    Linux kernel source tree

  • Gvt-g is pretty much dead. New hardware e.g. Tiger Lake with Xe isn’t supported and it’s my understanding that Intel has no plans to support.

    See the following link for supported devices.

    https://github.com/torvalds/linux/blob/bbf5c979011a099af5dc7...

  • Docker-OSX

    Run macOS VM in a Docker! Run near native OSX-KVM in Docker! X11 Forwarding! CI/CD for OS X Security Research! Docker mac Containers.

  • Sorry for the late response, just saw this. When I did it last I just used the Docker-OSX project [1]. It should pretty much just work, the readme has a section about on running it on WSL.

    If you don't want to use Docker it should still be possible with the OSX-KVM, I've done it before, but I can't remember the exact steps I took to get it running, sorry.

    Should also note that I've run into issues with AMD CPUs, Intel seems to work better, but I also haven't tried it since they first added nested virtualization support with AMD CPUs to Hyper-V, so those problems might be fixed now.

    [1] https://github.com/sickcodes/Docker-OSX

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts