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

I wonder how this compares to xhyve, which I use on Intel Mac. It's nice to see something like it for ARM.

It appears xhyve is built on Hypervisor.framework while vftool is built on Virtualization.framework. Is that the main difference? What does that mean?



https://developer.apple.com/documentation/virtualization?lan...

https://developer.apple.com/documentation/hypervisor?languag...

Looks like Virtualization.framework is newer (Big Sur only) and uses Objective C classes rather than C functions.

I know from the xhyve README that it contains code responsible for booting a Linux kernel, which suggests Hypervisor.framework does not take care of that for you. The Virtualization.framework API on the other hand takes a linux kernel + ramdisk as its inputs.

So it sounds like the framework vftool is built on is more high-level than that of xhyve, and like vftool is Linux-only.


Yeah, Hypervisor.framework is an analogue of KVM (i.e. just manual VM contexts, the caller needs to handle exits to provide virtual hardware). Virtualization.framework is closer to something like QEMU in library form.


I’m using xhyve as well, but I’m having trouble getting it to boot newer kernels. 4.4 era works, (16.04) but 18.04 and 20.04 have various failures. I note that docker is built on xhyve and doesn’t seem to have this issue. So it’s not fundamental, but the fix hasn’t made it back to thx mostly abandoned xhyve.


Docker is using hyperkit [1], an xhyve fork that's still actively developed.

[1] https://github.com/moby/hyperkit


Ubuntu 18.04 (Linux 4.15) in xhyve works fine for me. I tried to get 20.04 set up a while ago but I gave up because its installer kept flaking out on me, something about the disk if I remember correctly.


Thanks to another commenter I found https://github.com/evansm7/vftool/issues/2#issuecomment-7354... which is exactly what I needed for Ubuntu 20.04: the idea to use cloud images which bypasses the silly installer.


If you just want to run a recent Ubuntu VM, you can use https://multipass.run/ from Canonical. (It uses hyperkit rather than xhyve as the hypervisor.)


I finally wound up with multi pass, but on the Mac it’s limited to ubuntu images, and I occasionally need to spin up arbitrary distros for testing things.




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

Search: