mirror of
https://github.com/jamesstringer90/appsandbox.git
synced 2026-10-22 02:52:49 -05:00
### Added - **Windows on ARM (ARM64).** App Sandbox now runs on ARM64 Windows PCs and can create **ARM Windows 11 VMs with GPU-PV** — paravirtualized GPU acceleration in the guest. ### Fixed - **Hardware OpenGL in Windows VMs.** OpenGL apps in the guest were stuck on Windows' GDI Generic software renderer (OpenGL 1.1) — apps needing OpenGL 4.3+ (e.g. Blender) refused to start. The old approach selected Microsoft's OpenGLOn12 driver via an AppInit DLL, but Windows disables AppInit DLLs when Secure Boot is on — and App Sandbox runs guests with Secure Boot on by default — so it never engaged (and even when it did, Windows' opengl32 dropped the GPU driver across the virtual GPU's render/display split). App Sandbox now installs the Mesa OpenGL driver directly into the guest, taking Windows' broken opengl32 out of the path, so apps get real GPU-accelerated OpenGL 4.6 (or software 4.6 with no GPU) — with Secure Boot left on. - **New VMs could fail to start with an odd memory size.** HCS (Windows' Host Compute Service) requires VM memory to be a multiple of 2 MB; the suggested default (half the host RAM) or a manually entered value could be odd (e.g. 7991 MB) and fail to start. RAM is now rounded to an even value in the suggested default, the create form, and inline edits. - **New Sandbox dialog no longer closes by accident.** Selecting text in a field and releasing the mouse outside the dialog no longer dismisses it. - Various stability and bug fixes across the Windows, macOS, and Linux components. ### Known issues - **x64 (emulated) apps in ARM Windows VMs don't get the OpenGL fix.** The Mesa driver shipped on ARM is ARM64-only, so emulated x64 apps fall back to the old renderer; native ARM64 apps get full GPU OpenGL. - **ARM Linux (Ubuntu 26.04 LTS) guests do not work in this release — on ARM, Windows is the only guest that works.** Ubuntu 26.04's arm64 kernel constantly churns BPF JIT memory, which makes the kernel boot extremely slowly and never reach the Ubuntu desktop. On a Qualcomm Snapdragon X1-Plus (ASUS A14) using 25H2, the guest never came up and the App Sandbox agent never came online.
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>2</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>
|