← Back to context

Comment by frabonacci

2 days ago

Correct. Apple's licensing requires macOS to run on Apple hardware, and limits you to 2 concurrent macOS VMs per host. This is enforced by the Apple Vz framework itself. Some KVM-based solutions bypass these checks, but they aren’t compliant for production use.

There’s instead no such limitation when running Linux VMs on a macOS host.

I'm pretty sure the requirement is that the hardware is an Apple Mac, I don't remember macOS being your Hypervisor a requirement. ESXI supports running macOS on Apple Hardware (it extracts the key from the SMC).

  • That's not correct.

    See Sequoia's license. Search for 'virtualization'.

        D. Virtualization. For each copy of the Apple Software subject to a lease under this Section 3, either a Lessor or a Lessee (but not both) may install, use and run additional copies or instances of the Apple Software within virtual operating system environments in accordance with Section 2B(iii), provided that a Lessor may only virtualize a single instance or copy of the Apple Software as a provisioning tool for the purpose of providing a Lessee with access to and use of the Apple Software pursuant to this Section 3. 
    
        (Section 2B) (iii) to install, use and run up to two (2) additional copies or instances of the Apple Software, or any prior macOS or OS X operating system software or subsequent release of the Apple Software, within virtual operating system environments on each Apple-branded computer you own or control that is already running the Apple Software, for purposes of: (a) software development; (b) testing during software development; (c) using macOS Server; or (d) personal, non-commercial use.
    
    

    The key phrase is "on each Apple-branded computer you own or control that is already running the Apple Software". It needs to be both an Apple host machine and already running the Apple OS that you're virtualizing.

    • I've read that three times, and it doesn't seem to prohibit running it on a LinuxVM, as long as the hypervisor is also macOS. Specifically, you'd use macOS as the hypervisor, run a Linux guest, then use nested virtualization (which is supported recently on M3+ mac's) to run macOS on top of that Linux guest.

      Why you might ask? Because your existing tooling is already on Linux, so it's easier to manage (for whatever reason) with a semi-homogeneous control plane.