Avoid kernel panic: Detect if other processes are using vmx
tiborvass opened this issue · 8 comments
Currently, if you have virtualbox running already, xhyve will kernel panic.
Is there a way we could detect if something is already using vmx and error out cleanly?
I can reproduce the panic with VirtualBox + xhyve but not VMware + xhyve. Maybe only an issue with VirtualBox?
@xez I am no expert on VMX but I think I read that there are two modes: one that lets other processes use VMX, and one that doesn't and I believe Virtualbox uses the latter. I believe Parallels also does that, however it has some error handling code, and will prompt to close Virtualbox.
I am not sure if folks at Parallels added virtualbox-specific code (i.e. check if Virtualbox is running) or if there is a proper way to check if we can access vmx before actually using it.
Duplicate of #9 - there is nothing xhyve can do, we're user mode, and this is a kernel panic. :( VirtualBox has to be fixed to play nicely with Hypervisor.framework.
I think you mean dupe of #5 and since you are well versed in Hypervisor.framework, could we implore you to search or file an issue with VirtualBox? Just saying they need to here in a GH comment does not help them achieve that goal.
@mist64 FWIW, Parallels can detect that something incompatible is using vmx (here: it's xhyve).
Does not happen anymore with VirtualBox 5.0.
You can even run VirtualBox and xhyve side by side.
Confirming @il-demone-guardiano's experience.
#39 updates docs regarding this 😄