What does HackerNews think of lima?

Linux virtual machines, typically on macOS, for running containerd

Language: Go

#8 in macOS
Tart is also very cool. It's not F/OSS but it is source-available and its license is liberal about non-commercial and small-scale commercial use:

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.)

This is higher-level than the Hypervisor framework; this Virtualization framework providers an entire VM with virtio peripherals including a display.

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.

WSL2 is no longer using the NT kernel. It’s a full blown VM now that uses Plan 9 9p for file system interop.

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.

Have you seen https://github.com/lima-vm/lima ?

Runs linux VMs and can run x64 via quemu or even using rosetta2 & apple virtualization framework

Haven't worked much on it, as I have an Intel, but I'd say the best two options you have now are Lima and UTM:

https://github.com/lima-vm/lima

https://mac.getutm.app/

I checked Virtualbox this week and it's also beta/testing for M1

That is cool. Satisfying to figure out an optimization like that!

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.

I would be tempted to try this but both of my M1 Macs only have 8G of memory.

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.

Why can't you run docker on your work PC? If it's the licensing issues I'd recommend using lima-vm (https://github.com/lima-vm/lima) as a substitute.
Vagrant has a few advantages compared to Rancher (and Lima[1] which I believe Rancher uses under the hood).

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.

[1] https://github.com/lima-vm/lima

If you had one early on consider it again. The first 6 months was abysmal for me, but ever since https://github.com/lima-vm/lima has been locked down I have ways to compile everything and run any container I want. `nerdctl` has taken a tiny bit of effort to learn but it's been well worth it.
Wouldn't Lima serve that role?

https://github.com/lima-vm/lima

If memory serves me right, it works with Podman.