
開発やコンピュータ利用モデル向けに、サンドボックス化された本格的な仮想マシンを簡単に作成できます。
App Sandbox は、パフォーマンスと使いやすさに重点を置いた、Windows および macOS 向けの仮想マシンアプリです。
Windows の機能:
asb.py) により、GPU アクセラレーションされた VM をプログラムで作成・操作可能Mac の機能:
asb.py) により、macOS および Windows 11 VM をプログラムで操作可能要件: x64 プロセッサを搭載した Windows 11、または macOS Tahoe (M シリーズ)
App Sandbox は、完全なデスクトップ仮想マシン — Windows 11、Ubuntu、および
macOS — を作成して実行します。無料のオープンソース (MIT) であり、
Releases ページで
ビルド済みバイナリ (Windows では EV 署名済み、macOS では Apple Developer 署名済み)
として配布されています。操作方法は 2 つあります。グラフィカル UI から操作するか、
依存関係のない Python SDK (asb.py) を備えたヘッドレスデーモンを介してプログラムで
操作するかです。どちらの方法でも、OS を選択し、インストーラーイメージを指定すると、
App Sandbox がディスクをプロビジョニングし、無人インストールを実行し、ゲストを
起動します。Windows または Ubuntu の ISO は自分で用意します。macOS ゲストは
復元イメージを自動的にダウンロードします。ラップトップを含む Windows 11 (x64) PC
または Apple Silicon Mac で動作します。
Hyper-V なしで、Windows 11 Home で動作します。 Windows では、App Sandbox は Hyper-V や Hyper-V Manager を使用しません。Windows Host Compute System (HCS) および Host Compute Network (HCN) API を通じて VM を作成・実行します。これらに必要なのは Virtual Machine Platform 機能だけです。Hyper-V は Windows 11 Pro および Enterprise に限定されていますが、Virtual Machine Platform は Windows 11 Home でも利用できるため、 Windows 11 Pro ライセンスは不要です。Virtual Machine Platform は WSL2 が使用する のと同じ Windows 機能です。
用途:
ヘッドレス API。
appsandbox.exe --headless
(macOS では sudo /Appsandbox.app/Contents/MacOS/AppSandbox --headless) は、
GUI と同じコアをホストし、それを Docker スタイルのローカル HTTP/JSON API として
127.0.0.1 上で公開する単一所有者のデーモンを起動します。両プラットフォームで
同一です。標準ライブラリのみの Python SDK (asb.py) がそれをラップします:
GPU アクセラレーションされた VM の作成 (GPU-PV は gpuMode 作成オプション)、
自動デプロイされたキーによる SSH 接続 (Windows、Ubuntu、または macOS ゲスト)、
スナップショットとブランチ、ライブディスプレイの表示、複数の同時実行 —
同時に実行できる数は固定の制限ではなく、ホストの CPU、RAM、GPU メモリによって
制限されます。デーモンは単一ホスト用です — 実行されているマシン上の VM を操作し、
クラウド VM をプロビジョニングしません。CI の場合は、セルフホストランナー上で
実行してください。VM のプロビジョニングは完全な無人インストールを実行しますが、
スナップショット、ブランチ、テンプレート (Windows のみ) は、再インストールする
代わりにプロビジョニング済みの状態から新しい VM を起動します。VM は削除されるまで
永続化します。スナップショットは VM 停止中に取得されるディスク状態のチェックポイント
であり、ブランチはそこから書き込み可能なディスクをフォークして分岐した操作を
実行します。完全な API リファレンスと実行可能な例は
tools/headless-api/ にあります。
仕組み: このリポジトリは、Windows HCS/HCN API と Apple の
Virtualization.framework を使って完全なデスクトップ VM をプログラムで作成する
実例となることも目的としています。Windows では、App Sandbox は Hyper-V Manager を
経由するのではなく、手作業で構築した HCS マシンドキュメントを computecore.dll /
computenetwork.dll — WSL2 や Windows Sandbox の基盤でもある HCS/HCN レイヤー —
に送信します。GPU アクセラレーションは GPU 準仮想化 (GPU-PV) を使用して、ホストに
インストールされた GPU をゲストと共有します — 専用のパススルー (VFIO/IOMMU なし、
2 台目の GPU なし) ではなく、WSL2 と同じ経路です。Windows ゲストは DirectX 12、
OpenGL、Vulkan、CUDA、OpenCL を利用でき、Ubuntu ゲストは DirectX を除く同じものを、
macOS ゲストは Metal を利用できます。カスタムの IddCx 間接ディスプレイドライバー
と仮想オーディオデバイスが画面とサウンドを伝送し、ゲスト↔ホスト間のクリップボード、
オーディオ、入力、SSH は Hyper-V ソケット を介して実行されます。ゲストディスクは、
ext4、squashfs、qcow2、VHDX をサポートするリポジトリ内ツールによって構築されます。
macOS では、App Sandbox は Apple の Virtualization.framework
(VZVirtualMachine、VZMacOSInstaller) を virtio-vsock 経由で使用します。
Windows では、Linux (Ubuntu) ゲストはカスタム DRM/KMS カーネルモジュール (asb_drm)、
Microsoft の WSL2 dxgkrnl、およびカスタム Mesa ビルドを通じて GPU にアクセスします。
アプリはネイティブの C / Objective-C で、HTML/JS UI (Windows では WebView2、
macOS では WKWebView) を備えています。
デフォルトのユーザー名は user、デフォルトのパスワードは test123 です
[Windows] ホットキーを有効にする、または VM のオーディオをミュートする: VM に接続し、接続タイトルバーを右クリックします
[Windows] VM にリモートアクセスするための高性能リモートデスクトップが必要ですか? Phaze がよく機能します
[Windows] GPU-PV ドライバーのセットアップが機能しているかどうかは、App Sandbox の Windows VM 内で gpu-test.exe を実行することで確認できます。gpu-test.exe は 6 つの回転するキューブを含むボックスを表示し、それぞれが異なるレンダリングエンジン (D3D9、D3D10、D3D11、D3D12、OpenGL、Vulkan) を使用します。1 つ以上が失敗した場合、そのレンダリング API の回転するキューブは正しく表示されません。gpu-test.zip。注: レンダリング API が成功することは GPU-PV が機能したことを意味しますが、ゲームやアプリが GPU-PV システムを正しく検出できないようにコーディングされている場合があり、それでもエラーが表示されることがあります。
修正やアイデアを共有していただきありがとうございます! ご自身のフォークからの AI 支援による変更を含むプルリクエストは、提案として歓迎します。正式にレビュー またはマージされる可能性は低いですが、変更の形成に役立つ貢献はクレジット されます。詳細はコントリビューションガイドラインを参照して ください。
AppSandbox は MIT License の下でライセンスされています — Copyright (c) 2026 James Stringer。
MIT ライセンスの対象では なく、独自の条件を保持するサードパーティコンポーネント
を同梱しています — 特に Microsoft WSL2 dxgkrnl GPU ドライバー (GPL-2.0) と
組み込みの XZ デコーダー (0BSD) です。完全なリストについては
THIRD-PARTY-NOTICES.md を参照してください。AppSandbox
自身の Linux DRM カーネルモジュール (tools/linux/asb_drm/) は、カーネルの
GPL 専用シンボルを解決できるように MIT OR GPL-2.0 のデュアルライセンスです。
Easy-GPU-PV を構築した 自身の経験に加えて、HCS を理解する上で NanaBox が非常に役立つリソースであることがわかりました。
James Stringer — Easy-GPU-PV の著者。