The first brief recommended a games-first beachhead. The owner rejected any restriction of scope. This is the answer to the full question: what must be built so that any Windows application installs and runs on AIOS, without a Windows virtual machine as the primary path and without shipping a single Microsoft binary.
The claim you can make
AIOS runs any Windows application, with the exception of kernel anti-cheat and hardware-attestation-bound software, which only a genuine Windows kernel can satisfy. Native reach is about two-thirds of Windows application demand; with the escape hatch it is 87–90% on the first day AIOS has an RDP client; the remainder is closed to everyone except Microsoft or a bare-metal Windows install.
A 374-application target list across 23 categories, 17 attributes per app, weighted by demand. Each app's attributes map to a set of about 28 subsystems; ordering subsystems by apps-unlocked-per-engineer-year is the prioritisation engine for the whole programme.
| Step | + Subsystem | Cost EY | Cum. EY | Unlocked | |
|---|---|---|---|---|---|
| 0 | Ported Wine PE side on an NT-shaped kernel | — | 0 | 7% | |
| 1 | D3D1–11/DDraw → Vulkan (adopt DXVK/wined3d) | 6 | 6 | 16% | |
| 2 | Chromium-class runtime (sandbox, JIT, GPU process) | 5 | 11 | 24% | |
| 3 | Services: SCM, WMI, Task Scheduler, event log, DCOM activation | 3 | 14 | 26% | |
| 4 | Commercial licensing daemons | 3 | 17 | 29% | |
| 5–6 | .NET 5+ runtime, then .NET Framework 4.x | 5 | 22 | 34% | |
| 7–10 | USB/HID, printing, ASIO audio, OpenGL | 8.5 | 30.5 | 45% | |
| 11–15 | Entra token broker, hooks/overlays/capture, smartcard, WPF, WebView2 | 13.5 | 44 | 54% | |
| 16–18 | WinRT base, D2D/DirectWrite, D3D12 → Vulkan | 12 | 56 | 63% | |
| 19–22 | Media Foundation/DirectShow, MSIX, MSHTML, VPN | 12 | 68 | 70% | |
| 23 | Third-party kernel-driver compartment | 15 | 83 | 81% | |
| 24–28 | Shell-extension host, Win16, Cloud Files, WinUI 3, UWP | 25 | 108 | 89% | |
| — | Anti-cheat vendors ship AIOS support (policy, not engineering) | — | — | 93% |
User-mode Win32/.NET/Java desktop apps 45% · games without kernel anti-cheat 25% · games with kernel anti-cheat that refuse non-Windows 8% · apps needing Windows kernel drivers 7% · platform/DRM-bound apps 10% · utilities that modify Windows itself 5%.
Apps lost if one subsystem is removed from the full build: D3D9–11 134 · Chromium runtime 120 · services/WMI 112 · licensing 61 · .NET Framework 54 · driver compartment 49 · Microsoft identity 42 · WinRT 35 · USB 32.
27 of 374 apps (7%) cannot be reached by engineering: 19 kernel anti-cheat, 5 Store/PlayReady, 2 hypervisor-dependent, 1 SafeDisc. Everything else — CAD, DAWs, Adobe, SAP, Bloomberg-class terminals, EHR clients, legacy LOB — is an engineering problem.
Proton runs ~90% of ~118k Steam titles by count; only 46% of the Steam top 100 are Deck Verified/Playable; 693 of 1,167 tracked anti-cheat games are Broken or Denied.
Read down: what runs, where the seam is, what AIOS owns. The personality boundary is the Starnix mechanism — foreign syscalls and faults switch mode on the same thread, no IPC.
| Option | Description | Reach E | Verdict |
|---|---|---|---|
| A | Wine-style runtime on an NT-shaped AIOS kernel | ≈59% | The core |
| B | Full NT clone as the AIOS kernel (the ReactOS route) | < A in practice | Reject: 200+ EY, provenance risk, and AIOS becomes NT |
| C | NT personality in a multi-personality kernel (Starnix-style) | ≈62% | The mechanism under A |
| D | A + C + driver compartment | ≈67% | Recommended native layer |
| E | Light VM running ReactOS | ≈32% | Reject as an app platform; its driver ABIs are reused |
| F | Library OS with ReactOS DLLs | ≈45% | Reject: Drawbridge's value was real Windows DLLs |
| G | User's licensed Windows in an AIOS VM with RemoteApp windows | 77–86% | Recommended escape hatch |
| D+G | 87–90% | Recommended |
The precedent
Fuchsia's Starnix: a new Rust kernel added a foreign-ABI (Linux) personality as a Rust user-space "kernel", one instance per container, with foreign code in a restricted mode that Zircon added 17 months in. Starnix reached ~270k lines in 5.5 years because it has to be Linux. A Starnix for NT inherits Wine's 2.45M-line PE side and needs only the ~200-call kernel surface.
| # | Decision | Why (note) |
|---|---|---|
| D1 | Implement the complete NT syscall table of Windows 11 24H2 natively; per-process build map; NT in 0x0000–0x1FFF, AIOS syscalls in a disjoint range | Only 103 of 489 numbers are stable across builds; Wine pins 100 and traps the rest at 3.3–3.5 µs vs ~120 ns; AIOS owns the trap (03, 07) |
| D2 | ntdll stub bytes byte-identical to Windows; one coherent per-process version profile | Chromium's sandbox pattern-matches the stubs; build-keyed software reads the build number (07, 10) |
| D3 | Real security enforcement in the kernel: tokens as objects, AccessCheck in the object manager and VFS, enforced mitigation policies, win32k lockdown as a revocable capability | The unmodified Chromium sandbox does not work on Wine; it is BSD-licensed, so kernel primitives give half the desktop its real security model for free (10) |
| D4 | win32k stays in user mode | Longene's failure; Wine's success (03, 12) |
| D5 | Upstream Wine, in-tree AIOS platform target; PE side never forked | 1,092 commits in 2025 to the three directories AIOS depends on (08, 12) |
| D6 | Wine ships as a separately distributed, dynamically linked, user-replaceable subsystem | LGPL contained; ReactOS and ntsync are GPL-2 and used as specification only (08) |
| D7 | Graphics contract = Vulkan 1.3 + a 4-function surface extension; DXVK and vkd3d-proton unmodified | Wine's whole Vulkan contract with its windowing driver is 4 functions (05) |
| D8 | GPU drivers via a Linux-DRM-compatible interface hosted in a user-mode driver process; NVIDIA via open modules + NVK | Mesa ports with #ifdefs; FreeBSD runs 6.1M lines of DRM on a 62.8k shim (05) |
| D9 | Own a WebView2-compatible runtime over open Chromium (295 interfaces behind the BSD loader's seam) | Microsoft's runtime is not redistributable; 34% of the universe embeds Chromium (04, 11) |
| D10 | Driver compartment with graded isolation; ring 0 never runs foreign .sys unisolated | 634 exports cover the corpus; public WDK ABI; NDISwrapper and ReactOS precedents (06) |
| D11 | The escape hatch is a product feature; its launch telemetry is the native backlog | The only honest route to "any app on day one" (12) |
| D12 | Windows identity by default, explicit opt-in identity channel for vendors; never forge attestation | Most detection exists to refuse to run; the Proton modes are the exception (07, 06) |
Windows 11 24H2 x64 has 489 NT services and 1,477 win32k services. Wine 11.18 implements 207 NT services in real code, and 185 of them reach wineserver state. wineserver's 308 requests split into 181 from ntdll (the NT kernel surface) and 111 from win32u (the window manager). That triangulation is the real kernel an application needs.
Cannot be retrofitted
The object model, handle table, wait engine, VM reserve/commit model, VFS casefold/share-mode/stream/file-ID design, exception ABI and token enforcement must be designed before the AIOS VFS and VM are frozen. This is exactly where Drawbridge's ten thousand changed lines and Wine's twenty-five-year wineserver tax came from.
MEM_TOP_DOWN, ZeroBits, Windows-like ASLR; image sections with kernel-side relocation and cross-process sharing; an exact VAD tree; no small map-count cap.NtContinue on arbitrary CONTEXT with XSTATE; debug registers; the instrumentation callback on every kernel-to-user return; thread start with x87 CW 0x27F and MXCSR 0x1F80 (Linux's 0x37F silently changes MSVC floating-point results V).KUSER_SHARED_DATA page and a user-mode TSC clock, and WoW64 from day one: 17 of 28 installer executables in the corpus are x86 PEs even for 64-bit products V.| Subsystem | Rust kLOC | Eng-months |
|---|---|---|
| Syscall entry, service maps, stub generator, KUSD, TEB/PEB | 4–6 | 5–7 |
| Object manager, handle table, namespace | 6–9 | 7–10 |
| Dispatcher objects, waits, APCs, timers | 6–9 | 8–12 |
| Process/thread, contexts, exception delivery, WoW64 segments | 12–18 | 15–22 |
| VM and sections | 18–25 | 22–32 |
| I/O manager core | 12–18 | 14–20 |
| Filesystem semantics in the VFS | 10–15 | 12–18 |
| Named pipes, mailslots, AFD sockets | 8–12 | 8–12 |
| Registry objects | 6–9 | 6–9 |
| Security | 8–12 | 10–14 |
| Debug objects, jobs, atoms, misc | 5–7 | 6–9 |
| Conformance harness (Wine's 78 kLOC ntdll tests + ntsync selftests) | tests | 6–9 |
| Total | 95–140 | 120–175 |
What Linux had to bolt on, and AIOS builds in
About twenty Linux kernel or distribution changes were made for Windows compatibility between 2014 and 2025, largely paid for by Valve through Collabora and Igalia, each with a two-to-seven-year lag to mainline: esync/fsync → futex_waitv → ntsync; casefold on ext4, f2fs, tmpfs and overlayfs; Syscall User Dispatch (used by Wine only from 2026); PAGEMAP_SCAN for write-watch; split-lock mitigation; a 16× higher map-count limit; sched_ext; atomic async flip; HDR colour properties; GPU reset events; UMIP emulation; LDT and espfix64 kept alive; FSGSBASE. Every row is a design requirement AIOS meets at specification time, for free.
Of Wine's ~2.45M lines of DLL code only ~115k talk to the kernel; the host ABI is 144 kernel-facing symbols and 109 observed syscalls. wineserver's 308 requests: 191 are an NT executive the kernel absorbs, 117 are window management that stays in user mode. Blocking signals around every server call is 32% of all syscalls Wine makes — a tax an NT-native kernel deletes. Port cost 75–125 EM plus 1.5–3 FTE upstream tracking.
DXVK and vkd3d-proton need only Vulkan 1.3; Wine's Vulkan contract with its windowing driver is four functions. Mesa ports with #ifdefs; the DRM drivers under it are millions of lines and must be hosted LinuxKPI-style in a user-mode driver process. Wine's biggest semantic hole is composition: dcomp.dll is 52 lines returning E_NOTIMPL, so WinUI 3, modern Office frames and pro-audio plugin UIs fail. Host side 200–375 EM; Wine side 175–330 EM.
Corpus of 86 apps: 77% initialise COM, 55% contain WinRT class names, 24% ship managed code, 16% embed Chromium, 24% each invoke WMI and PowerShell. Wine implements 68 of 960 WinRT classes; its powershell.exe is a 48-line stub that ignores commands and returns success. AIOS must build its own .NET packs from MIT source and a WebView2-compatible runtime (295 interfaces). 370–450 EM.
A fresh prefix idles at 5 processes and 65 MB; the registry is 13,611 generated keys, 80% COM; apps probe 836 real PE files in System32. Installers cluster: 7 of 8 MSIs run DLL custom actions, 5 of 8 as SYSTEM, 8 of 30 installers require administrator. AIOS builds the registry and system image at build time and needs elevation UI, Restart Manager and Task Scheduler on day one. 60–70 EM.
Wine's security is permissive by design; the unmodified Chromium sandbox runs neutered. A real token/ACL/mitigation model in the kernel gives Chrome, Edge, Electron and Firefox their true security model for free. Crypto and a Windows-compatible root store are a packaging exercise (SymCrypt, Mozilla roots, Microsoft's public CTL feed). The Microsoft-account plane (WAM, TPM-bound device registration) is the definitive wall; browser OAuth is the fallback.
132 carved drivers import ~900 symbols, all public WDK; ReactOS implements 556 of the 634 ntoskrnl imports. Net-new work: NDIS 6, the WFP callout API, KMDF ≥1.17. Graded isolation from a user-mode host through EPT micro-domains to micro-VMs with IOMMU-brokered DMA; ring 0 never runs foreign code unisolated. Phases P0–P4: 350–550k LOC mostly ported, 8–13 engineer-years. Anti-cheat attestation: ∞.
The escape hatch, as a product (12)
MS-RDPERP is a published protocol; FreeRDP implements it; WinApps and WinBoat already package KVM plus a guest agent plus RemoteApp. Retail and volume Windows licences allow a virtual instance; OEM licences generally do not; Microsoft authorised Parallels in 2023 and sanctions Windows 365. G0 remote client in months, G1 local VM, G2 passthrough. Most kernel anti-cheat refuses VMs, so it stops at 90–95%. It makes "any app" true on the first day AIOS has an RDP client, and the apps launched through it are the ranked native backlog.
Two instruments were built and run on this machine: a static import census over official downloads, and relay/syscall/server tracing of real programs under a portable Wine 11.18.
8,675 distinct imported functions from 338 DLLs and API-set contracts; median product 900 functions from 26 DLLs. Wine already implements 88.2% (6.1% partly, 2.2% stubbed, 2.2% missing); 39 of 85 products import nothing Wine lacks. There is no small core: the top 50 DLLs fully cover 10.6% of products, the top 200 only 57.6%. COM 91.8% · Common Controls 6 manifests 77.6% · API-set contracts 70.6% · direct ntdll imports 52.9% · 32-bit x86 code 50.6% · WinRT 47.1% · .NET 31.8% · kernel drivers 8.2%.
14 work (7-Zip, Notepad++, KeePassXC, OpenTTD, VS Code with and without its sandbox, Greenshot on wine-mono, curl, ripgrep, python, five installers); ShareX stops on a missing Microsoft font, PowerShell 7.6's console host crashes, Windows Terminal fails on missing XAML. A median app calls 157 distinct functions; a main executable called a median of 35% of its static imports, with 583 functions reached only through GetProcAddress. 85% of Win32 calls never reach the kernel. 6 of 308 server request types carry half the traffic. The single most frequent kernel call is the performance counter read (~500k per 90 s in VS Code), which on Windows never enters the kernel.
Static imports miss half the interface: 28% of files resolve functions dynamically, 39% are .NET IL, 1,934 import through api-set contracts, 193 do COM activation and 76 WinRT activation. The instrument must trace COM/WinRT activation, vtable calls, P/Invokes, registry, file, IOCTL and RPC traffic, not just exports.
1,016 files, 1.86M LOC, 260,665 assertions, 8,754 todo_wine markers, run daily on 43 real-Windows reports; even on Windows 1.8–5.4% of units fail. Microsoft's CC-BY docs add 46,267 function pages; 425 MS-* protocol specifications are published.
| Workstream | Engineers | Duration |
|---|---|---|
| Kernel NT primitives and VFS | 4–6 | 3 years |
| Personality and the Wine port | 4–6 | 3–4 years, then permanent upstream work |
| Graphics integration (excluding the GPU driver itself) | 2–3 | ongoing |
| Runtimes above Win32: services, .NET, WebView2, composition, WinRT | 4–6 | 3–4 years, then 3–4 FTE tracking |
| Session, registry, installers, shell | ~4 | ~18 months |
| Hypervisor, VMM, RemoteApp | 3–4 | 2 years |
| Driver compartment | 3–4 | ~3 years |
| Instrument, CI, reference farm, Verified programme | 2–3 | permanent |
| Total | 18–27 | ≈4 years, 70–110 EY — plus the GPU driver programme (66–114 EM initial + 2–4 FTE) AIOS needs regardless |
The irreversible decisions, in the order they bite
1. Object model, handle table, wait engine, VM reserve/commit, VFS design, exception ABI, token enforcement — before the AIOS VFS and VM are frozen. 2. Syscall-number ownership and personality restricted mode — before the first process ABI ships. 3. The GPU contract — before the display server is designed. 4. Upstream-Wine policy and the clean-room process — before the first compatibility commit. 5. The LLM-code lane — before the first generated line lands.
| Wall | Why | Native | Hatch |
|---|---|---|---|
| Kernel anti-cheat (Vanguard, Javelin, Ricochet, FACEIT; non-opted EAC/BattlEye) | Attests a genuine Windows kernel, Secure Boot, TPM; forging it is a bypass | No; vendor opt-in only | Mostly no |
| Hardware attestation and compliance (Intune, Pluton, Hello ESS, VBS enclaves) | Attests the measured boot | No | Partial |
| Microsoft-account silent SSO, Conditional Access, WNS | TPM-bound device registration against Entra | Browser OAuth only | Yes |
| Microsoft-only runtimes treated as OS parts (PowerShell 5.1, .NET Framework, WebView2, Segoe/Calibri fonts) | Not redistributable | Reimplement or user-supplied | Yes |
| Store licensing, Gaming Services, PlayReady hardware DRM | Server-backed, Microsoft-signed | No | Yes |
| Code-integrity-dependent software (signature checks on system DLLs; anti-tamper hashing DLL bodies) | Needs Microsoft's code | No | Yes |
| Hypervisor-support drivers (VBoxSup, vmx86, Hyper-V, WSL2 backend) | Collide with AIOS's own VMX use | Native VMs instead | Nested only |
| NVIDIA proprietary user-space (CUDA, NVENC, DLSS, OptiX) | Closed; the CUDA EULA bans translation layers | Graphics only | Passthrough |
| Codec patents (H.264 to Nov 2027, HEVC, AAC, Dolby) | Business licensing | Pool licence or free-codec policy | — |
| NTFS on-disk parity (USN journal, EFS, VSS, exact collation) | Non-NTFS filesystem | Emulate at cost | Yes |
| Windows-modifying software (shell replacements, AV/EDR, credential providers) | Their purpose is Windows itself | Meaningless | VM only |
| Moving targets (~300 NT and ~1,000 win32k numbers reshuffled per release; ~6,300 Wine changes a year) | A treadmill | Track | — |