Someone Made a Windows 95 Subsystem for Linux

WSL9x is not Microsoft WSL, but a retro Windows 95 and 98 project that makes Linux run where nobody expected it.

For the past few days, I hesitated to share this news at first, since it might sound like a late April Fools’ joke. But open-source developers always find new ways to surprise me, and this project is a perfect example.

A developer created WSL9x, a GPL-3-licensed experimental project that runs a modern Linux kernel inside… the Windows 9x kernel (Windows 95, Windows 98, and Windows ME). To be clear, despite the similar name, it has no connection to Microsoft’s official Windows Subsystem for Linux. It’s an independent retrocomputing hobby project that just borrows the name and focuses on Microsoft’s old Windows 9x family.

Right now, the project uses a patched Linux kernel 6.19 that runs alongside the Windows 9x kernel. This setup lets both operating systems run together, so you don’t need to reboot into Linux or use a typical virtual machine. The result is closer to an old-school systems hack than a practical replacement for WSL on modern Windows.

Linux running on Windows 95.
Linux running on Windows 95.

WSL9x has three main parts. First, there’s a patched Linux kernel based on User-Mode Linux, but it calls Windows 9x kernel APIs instead of POSIX APIs. Second, it uses a VxD driver, which is the old virtual device driver format from Windows 9x. Third, there’s a small DOS client called wsl.com that links the Linux side to an MS-DOS prompt window.

This design is what makes the project stand out. Windows 95, 98, and ME don’t use the Windows NT architecture found in modern Windows versions. They came out long before Microsoft’s official WSL and don’t have the modern kernel or virtualization tools you’d expect for running Linux on Windows. WSL9x gets around this by loading the patched Linux kernel using methods from the Windows 9x era, instead of today’s WSL approach.

Once again, this project is for developers, retrocomputing fans, and anyone comfortable building and testing low-level software from source. It’s not a polished compatibility layer for everyday users. Microsoft isn’t involved, and this doesn’t bring the modern WSL stack to Windows 95 or 98.

Even so, WSL9x is an impressive technical experiment. It runs a modern Linux kernel inside an operating system from the 1990s, letting both work together. No matter how you see it, that’s pretty remarkable.

Finally, for reference to our younger readers, Windows 9x refers to Microsoft’s old consumer Windows line for 32-bit x86 PCs, including Windows 95, Windows 98, and Windows ME. Depending on the version, the hardware ranges from 386DX and 486 machines to the then-legendary Pentium era, which started with 60 and 66 MHz CPUs.

If you’re wondering where to find a computer like that, I honestly don’t know. But I bet if I checked my parents’ basement, I’d find some similar relic from my youth. One thing is certain, however: this news will likely bring back some nostalgic memories and put a smile on your face, which is reason enough to publish it.

For those interested, here is a link to the project.

Image credits: WSL9x Project

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.

Leave a Reply

Your email address will not be published. Required fields are marked *