WSL9x runs a modern Linux kernel (6.19) cooperatively inside the Windows 9x kernel via a VxD driver, enabling both OSes simultaneously without rebooting.
Key Takeaways
Three components: a patched Linux kernel (win9x-um-6.19 branch), a VxD driver written in ASM/C, and a 16-bit DOS wsl.com client.
Linux syscalls (int 0x80) are intercepted via the Win9x GPF handler because Win9x lacks a long enough IDT for a proper handler.
The Linux kernel is based on user-mode Linux but runs in ring 0 and calls Win9x kernel APIs instead of POSIX APIs; context switching lives in linux/arch/um/os-Win95.
wsl.com uses MS-DOS VM windows as TTYs; ANSI color support requires a driver like nnansi.com loaded beforehand.
Build requires i386-linux-musl cross toolchain, Open Watcom v2, a pre-built Linux kernel, and a Windows 9x hard drive image.
Hacker News Comment Review
Commenters noted surprise that Linux 6.19 still targets i386, given mainline dropped i386 around 2012; this project relies on that continued support.
The naming drew debate: “Windows 9x Subsystem for Linux” mirrors Microsoft’s own grammatically ambiguous convention, which commenters found appropriately absurd.
No pre-built binary or VM image is publicly available yet, which is the main friction point for people wanting to try it quickly.
Notable Comments
@a1o: Asks for a downloadable binary or pre-configured VM, highlighting the gap between build complexity and casual tryability.