mirror of
https://github.com/jamesstringer90/appsandbox.git
synced 2026-10-19 01:31:28 -05:00
App Sandbox 0.1.4 - **Windows 11 (ARM64) VMs on macOS.** On an Apple Silicon Mac, App Sandbox can now create and run Windows 11 ARM guests -- previously a macOS host could only run macOS guests. The Windows guest gets its own display window, keyboard and mouse, sound, clipboard (including copying files to and from your Mac), one-click SSH, and networking, and is built from a Windows 11 ARM64 ISO you provide. It runs on a self-contained virtual-machine engine bundled with the app, and the guest agent and drivers are downloaded (code-signed) when you create the VM, so no test-signed components ship inside App Sandbox. - **Non-ASCII usernames and passwords now work when creating a VM through the scriptable API.** Characters outside plain ASCII (for example Chinese) arrive from the API JSON-escaped; App Sandbox stored the escape sequences literally instead of decoding them, so a VM created via the API with such a credential would reject the login. They are now decoded correctly. (The desktop app was unaffected.) - **The virtual display now recovers if it gets disabled in the guest.** The guest agent kept trying to restart the App Sandbox display driver -- which can't re-enable a disabled device -- so the picture never came back; it is now re-enabled and recovers. - Various stability and bug fixes across the Windows and macOS components. - **Windows VMs on macOS are not GPU-accelerated.** - **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)
52 lines
2.7 KiB
XML
52 lines
2.7 KiB
XML
<Project>
|
|
<!--
|
|
SINGLE SOURCE OF TRUTH for the App Sandbox version.
|
|
|
|
Edit the four numbers below and nothing else. Everything derives from them at build time:
|
|
* every app binary's FileVersion / ProductVersion (via build\version.rc, wired in
|
|
Directory.Build.targets)
|
|
* both drivers' DriverVer (<TimeStamp> in the driver .vcxproj)
|
|
* the release zip name (make-release.ps1)
|
|
* the Microsoft submission + product name (sign-drivers.ps1)
|
|
|
|
MSBuild auto-imports this file into every project in the tree, so no <Import> is needed.
|
|
-->
|
|
<PropertyGroup>
|
|
<AsbVersionMajor>0</AsbVersionMajor>
|
|
<AsbVersionMinor>1</AsbVersionMinor>
|
|
<AsbVersionPatch>4</AsbVersionPatch>
|
|
<AsbVersionRevision>0</AsbVersionRevision>
|
|
|
|
<!-- Derived forms - do not edit. -->
|
|
<AsbVersion>$(AsbVersionMajor).$(AsbVersionMinor).$(AsbVersionPatch).$(AsbVersionRevision)</AsbVersion>
|
|
<AsbVersionComma>$(AsbVersionMajor),$(AsbVersionMinor),$(AsbVersionPatch),$(AsbVersionRevision)</AsbVersionComma>
|
|
<AsbVersionShort>$(AsbVersionMajor).$(AsbVersionMinor).$(AsbVersionPatch)</AsbVersionShort>
|
|
</PropertyGroup>
|
|
|
|
<!--
|
|
The WDK's build-time INF verifier (DPVerifierTask) can't load x86\InfVerif.dll outside the
|
|
Visual Studio build environment, so command-line / CI builds error on it (HRESULT 0x8007007E).
|
|
Skip it there ONLY - VS GUI builds still run it, and the INF is re-verified by Microsoft on
|
|
every submission. $(BuildingInsideVisualStudio) is set to 'true' by the IDE and is empty for
|
|
command-line msbuild.
|
|
-->
|
|
<PropertyGroup Condition="'$(BuildingInsideVisualStudio)' != 'true'">
|
|
<SkipPackageVerification>true</SkipPackageVerification>
|
|
</PropertyGroup>
|
|
|
|
<!--
|
|
Same class of problem as the InfVerif skip above, for ARM64 driver builds.
|
|
ARM64 drivers must be Universal, so the WDK runs ApiValidator on them — but it
|
|
defaults to the x86 ApiExtractor (aitstatic.exe), which cannot read an ARM64 PE
|
|
and fails with exit code 193 (ERROR_BAD_EXE_FORMAT) when cross-building ARM64 on
|
|
a non-ARM64 host (e.g. the x64 dev/CI box). Disable it ONLY for that cross-build
|
|
case: native ARM64 hosts and every x64 build still run it, and Microsoft re-runs
|
|
full API validation on every attestation submission, so nothing ships unchecked.
|
|
(Checks both PROCESSOR_ARCHITECTURE and ...ITEW6432 so an emulated x64 MSBuild on
|
|
an ARM64 host is correctly treated as "host can validate".)
|
|
-->
|
|
<PropertyGroup Condition="'$(Platform)' == 'ARM64' And '$(PROCESSOR_ARCHITECTURE)' != 'ARM64' And '$(PROCESSOR_ARCHITEW6432)' != 'ARM64'">
|
|
<ApiValidator_Enable>false</ApiValidator_Enable>
|
|
</PropertyGroup>
|
|
</Project>
|