Developer haileys released WSL9x in April 2026, a project that runs a modern Linux kernel (6.19) cooperatively inside the Windows 9x kernel at ring 0 privilege level. Trending on Hacker News with 777 points, it’s the reverse of Microsoft’s WSL—instead of running Linux inside modern Windows, it resurrects 25-year-old Windows 98/ME as a viable platform for modern Linux development. Both kernels run side-by-side in ring 0 with full privileges, achieved through a VxD (Virtual Device Driver) and a patched Linux kernel that calls Windows 9x APIs instead of POSIX. One HN commenter captured the sentiment perfectly: “An abomination of epic proportions that has no right to exist in a just universe and I love it so much.”
This isn’t just nostalgia. Industrial control systems, medical devices, and manufacturing equipment from the late 90s/early 2000s still depend on Windows 98, and WSL9x enables modern development tools without expensive hardware replacement.
How WSL9x Works: Two Kernels, Ring 0, No Isolation
WSL9x achieves kernel integration through three components. A VxD (Virtual Device Driver) initializes the system and loads the Linux kernel via DOS interrupts. The Linux kernel is heavily modified—based on user-mode Linux (UML), it’s been patched to call Windows 9x kernel APIs instead of POSIX. Finally, a 16-bit DOS program (wsl.com) provides the terminal interface. Both kernels execute in ring 0 (supervisor mode) with unrestricted hardware access.
This differs fundamentally from Microsoft’s WSL2, which uses Hyper-V lightweight VMs where Linux runs isolated from Windows. As creator haileys explained on Hacker News: “doslinux is some tricky sleight of hand where it looks like Linux is running inside DOS, but it’s actually the other way around…WSL9x takes quite a different approach. Windows boots first, but once Linux starts both kernels are running side-by-side in ring 0 with full privileges.”
Understanding ring privilege levels is fundamental to OS design. x86 CPUs provide four privilege levels (0-3), though most operating systems use only two: ring 0 for the kernel and ring 3 for user applications. Ring 0 grants unrestricted access to hardware, memory, and interrupts. Ring 3 isolates applications from hardware, forcing them through system call interfaces. WSL9x running both kernels in ring 0 is extremely rare—and risky. If either kernel crashes, both go down.
Not Just Nostalgia: Windows 98 Still Runs Factories
Windows 98 still runs in factories, laboratories, and medical facilities in 2026. Manufacturing equipment, laboratory instruments, and medical devices from the late 90s/early 2000s require specific Windows 98 drivers that only function correctly on the original OS. Replacing industrial robots or medical equipment costs millions of dollars. As one HN commenter explained: “At one workplace, a Windows 98 box acts as a mothership for disk management for 70 industrial robots that run an application in DOS, running on top of DOS 8.0.”
Another described “radio transmitter control systems still running on Windows 95 in 2026” and “SCSI device passthrough scenarios requiring native Windows applications.” The industrial philosophy is pragmatic: if it’s not broken, don’t fix it.
WSL9x solves a real production problem. It enables modern Linux development tools—git, contemporary compilers, modern editors—on legacy Windows 98 hardware that can’t be upgraded due to driver dependencies. This isn’t a hobby project. It extends the lifespan of multi-million dollar equipment by providing modern tooling while maintaining critical driver compatibility.
WSL9x vs WSL2 vs doslinux: Different Architectures, Different Trade-offs
Each approach represents different trade-offs between stability, integration, and performance. Microsoft’s WSL2 uses a subset of Hyper-V features to run the Linux kernel inside a lightweight utility VM with seamless Windows integration but full isolation. The Linux kernel runs isolated from Windows, protected by VM boundaries. Stability is excellent—if Linux crashes, Windows continues unaffected.
doslinux, by the same creator, uses a clever architectural inversion. It runs Linux first, then executes DOS in vm86 mode under the Linux kernel. It’s simpler than WSL9x but provides less integration between the operating systems.
Traditional VMs (VirtualBox, QEMU) use full hardware emulation or paravirtualization with hypervisor overhead. They prioritize compatibility through complete hardware abstraction, at the cost of performance and resource usage.
WSL9x is unique: both kernels side-by-side in ring 0, no isolation. This architecture optimizes for integration at the expense of stability. It teaches a fundamental OS design principle: you can’t simultaneously optimize isolation, performance, and integration. Modern systems choose isolation and sacrifice some integration. WSL9x makes the opposite choice.
Learning from Constraints: What WSL9x Teaches About OS Design
Retro computing projects have educational value beyond nostalgia. Working with Windows 9x constraints—cooperative multitasking, limited memory management, 25-year-old architecture—teaches OS design principles that modern abstractions hide. VxD driver programming demonstrates ring 0 operations. UML kernel patching shows syscall translation layers. Integrating incompatible kernels reveals why modern operating systems enforce strict isolation boundaries.
Windows 98’s educational advantage is visibility. Students encounter an operating system where file systems, memory management, and hardware interactions remain visible rather than abstracted. The lack of automatic updates and cloud integration forces manual system management that teaches core computing concepts. Modern developers rarely encounter ring 0 programming, manual memory management, or cooperative multitasking. WSL9x provides hands-on experience with kernel internals through a real working system.
The project is “proudly written without AI,” emphasizing manual craftsmanship and deep understanding over automated code generation. That matters. Deep systems knowledge—VxD programming, x86 privilege levels, kernel architecture—enabled a project that seemed impossible.
However, WSL9x isn’t production-ready. Both kernels in ring 0 means no isolation—kernel-level bugs crash both operating systems. Build complexity requires specialized toolchains (i386-linux-musl cross-compiler, Open Watcom v2, patched kernel source). Future Linux kernel updates may break compatibility—Linux 7.1 is phasing out i486 support. Windows 9x ended support in 2006 with no security updates, requiring air-gapped offline deployment.
WSL9x is appropriate for offline industrial systems, educational environments, and preservation projects. It’s experimental, not a replacement for stable virtualization. Organizations relying on it for critical systems should understand the risks.
Key Takeaways
- Technical achievement: WSL9x runs both Windows 9x and Linux kernels side-by-side in ring 0, requiring deep kernel engineering expertise and VxD driver development
- Real industrial value: Windows 98 still runs factories, laboratories, and medical facilities in 2026 due to driver dependencies on million-dollar equipment
- Educational insight: Working with legacy system constraints teaches OS design principles hidden by modern abstractions—ring privileges, cooperative multitasking, manual memory management
- Architectural trade-offs: WSL9x optimizes integration over stability (both kernels in ring 0), WSL2 optimizes stability over integration (VM isolation), doslinux optimizes simplicity
- Not production-ready: Experimental stability, complex build requirements, no isolation between kernels, but valuable for learning and offline industrial systems










