James Stringer df0e2532e0 Bump version to 0.1.3
### Added
- **Headless mode with a scriptable HTTP/JSON API (Windows + macOS).** Launch
  App Sandbox with `--headless` to run a single-owner background daemon exposing
  a loopback HTTP/JSON API that mirrors the GUI: create, start, shut down, edit,
  and delete VMs; manage snapshots, branches, and templates (Windows); read SSH
  connection info; subscribe to a live event stream; and open or close a VM's
  display window -- all from a script. Ships a dependency-free Python SDK,
  runnable examples, and a cross-platform test suite (bundled in the release
  package under headless-api/, alongside the app). Launching normally (no
  `--headless`) is unchanged.
- **One-click SSH key login.** With the SSH server enabled, the new "Deploy SSH
  key" option installs an App Sandbox key into the guest (Windows, Linux, and
  macOS) so the GUI's SSH button and the SDK connect without a password.

### Fixed
- **Excessive GPU usage while viewing a Windows VM.** The display window was
  redrawing as fast as it could -- presenting ~2,100 frames a second and holding
  the host GPU near 90% even on a static screen. It now redraws only when the
  picture changes (plus a small safety refresh), dropping to the real frame rate
  (~30-60 fps) with no added latency.
- **A graceful shutdown could report a false error.** On a busy guest, a
  shutdown that actually succeeded could surface as a failure; shutdown and
  restart now report success once the request is delivered and confirm it by the
  guest exiting.
- **The headless daemon now cleans up its VMs when it exits**, instead of
  leaving them running with no owner.
- **macOS: text fields no longer autocorrect or autocapitalize** VM names,
  usernames, paths, and snapshot names as you type.
- Various stability and bug fixes across the Windows, macOS, and Linux
  components.

### Known issues
- **Create VMs one at a time.** Creating several at once can race on the
  disk-image build/staging step, causing a build to fail and the VM to be
  removed; create them sequentially.
- **x64 (emulated) apps in ARM Windows VMs don't get the OpenGL fix** -- the
  Mesa driver shipped on ARM is ARM64-only; native ARM64 apps get full GPU
  OpenGL. (carried over from 0.1.2)
- **ARM Linux (Ubuntu 26.04 LTS) guests do not work -- on ARM, Windows is the
  only working guest** (Ubuntu 26.04's arm64 kernel churns BPF JIT memory and
  never reaches the desktop). (carried over from 0.1.2)
2026-06-11 22:03:47 -04:00
2026-06-11 22:03:47 -04:00
2026-06-04 19:00:27 -04:00
2026-06-11 22:03:47 -04:00
2026-06-07 19:05:01 -04:00

App Sandbox

App Sandbox

App Sandbox is a virtual machine app for Windows and macOS that's focused on performance and ease of use.

Windows features:

  • Works on Windows 11 Home or Pro, without Hyper-V
  • Windows 11 or Ubuntu 26.04 LTS VM Support
  • Zero touch install
  • Copy and Paste
  • 2 Channel Audio
  • GPU Acceleration via Paravirtualization (GPU-PV) with support for DirectX 12 (Windows only), OpenGL, Vulkan, CUDA, OpenCL
  • GPU Hardware Video Decoder/Encoder support
  • SSH via Hyper-V socket proxy (no network required)
  • Snapshots
  • Fixed 1080P60 display
  • Host to client hot-key support
  • Provision and boot with / without internet
  • Supports running Claude Cowork and Docker inside the VM thanks to Nested Virtualization Support

Mac features:

  • macOS VM support
  • Skips most of the install setup process
  • Copy and Paste
  • 2 Channel Audio
  • GPU Acceleration via Paravirtualization with support for Metal
  • SSH via virtio-vsock (no network required)
  • Dynamic display sizing
  • Provision and boot with / without internet

Requirements: Windows 11 with an x64 Processor or macOS Tahoe (M Series)

About App Sandbox

App Sandbox creates and runs full desktop virtual machines — Windows 11, Ubuntu, and macOS. It is free, open-source (MIT), and distributed as prebuilt, signed releases on its Releases page. It is operated from a graphical UI: pick an OS, point it at an installer image, and App Sandbox provisions the disk, runs an unattended install, and boots the guest. You supply a Windows or Ubuntu ISO; macOS guests download their restore image automatically. It runs on a Windows 11 (x64) PC or an Apple Silicon Mac, including laptops.

Runs on Windows 11 Home, without Hyper-V. On Windows, App Sandbox does not use Hyper-V or Hyper-V Manager; it creates and runs VMs through the Windows Host Compute System (HCS) and Host Compute Network (HCN) APIs, which require only the Virtual Machine Platform feature. Hyper-V is limited to Windows 11 Pro and Enterprise, while Virtual Machine Platform is available on Windows 11 Home, so a Windows 11 Pro license is not required. Virtual Machine Platform is the same Windows feature WSL2 uses.

What you can use it for:

  • A fresh Windows or Ubuntu VM for building and testing your own software on a clean OS install.
  • Running a program in a VM, kept separate from your main OS and files.
  • Developing and testing Windows drivers: a built-in Test Mode enables test-signing inside the guest, so the host's Secure Boot and boot configuration are left unchanged.
  • Running a computer-use AI agent (such as Claude's computer use model) in its own VM, so it has a desktop to work in without taking over your own. Several agents can run at once, each in its own VM, on a single laptop or desktop.
  • Creating GPU-accelerated (GPU-PV) VMs from a native-app GUI.

How it works: this repo also aims to be a working example of creating full desktop VMs programmatically with the Windows HCS/HCN APIs and Apple's Virtualization.framework. On Windows, App Sandbox submits a hand-built HCS machine document to computecore.dll / computenetwork.dll — the HCS/HCN layer that also underlies WSL2 and Windows Sandbox — rather than going through Hyper-V Manager. GPU acceleration uses GPU paravirtualization (GPU-PV) to share the host GPU with the guest, with DirectX 12, OpenGL, Vulkan, CUDA, and OpenCL on Windows and Metal on macOS. A custom IddCx indirect display driver and a virtual audio device carry the screen and sound, and guest↔host clipboard, audio, input, and SSH run over Hyper-V sockets. Guest disks are built by an in-repo tool with support for ext4, squashfs, qcow2, and VHDX. On macOS, App Sandbox uses Apple's Virtualization.framework (VZVirtualMachine, VZMacOSInstaller) over virtio-vsock. On Windows, Linux (Ubuntu) guests reach the GPU through a custom DRM/KMS kernel module (asb_drm), Microsoft's WSL2 dxgkrnl, and a custom Mesa build. The apps are native C / Objective-C with an HTML/JS UI (WebView2 on Windows, WKWebView on macOS).

Tips:

[Windows] Enable hotkeys or mute the VM audio: connect to the VM and right-click the connection title bar

[Windows] Need a high performance remote desktop to remotely access your VM? Phaze works well

[Windows] You can check if the GPU-PV driver setup is working by running gpu-test.exe inside your App Sandbox Windows VM, gpu-test.exe will show a box with 6 rotating cubes, each using a different rendering engine (D3D9, D3D10, D3D11, D3D12, OpenGL and Vulkan). If one or more fail, they will not correctly show a rotating cube for that rendering API. gpu-test.zip. Note: The rendering API succeeding means that the GPU-PV worked, but sometimes games or apps are coded in such a way that they will not detect the GPU-PV system correctly and still show an error.

License

AppSandbox is licensed under the MIT License — Copyright (c) 2026 James Stringer.

It bundles third-party components that are not covered by the MIT license and retain their own terms — most notably the Microsoft WSL2 dxgkrnl GPU driver (GPL-2.0) and the embedded XZ decoder (0BSD). See THIRD-PARTY-NOTICES.md for the full list. AppSandbox's own Linux DRM kernel module (tools/linux/asb_drm/) is dual-licensed MIT OR GPL-2.0 so it can resolve the kernel's GPL-only symbols.

Acknowledgements

Beyond my own experience building Easy-GPU-PV, I found NanaBox to be a really helpful resource for understanding HCS.

Author

James Stringer — author of Easy-GPU-PV.

S
Description
Easily create full virtual machines that are sandboxed for development or computer use models.
Readme MIT
77 MiB
0 Stars 1 Watchers 0 Forks
Latest
2026-06-30 19:57:07 -05:00
Languages
C 73.1%
Objective-C 15.4%
C++ 5.1%
JavaScript 1.8%
Python 1.6%
Other 3%