HeadlinesBriefing favicon HeadlinesBriefing.com

Encore Rebuilds Linux Micro VM Stack on Apple Silicon

Hacker News •
×

Encore builds backend apps and since mid-2022 ran every build inside a Firecracker micro VM. Firecracker drives KVM, needing a Linux host with `/dev/kvm`, which Macs lack. Encore engineers develop on Macs, so for four years they used a shared remote machine.

The remote setup worked but had costs: local breakpoints never fired, logs required SSH, profilers needed copying, and every guest-side change went through `docker save`, `rsync`, and `mksquashfs` on the shared host. The loop was long enough to discourage speculative changes.

They evaluated existing solutions (Apple's `container`, Lima, Tart, podman via libkrun, nested KVM on M3+) but none spanned both hosts. They built crackling, a daemon and CLI that boots OCI images as lightweight Linux VMs on both platforms, with one agent inside the guest and one protocol driving it either way.

Firecracker remains the backend on Linux; on macOS it's Apple's Virtualization.framework (VZ). The core crate stays hypervisor-independent, describing a machine through Machine Spec (vcpus, mem, kernel, rootfs, etc.) while Machine State tracks it at runtime.