
Crie facilmente máquinas virtuais completas que são isoladas (sandbox) para desenvolvimento ou modelos de uso de computador.
App Sandbox é um aplicativo de máquina virtual para Windows e macOS focado em desempenho e facilidade de uso.
Recursos do Windows:
asb.py) para criar e controlar VMs aceleradas por GPU programaticamenteRecursos do Mac:
asb.py) que no Windows, para controlar VMs macOS e Windows 11 programaticamenteRequisitos: Windows 11 com processador x64 ou macOS Tahoe (Série M)
O App Sandbox cria e executa máquinas virtuais de desktop completas — Windows 11, Ubuntu e
macOS. É gratuito e de código aberto (MIT), distribuído como binários pré-construídos (assinados EV no
Windows, assinados pelo Apple Developer no macOS) em sua página de
Releases. Ele é operado de duas
formas: a partir de uma interface gráfica ou programaticamente através de um daemon sem cabeça com
um SDK Python sem dependências (asb.py). De qualquer forma, você escolhe um SO, aponta para uma imagem
de instalador, e o App Sandbox provisiona o disco, executa uma instalação não assistida e inicia o
convidado. Você fornece uma ISO do Windows ou Ubuntu; convidados macOS baixam sua imagem de restauração
automaticamente. Ele funciona em um PC com Windows 11 (x64) ou um Mac com Apple Silicon, incluindo laptops.
Funciona no Windows 11 Home, sem Hyper-V. No Windows, o App Sandbox não usa Hyper-V ou o Gerenciador do Hyper-V; ele cria e executa VMs através das APIs do Windows Host Compute System (HCS) e Host Compute Network (HCN), que exigem apenas o recurso Plataforma de Máquina Virtual. O Hyper-V é limitado ao Windows 11 Pro e Enterprise, enquanto a Plataforma de Máquina Virtual está disponível no Windows 11 Home, portanto uma licença do Windows 11 Pro não é necessária. A Plataforma de Máquina Virtual é o mesmo recurso do Windows usado pelo WSL2.
Para que você pode usá-lo:
API sem cabeça.
appsandbox.exe --headless
(ou sudo /Applications/AppSandbox.app/Contents/MacOS/AppSandbox --headless no macOS) inicia um
daemon de proprietário único que hospeda o mesmo núcleo da GUI e o expõe como uma API HTTP/JSON
local no estilo Docker em 127.0.0.1, idêntica em ambas as plataformas. O SDK Python apenas com stdlib
(asb.py) a envolve: crie VMs aceleradas por GPU (GPU-PV é uma opção de criação gpuMode), conecte via SSH
com uma chave implantada automaticamente (convidados Windows, Ubuntu ou macOS), crie instantâneos e ramificações,
abra a exibição ao vivo e execute várias ao mesmo tempo — quantas executam concorrentemente é limitado pela CPU,
RAM e memória GPU do host, não por um limite fixo. O daemon é de host único — ele opera VMs na
máquina em que é executado e não provisiona VMs na nuvem; para CI, execute-o em um runner auto-hospedado.
O provisionamento de uma VM executa uma instalação não assistida completa; instantâneos, ramificações e modelos
(apenas Windows) iniciam uma nova VM a partir de um estado provisionado em vez de reinstalar. Uma VM persiste
até ser excluída. Um instantâneo é um ponto de verificação do estado do disco feito com a VM parada, e uma ramificação
cria um disco gravável a partir dele para executar ações divergentes. A referência completa da API e exemplos
executáveis estão em tools/headless-api/.
Como funciona: este repositório também visa ser um exemplo funcional de criação de VMs desktop completas
programaticamente com as APIs Windows HCS/HCN e o Virtualization.framework da Apple. No
Windows, o App Sandbox envia um documento de máquina HCS construído manualmente para computecore.dll /
computenetwork.dll — a camada HCS/HCN que também está por trás do WSL2 e do Windows Sandbox —
em vez de passar pelo Gerenciador do Hyper-V. A aceleração de GPU usa paravirtualização de GPU
(GPU-PV) para compartilhar a GPU instalada do host com o convidado — o mesmo caminho do WSL2, não uma
passagem dedicada (sem VFIO/IOMMU, sem segunda GPU). Convidados Windows recebem DirectX 12, OpenGL,
Vulkan, CUDA e OpenCL; convidados Ubuntu o mesmo menos DirectX; convidados macOS Metal. Um driver de exibição
indireta IddCx personalizado e um dispositivo de áudio virtual transportam a tela e o som, e a
área de transferência, áudio, entrada e SSH entre convidado e host são executados via sockets Hyper-V. Os discos
convidados são construídos por uma ferramenta no repositório com suporte para ext4, squashfs, qcow2 e VHDX. No macOS, o App
Sandbox usa o Virtualization.framework da Apple (VZVirtualMachine, VZMacOSInstaller)
via virtio-vsock. No Windows, convidados Linux (Ubuntu) alcançam a GPU através de um módulo de kernel
DRM/KMS personalizado (asb_drm), o dxgkrnl do WSL2 da Microsoft e uma compilação personalizada do Mesa. Os
aplicativos são C nativo / Objective-C com uma interface HTML/JS (WebView2 no Windows, WKWebView no macOS).
[Windows] Ativar teclas de atalho ou silenciar o áudio da VM: conecte-se à VM e clique com o botão direito na barra de título da conexão
[Windows] Precisa de uma área de trabalho remota de alto desempenho para acessar sua VM remotamente? O Phaze funciona bem
[Windows] Você pode verificar se a configuração do driver GPU-PV está funcionando executando gpu-test.exe dentro da sua VM do App Sandbox Windows, o gpu-test.exe mostrará uma caixa com 6 cubos giratórios, cada um usando um mecanismo de renderização diferente (D3D9, D3D10, D3D11, D3D12, OpenGL e Vulkan). Se um ou mais falharem, eles não mostrarão corretamente um cubo giratório para essa API de renderização. gpu-test.zip. Nota: A API de renderização bem-sucedida significa que o GPU-PV funcionou, mas às vezes jogos ou aplicativos são codificados de forma que não detectam corretamente o sistema GPU-PV e ainda exibem um erro.
AppSandbox é licenciado sob a Licença MIT — Copyright (c) 2026 James Stringer.
Ele inclui componentes de terceiros que não são cobertos pela licença MIT e
mantêm seus próprios termos — mais notavelmente o driver de GPU dxgkrnl do WSL2 da Microsoft
(GPL-2.0) e o decodificador XZ embutido (0BSD). Consulte
THIRD-PARTY-NOTICES.md para a lista completa. O módulo de kernel
DRM Linux próprio do AppSandbox (tools/linux/asb_drm/) é duplamente licenciado MIT OU
GPL-2.0 para que possa resolver os símbolos somente GPL do kernel.
Além da minha própria experiência construindo o Easy-GPU-PV, achei o NanaBox um recurso muito útil para entender o HCS.
James Stringer — autor do Easy-GPU-PV.