Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Note that this is about Virtualization.framework (Apple's first party VMM). OpenBSD worked on Hypervisor.framework + qemu since a very long time.




Good point. The naming of those frameworks is sooo confusing. IMHO, nearly impossible to not mix them up.

My mental model is that each of these covers a different layer of the stack, from lowest to highest:

* hypervisor-framework handles the hypervisor bits, like creating virtual machines, virtualising hardware resources, basically a C API on top of Apple's hypervisor

* virtualization-framework is a higher-level API, meant to make it easy to run a full-blown VM with an OS and hardware integration, without having to reinvent the integration with lower-level primitives that hypervisor-framework provides

* containerization-framework uses virtualization-framework to run Linux containers on macOS in microVMs.

By analogy to not mix them up, it's a bit like KVM > QEMU > containerd.

Hope this helps!


Well, it help me. So thanks!

Out of my depth here. Is that the one Tahoe was introducing? What did it solve that was impossible before?

Virtualization.framework was introduced in Big Sur. It builds on top of Hypervisor.framework and is essentially Apple's QEMU (in some ways quite literally, it implements QEMU's pvpanic protocol for example). Before QEMU and other VMMs gained ARM64 Hypervisor.framework support, it was the only way to run virtual machines on ARM Macs and still is the only official way to virtualize ARM macOS.

The new Tahoe framework you're probably thinking of is Containerization, which is a WSL2-esque wrapper around Virtualization.framework allowing for easy installation of Linux containers.


>a WSL2-esque wrapper around Virtualization.framework allowing for easy installation of Linux containers.

So Linux is now a first class citizen on both Windows and Mac? I guess it really is true that 'if you can't beat em, join em.' Jobs must be rolling in his grave.


It's well supported by the architecture. You may be interested in:

- Lima - wsl2-like access to a virtual machine https://github.com/lima-vm/lima/blob/master/README.md

- vfkit - CLI creation and management of applehv VMs https://github.com/crc-org/vfkit

- podman machine - easily run x86 containers in CoreOs, via the podman CLI https://docs.podman.io/en/latest/markdown/podman-machine.1.h...


I mean to be fair, WSL1 and WSL2 are extremely successful engineering efforts by Microsoft. I can’t imagine having to go back to the Cygwin days.

I'm one of the few I think who really liked Cygwin. Far from perfect of course, but I even still prefer it to WSL depending on what I'm doing.

Oh good point. I mixed it up, UTM is using qemu under hood, but as someone mentioned now OpenBSD snapshot boots with qemu seemlesly. It's still virtualised though.

It can also use the apple native hypervisor.

Tried it earlier using UTM and the Apple hypervisor but didn’t boot.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: