
Créez facilement des machines virtuelles complètes en bac à sable pour le développement ou les modèles d'utilisation informatique.
App Sandbox est une application de machine virtuelle pour Windows et macOS axée sur les performances et la facilité d'utilisation.
Fonctionnalités Windows :
asb.py) pour créer et piloter des VM accélérées GPU par programmationFonctionnalités Mac :
asb.py) que sous Windows, pour piloter les VM macOS et Windows 11 par programmationConfiguration requise : Windows 11 avec un processeur x64 ou macOS Tahoe (série M)
App Sandbox crée et exécute des machines virtuelles de bureau complètes — Windows 11, Ubuntu et
macOS. Il est gratuit et open-source (MIT), distribué sous forme de binaires précompilés (signés EV sous
Windows, signés Apple Developer sous macOS) sur sa page
Releases. Il est piloté de deux
manières : via une interface graphique, ou par programmation via un démon headless avec un
SDK Python sans dépendance (asb.py). Dans les deux cas, vous choisissez un système
d'exploitation, pointez vers une image d'installation, et App Sandbox provisionne le disque,
exécute une installation sans intervention et démarre l'invité. Vous fournissez une ISO
Windows ou Ubuntu ; les invités macOS téléchargent leur image de restauration automatiquement.
Il fonctionne sur un PC Windows 11 (x64) ou un Mac Apple Silicon, y compris les ordinateurs portables.
Fonctionne sur Windows 11 Famille, sans Hyper-V. Sous Windows, App Sandbox n'utilise pas Hyper-V ni le Gestionnaire Hyper-V ; il crée et exécute les VM via les API Windows Host Compute System (HCS) et Host Compute Network (HCN), qui nécessitent uniquement la fonctionnalité Virtual Machine Platform. Hyper-V est limité à Windows 11 Pro et Entreprise, tandis que Virtual Machine Platform est disponible sur Windows 11 Famille, donc une licence Windows 11 Pro n'est pas requise. Virtual Machine Platform est la même fonctionnalité Windows qu'utilise WSL2.
À quoi ça sert :
API Headless.
appsandbox.exe --headless
(ou sudo /Appsandbox.app/Contents/MacOS/AppSandbox --headless sur macOS) démarre un
démon à propriétaire unique qui héberge le même noyau que l'interface graphique et l'expose comme une
API HTTP/JSON locale de style Docker sur 127.0.0.1, identique sur les deux plateformes. Le SDK Python
uniquement basé sur la bibliothèque standard (asb.py) l'encapsule : créé des VM accélérées GPU (GPU-PV est une option
de création gpuMode), SSH via une clé déployée automatiquement (invités Windows, Ubuntu ou macOS), prend des instantanés
et les bifurque, ouvre l'affichage en direct, et en exécute plusieurs à la fois — le nombre d'exécutions simultanées est limité par le CPU,
la RAM et la mémoire GPU de l'hôte, non par une limite fixe. Le démon est mono-hôte — il pilote les VM sur la
machine où il s'exécute et ne provisionne pas de VM cloud ; pour l'IC, exécutez-le sur un exécuteur auto-hébergé.
Le provisionnement d'une VM exécute une installation sans intervention complète ; les instantanés, les branches et les modèles
(Windows uniquement) créent une nouvelle VM à partir d'un état provisionné au lieu de réinstaller. Une VM persiste
jusqu'à sa suppression. Un instantané est un point de contrôle de l'état du disque pris VM arrêtée, et une branche
forke un disque inscriptible à partir de celui-ci pour exécuter des actions divergentes. La référence complète de l'API et des exemples
exécutables se trouvent dans tools/headless-api/.
Comment ça marche : ce dépôt vise également à être un exemple fonctionnel de création de VM de bureau complètes
par programmation avec les API Windows HCS/HCN et Virtualization.framework d'Apple. Sous
Windows, App Sandbox soumet un document HCS machine construit à la main à computecore.dll /
computenetwork.dll — la couche HCS/HCN qui sous-tend également WSL2 et Windows Sandbox —
plutôt que de passer par le Gestionnaire Hyper-V. L'accélération GPU utilise la para-virtualisation GPU
(GPU-PV) pour partager le GPU installé de l'hôte avec l'invité — le même chemin que WSL2, pas un
pass-through dédié (pas de VFIO/IOMMU, pas de deuxième GPU). Les invités Windows obtiennent DirectX 12, OpenGL,
Vulkan, CUDA et OpenCL ; les invités Ubuntu les mêmes moins DirectX ; les invités macOS Metal. Un pilote d'affichage
indirect IddCx personnalisé et un périphérique audio virtuel transportent l'écran et le son, et le
presse-papiers, l'audio, l'entrée et SSH invité↔hôte s'exécutent via des sockets Hyper-V. Les disques
invités sont construits par un outil du dépôt avec prise en charge d'ext4, squashfs, qcow2 et VHDX. Sous macOS, App
Sandbox utilise Virtualization.framework d'Apple (VZVirtualMachine, VZMacOSInstaller)
via virtio-vsock. Sous Windows, les invités Linux (Ubuntu) accèdent au GPU via un module
noyau DRM/KMS personnalisé (asb_drm), le dxgkrnl de Microsoft WSL2, et une construction Mesa personnalisée. Les
applications sont en C / Objective-C natif avec une interface HTML/JS (WebView2 sous Windows, WKWebView sous macOS).
[Windows] Activer les raccourcis clavier ou couper le son de la VM : connectez-vous à la VM et faites un clic droit sur la barre de titre de la connexion
[Windows] Besoin d'un bureau à distance haute performance pour accéder à distance à votre VM ? Phaze fonctionne bien
[Windows] Vous pouvez vérifier si la configuration du pilote GPU-PV fonctionne en exécutant gpu-test.exe dans votre VM Windows App Sandbox ; gpu-test.exe affichera une boîte avec 6 cubes en rotation, chacun utilisant un moteur de rendu différent (D3D9, D3D10, D3D11, D3D12, OpenGL et Vulkan). Si un ou plusieurs échouent, ils n'afficheront pas correctement un cube en rotation pour cette API de rendu. gpu-test.zip. Remarque : le succès de l'API de rendu signifie que le GPU-PV a fonctionné, mais parfois les jeux ou applications sont codés de telle manière qu'ils ne détectent pas correctement le système GPU-PV et affichent encore une erreur.
AppSandbox est sous licence MIT License — Copyright (c) 2026 James Stringer.
Il intègre des composants tiers qui ne sont pas couverts par la licence MIT et
conservent leurs propres conditions — notamment le pilote GPU dxgkrnl de Microsoft WSL2
(GPL-2.0) et le décodeur XZ intégré (0BSD). Voir
THIRD-PARTY-NOTICES.md pour la liste complète. Le module noyau DRM
Linux propre à AppSandbox (tools/linux/asb_drm/) est sous double licence MIT OU
GPL-2.0 afin de pouvoir résoudre les symboles GPL-only du noyau.
Au-delà de ma propre expérience dans la construction de Easy-GPU-PV, j'ai trouvé NanaBox une ressource très utile pour comprendre HCS.
James Stringer — auteur de Easy-GPU-PV.