Live data from Hacker News

OS X-KVM: Running Mac OS X El Capitan on KVM and QEMU

github.com

1–10 of 96 posts

Re: OS X-KVM: Running Mac OS X El Capitan on KVM and QEMU

#3
post #2

Does this support 3D hardware acceleration? That seems to be a common problem for these types of setups.

Hardware acceleration can be done using PCI passthrough to pass your graphics card on to the guest OS. IOMMU and VFIO are two terms I commonly see associated with this, but having never done it myself I am not sure what the difference between them is - perhaps someone can chime in?

Re: OS X-KVM: Running Mac OS X El Capitan on KVM and QEMU

#4
post #2

Does this support 3D hardware acceleration? That seems to be a common problem for these types of setups.

AFAIK the only way to achieve this is to pass-through a GPU via VT-d. This config does not appear to support this though. If you search github for this line, you will find other configs that support doing this- https://github.com/kholia/OSX-KVM/blob/master/macOS-libvirt....

Edit: It's relatively easy- blacklist (or uninstall) GPU drivers from host machine, and pass the PCI address to qemu. Performance is not perceptibly different from native. Other things you probably want to do are enable hugepages, pin virtual cpus to physical cores, and use vfio for network- https://github.com/pmj/virtio-net-osx.

It's also possible to run boot OSX using UEFI mode, which removes the need for the binary blobs in this repo.

Re: OS X-KVM: Running Mac OS X El Capitan on KVM and QEMU

#5
post #2

Does this support 3D hardware acceleration? That seems to be a common problem for these types of setups.

The script seems to use qemu's default VGA graphics chip. I'm not sure whether you can get anything faster to work, given Apple's limited graphics driver support.

Re: OS X-KVM: Running Mac OS X El Capitan on KVM and QEMU

#7
I tried doing this the other day, hoping that I would finally be able to get a working OSX setup on my desktop (have made several attempts with no success at getting it working bare-metal on my Z600). Sadly it just ended with more kernel panics, something I was hoping would be avoided as I got the impression from some sources that QEMU was a more straightforward solution than trying to run it on bare-metal.

Having said that, I've been getting more and more frustrated with OSX (had a great experience with Leopard on a PowerBook G4, and my 2013 MacBook Air is easily the best laptop I've owned, however personally I don't care for the direction that they are taking OSX these days), and ended up using it as an excuse to update to the latest version of elementary OS, which certainly isn't without its teething problems.

Re: OS X-KVM: Running Mac OS X El Capitan on KVM and QEMU

#8
That is pretty impressive. I spent hours upon hours getting OS X to run on a Linux host in KVM and QEMU. Eventually I did get it to work, but things like Messages.app had no chance of working. That was actually my goal - to create my own little Messages API so that I could send automated messages to myself. I ended up just scripting Messages.app on a real Mac and that works really well, even 2 years after. I remote control my house that way.

Re: OS X-KVM: Running Mac OS X El Capitan on KVM and QEMU

#9
post #6

Is it possible to run several OS' on a single machine with fast switching between them, access to all hardware, and at full or almost full speed?

Using Vmware, and passthrough for the videocard you can achieve this with Linux as the host and Windows as the guest.

Not sure if it's possible with OSX.

What we really need are video drivers for OSX, for virtualbox and/or other virtualisation solutons, so OSX as a guest can work really well.

Re: OS X-KVM: Running Mac OS X El Capitan on KVM and QEMU

#10
post #6

Is it possible to run several OS' on a single machine with fast switching between them, access to all hardware, and at full or almost full speed?

Up to a point. There's Hardware Partitioning in which the hardware allows you to specify which processors or memory are dedicated to which OS but there's little dynamic sharing. The only real way to do dynamic resource sharing is with software virtualization (which does still require hardware features, but many platforms support this nowadays) where either the OSes run under a Hypervisor layer, or one OS runs in a virtual machine running as an application within another. Arguably the latter is just a variation on the former. Or vice versa depending who you ask.

https://en.wikipedia.org/wiki/Logical_partition http://www.computerworld.com/article/2593387/server-partitio...

Post reply on HN