Jump to content

Linux host -> Qemu Mac OSX Pci passthrough + Win10 Pci passthrough


3 posts in this topic

Recommended Posts

I've been doing some research into the best way to run Mac os x... while also having the ability to do Win10 gaming. I also want as close to imac 5k experience as possible when it comes to the retina pixel clarity.

 

Seems like the best way is to do this is with a VM setup.

 

I have two options:

 

1) keep both vms open all the time. This would require two video cards and maybe two audio cards?. (the system board gpu would be for the linux host)

 

2) close down each VM when I want to go to the other VM.

 

 

If I go with option 1, my questions are:

 

a) where can I find a 5k monitor with three inputs? The linux input could be basic hdmi but the macos needs to be good enough for the full 5k retina experience. The win10 gaming vm also needs to be good.

 

B) could I dynamically lower the resources of the mac VM while I'm on the gaming vm?

 

 

If I go with option 2...

 

a) How fast is the KVM/qemu "save vm" feature? If the speed isnt much faster than rebooting, then the only benefit of doing things this way would be having win10 locked down.

 

This option would be best if the save vm feature is very fast. The new intel ssds coming soon might allow for this.

 

 

Thoughts?

 

Link to comment
Share on other sites

  • 2 weeks later...

Two VM's will work, I run this setup with a MacOS guest driving a 4K+1080p monitor in my office, and a Win10 guest hooked up to the TV in the living room for gaming. I leave both vm's running all the time. Allows for couch gaming and getting some work done on the Mac desktop at the same time. It works relatively well, performance takes about a 5-10% hit when the other VM is on but idle. Its not uncommon to see this setup running heroes of the storm at 4k and the witcher 3 at 1080p at the same time. 

 

Some pitfalls to avoid:

 

- MacOS doesn't support virtio storage, and going through anything else can create high iowaits and lag the entire system (especially audio). Plan on using pci passthrough for storage (dedicated nvme or sata controller). Furthermore storage passthrough on the Windows guest can help eliminate Iowait on the host and keep things running smoothly.

- Pin your vcpu's for the macOS guest, it will fix a lot of weird performance issues.

- I haven't tried sleep or "save vm" features....I'm not sure they work with a MacOS guest

- Most modern motherboards will have two usb controllers (mine was a standard usb2/3 and a usb 3.1). For easy configuration and better performance passthrough one controller to each guest.

 

None of this is well documented, I ran into endless performance issues, crashes etc while getting this going...I'm not sure I remember everything tweaked to get it running perfectly :D Be prepared to spend a few weekends on a project like this.

Link to comment
Share on other sites

  • 3 weeks later...

I'm with option 2, and it works great for my needs (stops me procrastinating too since it's not as easy as switching monitor input)!

One thing to note is that regardless of running Windows or MacOS, you won't be able to save the state of your VM whilst passing through PCI-E cards, at least in my experience.

 

It's been a while since you started this project now, have you made any progress? It would be great to hear about!

Link to comment
Share on other sites

 Share

×
×
  • Create New...