4 ms·
The Hypervisor framework was released in Yosemite (macOS 10.10). Nice overview of it here <https://www.pagetable.com/?p=764> https://www.pagetable.com/?p=764>.
by szc 7y ago
The Hypervisor framework was released in Yosemite (macOS 10.10). Nice overview of it here <https://www.pagetable.com/?p=764> https://www.pagetable.com/?p=764>. There is a (basic) but free implementation xhyve.xyz <https://github.com/machyve/xhyve> https://github.com/machyve/xhyve> which can be used to run various hosts. I know several folks that run Linux so they can use various FPGA development tools to remotely display X windows on the Mac using XQuartz.
- 1over137 7y agoBut VMWare (probably the best VM software for macOS) doesn't use it, they have their own kexts.
- self_awareness 7y agoIt's maybe the best for macOS, but it's far from being the best VM software. It's full of ugly bugs, especially when trying to script it and use the 'vmrun' tool. It's expensive and support is nearly nonexistent.
- asveikau 7y agoYou can say you don't like VMware and that's ok. But I remember when I first used it in the 90s and it was absolutely mind blowing. They needed to do slightly crazy things in kernel mode to get that done. I worry if there is a hypervisor implementation monoculture where everybody is wrapping the same kernel interface, we lose some possibility for a better implementation. Or if some problem of the future, not VMs, some day requires kernel hacking, but this is artificially locked out. Apple is choosing to not have that innovation happen on their platform. Seems short sighted.
- bonzini 7y agoThe framework is a relatively light wrapper of the Intel virtualization extensions. The handling of interrupts is definitely not as efficient as it could be, since it doesn't use the professor support for APIC register virtualization and injection of interrupts without exiting to the hypervisor. (I mentored the Google Summer of Code project that brought the Android emulator's support for Hypervisor.framework to upstream QEMU).
- souprock 7y agoI work on a hypervisor that needs much more than the Intel virtualization extensions. All sorts of registers need to be saved, adjusted, used by virtualization, sampled, and restored. It isn't just the normal guest state that needs to be dealt with.
- Wowfunhappy 7y ago> Or if some problem of the future, not VMs, some day requires kernel hacking, but this is artificially locked out. Depending on the use case, you could still compile a custom version of Darwin, if you absolutely need to.
- cmsj 7y agoParallels can use Hypervisor.framework and they didn't axe their entire desktop team a few years ago :)
- bouke 7y agoI'm using Parallels. Support is terrible. Software is ok-ish.