What does HackerNews think of lima?
Linux virtual machines, typically on macOS, for running containerd
https://github.com/cirruslabs/tart
The very cool thing about Tart is how it uses OCI for OS images, so you can use your existing image registry infrastructure to host and pull down OS images.
Cilicon is a compatible F/OSS clone that currently only supports a subset of that functionality: https://github.com/traderepublic/Cilicon
These are more CI-oriented but I like how that makes it easy to manage state with them.
If you're focused on Linux VMs and maybe not on GUI stuff (although I'm sure you can make that work), Lima seems to be the go-to in the user 'community', as it were: https://github.com/lima-vm/lima
If you use ARM guests on Apple Silicon, you should get good perf just like with stuff in the OP. (Like UTM, Lima is based on QEMU.)
https://github.com/lima-vm/lima can use Virtualization framework for creating VMs, there is also https://github.com/gyf304/vmcli as a very simple CLI utility for running VMs, though it's not very actively maintained.
The new Docker for Windows uses an additional WSL2 distro instance, so it’s not very different from Docker for Mac.
Windows Docker -> Mac Docker
WSL2/Hyper-V -> Hypervisor.framework/Virtualization.framework
9p -> gRPC-fuse/virtiofs
They’re the same setup really.
If you want something like WSL2, I would recommend Lima (https://github.com/lima-vm/lima).
Edit: Well, they’re not completely the same. WSL2 is using virtualization, but the WSL instances are actually using a shared kernel packaged with WSL (https://github.com/MicrosoftDocs/WSL/blob/mattw-wsl2-explain...). So it’s a bit more optimized than standard MacOS Virtualization due to some optimizations.
Runs linux VMs and can run x64 via quemu or even using rosetta2 & apple virtualization framework
https://github.com/lima-vm/lima
I checked Virtualbox this week and it's also beta/testing for M1
A little off topic, but on my M1 Macs I have been using Lima https://github.com/lima-vm/lima to get shells running in a Linux container.
Google has done a very good job adding containerization to ChromeOS. I keep a Lenovo Chromebook around for quick access to Linux. I find myself doing this more often than SSHing to a VPS.
For text/shell only Linux, I have been using https://github.com/lima-vm/lima for the last week and for what I needed (I wanted to setup picolisp and Emacs for some experiments) it was all good.
1) https://github.com/lima-vm/lima 2) https://github.com/beringresearch/macpine
With a nice CLI included.
Because of its popularity, there are so many open source Ruby provisioning scripts you can use as a reference when provisioning your own VMs. You can also package up a provisioned VM as what they call a "box" that can be shared with other developers. It also natively integrates with tools like Ansible, Chef, and Puppet which make it a lot easier to manage the provisioning process.
And finally, many of the books and tutorials I've read use Vagrant, so it's much easier to follow along if you have Vagrant installed. For example I was recently reading the book Ansible for Devops by Jeff Geerling, and Vagrant and Virtualbox were used pretty extensively throughout the book.
Also, if you decide to package VMs to use in production it's pretty easy to integrate with Packer, which is another Hashicorp product.
https://github.com/lima-vm/lima
If memory serves me right, it works with Podman.