WSL9x: The incredible experiment to bring Linux to Windows 95 and 98

Last update: 29/06/2026
Author Isaac
  • WSL9x allows the Linux 6.19 kernel to be run cooperatively on Windows 9x operating systems without using virtualization.
  • The project is based on a patched kernel, a VxD driver, and a 16-bit DOS console client.
  • This is a feat of reverse engineering developed by hand by Hailey Somerville over six years without the help of AI.

WSL9x Interface

Imagine for a moment being able to open a Linux terminal, with all its modern tools, while navigating the grayish, nostalgic desktop of Windows 95. While it might sound like a joke from the most extreme hacker conventions, someone has gone to the trouble of making it a reality. We're talking about an experimental project called WSL9x, a Linux subsystem for Windows 95 and 98 , a kind of technical tribute that adapts the philosophy of the current Windows Subsystem for Linux to an era when computers had a completely different architecture.

This isn't your typical virtual machine, nor is it a dual-boot setup that forces you to restart your computer. It's a highly unorthodox integration that allows a Linux kernel and a 1990s Microsoft operating system to coexist in the same space. Essentially, it's an ingenious piece of computer archaeology that demonstrates how backward compatibility can reach almost absurd levels if someone has enough patience and assembly language skills.

Using Linux on Windows 95 with WSL9x
Related articles:
WSL9x: This is how Linux runs inside Windows 95 without a virtual machine

Who is behind this technical madness?

WSL9x Development

The mastermind behind this hack is Hailey Somerville, a programmer and hacker who has dedicated six years of quiet work to polishing this gem. The project was officially presented at Codeberg and quickly went viral on platforms like Mastodon and Hacker News, where computer enthusiasts were blown away by the ability to run the Linux 6.19 kernel on a system that was already obsolete decades ago.

  Where does Windows 11 Notepad save files by default: Location, tips, and how it works?

One detail that caught the community's attention was the author's statement in the README file, where she proudly boasted that the code was written without AI . In an era where everyone uses language models for programming, someone taking the time to grapple with i386 assembly language and the manuals of that time is an act of technical rebellion that has been widely applauded.

The internal architecture: How does it really work?

WSL9x Schematic

To make Linux work within Windows 9x, Hailey had to build a bridge composed of three fundamental pieces. First, he used a modified Linux kernel based on User-Mode Linux (UML), but with a twist: instead of using standard POSIX calls, this kernel was patched to directly invoke native Windows 9x APIs.

The second component is a VxD driver , which is the driver format specific to that generation. This component does the heavy lifting, loading the vmlinux.elf file and handling user-space events. The problem is that Windows 9x doesn't have a table of interrupt descriptors large enough for the 0x80 vector used by Linux, so the driver uses the General Protection Fault (GPF) handler to intercept system calls and redirect them to the Linux kernel.

Finally, the user interacts with all of this through a wsl.com client . This is a simple 16-bit DOS program that acts as a bridge, passing the prompt to the kernel as if it were a TTY. The result is an integrated terminal experience where you can run basic GNU commands without leaving your existing Windows environment.

Risks, limitations and comparisons

Let's not kid ourselves: this isn't a tool for everyday work, but rather a demonstration of technical prowess. One of the developer's biggest warnings is that Linux and Windows share Ring 0 privilege . This means there's no memory isolation; if the Linux kernel makes a mistake, it will crash the entire system , causing a blue screen or a complete system freeze.

  The 2020 Best VPNs to Reduce Game Lag in FIFA XNUMX

As for capabilities, forget about the graphical interface. WSL9x is purely text-based, so it requires the user to be completely comfortable using the command line . Running Docker or Kubernetes containers is also not possible, as the i386 hardware and memory limitations of the time wouldn't have been able to handle such workloads.

If we compare this project to other historical attempts, we see that it is very different. While Cygwin was merely a compatibility runtime and CoLinux loaded the kernel into Windows XP, WSL9x specifically targets the 9x family. Unlike WSL2 in Windows 11, which uses a highly refined Hyper-V hypervisor, here we have a raw and direct cooperative merging of two operating systems.

The wsl9x project stands as a virtuoso exercise in reverse engineering, successfully bridging the past and present. By manipulating VxD drivers and deeply modifying the 6.19 kernel, Windows 95, 98, and ME have been made to function as hosts for a modern system, demonstrating that the technical gap between decades can be bridged with sufficient ingenuity and a complete mastery of assembly language.