---
title: "Supported Platforms"
description: "Supported hosts, guest architecture, Windows, WSL, and current limitations."
canonical: "https://smolmachines.com/docs/introduction/concepts/supported-platforms"
source: "https://github.com/smol-machines/docs/blob/main/introduction/concepts/supported-platforms.md"
---

# Supported Platforms

smolvm runs Linux guests through the host's native virtualization interface. Host and guest architectures must match.

## Local host matrix

| Host | Guest | Requirement | Notes |
|---|---|---|---|
| macOS on Apple Silicon | arm64 Linux | macOS 11+ and Hypervisor.framework | Supported release path |
| macOS on Intel | x86_64 Linux | Not supported | No release asset is published for darwin-x86_64 |
| Linux x86_64 | x86_64 Linux | KVM and access to `/dev/kvm` | Supported |
| Linux aarch64 | aarch64 Linux | KVM and access to `/dev/kvm` | Supported |
| Native Windows x86_64 | x86_64 Linux | Windows Hypervisor Platform | Supported through `smolvm.exe` |

## Apple Silicon and x86_64 programs

Rosetta 2 integration can run supported x86_64 Linux binaries inside an arm64 guest on Apple Silicon. It does not change the guest architecture or make an x86_64 `.smolmachine` artifact compatible with an arm64 host. Turn it on with `--rosetta` on `machine run` (Smolfile `rosetta = true`), which then pulls the image as `linux/amd64` unless `--oci-platform` names another platform. Without it, an x86_64 image fails with `Exec format error`.

## Windows and WSL

Native Windows uses Windows Hypervisor Platform and is the primary Windows path.

WSL2 can use the Linux/KVM path on Windows 11 when nested virtualization and KVM are available. WSL2 on Windows 10 cannot provide the required nested KVM support. Use native Windows there.

Native Windows branches and checkpoints machines, with two differences from the other hosts: a
live branch needs `--freeze-source`, and the incremental checkpoint store, `machine checkpoint
--store`, is refused. It still lacks Vulkan GPU acceleration. Packing works there too: `pack
create` uses the two `.ext4` templates shipped beside `smolvm.exe`, so keep them in the same
folder.

The first run on Windows has to create symbolic links, so it needs Developer Mode (Settings,
Privacy & security, For developers) or one run from an elevated shell. A host directory mounted
into a machine there shows as owned by `root` with mode `0755`, so only a workload running as root
can write to it.

## Cloud clients

Using the Cloud API does not require a local hypervisor. A client can create smol cloud machines from any environment that can authenticate and reach the API, subject to the SDK or HTTP client's own platform support.

Cloud guests are Linux. Native Windows host support does not imply Windows guest support in smol cloud.
