If you’re a developer who’s ever spent hours waiting for a remote shared machine to compile your code, you know the frustration. You’re not alone. At Encore, we spent four years doing exactly that – until we decided to build something better.
Apple Silicon is incredible hardware. It’s fast, power-efficient, and everywhere. But try to run a Linux microVM on it – the kind you need for cloud-native development – and you hit a wall. Apple’s virtualization frameworks are deliberately limited. VZ.framework is a toy. Hypervisor.framework is the real analogue to KVM, but it’s locked behind entitlements Apple refuses to grant. If you can’t run a Linux microVM on your Mac, you’re not failing – Apple is failing you.
You’ve probably noticed the workarounds: remote EC2 instances, Docker Desktop’s slow emulation, or just giving up and using a Linux laptop. But we wanted to develop locally, on our Macs, with the same microVM stack that powers AWS Lambda and Fly.io. So we rebuilt the Firecracker stack from scratch for Apple Silicon.
It wasn’t easy. We hit the com.apple.private.virtualization entitlement limitation – a private API that holds the keys to hardware acceleration. But we reverse-engineered it, bypassed the restrictions, and got Firecracker running with near-native performance. The wall around Apple Silicon isn’t made of silicon – it’s made of policy.
Why does this matter? Because portability is dead. Most cloud-native services run on Linux microVMs. If you can’t test them locally, you’re either slowed down by remote machines or forced to compromise on accuracy. We’ve seen teams spend months debugging issues that only appear in production because their local dev environment didn’t match the cloud.
This isn’t just a technical achievement – it’s a rebellion against the idea that Macs are unsuitable for serious cloud development. We’re not saying Apple should open everything up. We’re saying that with enough engineering, you can take what’s locked and make it work. If you’re a developer on a Mac, you don’t have to accept second-class tooling.
Here’s the twist: our solution isn’t just faster – it’s more portable. We can run the same Firecracker microVM on a Mac, a Linux server, or even in the cloud. No more “works on my machine” excuses. The code is open source, and we’re sharing it with the community.
So stop believing the narrative. Apple Silicon can run Linux microVMs. It already does – we just proved it. The future of cloud development is local, fast, and it’s happening on your Mac.
FAQ
Q: Isn't it easier to just use a remote Linux machine?
A: Remote machines are slow, shared, and expensive. With local microVMs, you get full performance and isolation without the cloud bill. Plus, you can debug offline.
Q: What's the practical implication for a typical developer?
A: You can now test cloud-native services (like Lambda, Fargate, or Fly.io) locally on your Mac with the exact same microVM stack. No more Docker emulation, no more 'works on AWS but not on my machine'.
Q: Isn't Apple's restriction a good thing for security?
A: The entitlement restriction is about control, not security. We proved it can be bypassed safely. In fact, having a portable microVM stack actually improves security by letting you test in an isolated environment.