With Windows 9x Subsystem for Linux you can run all your favourite Windows and Linux apps side-by-side with a modern Linux kernel running cooperatively with the Windows kernel in ring 0. And unlike modern WSL, no hardware virtualisation is used so even your 486 can run it!

Please enjoy, I think this might be one of my greatest hacks of all time

https://codeberg.org/hails/wsl9x

@hailey Is this like CoLinux? It was running User Mode Linux as a Windows process on XP, no virtualisation needed. Basically WSL2 way ahead of it's time!

The only caveat is that it relied on both arches having compatible pointer sizes which excluded 64bit, so it was never ported to win7.

On a technical aspect though WSL1 is IMHO even better than it's successor, it's literally implementing POSIX and Linux on the NT microkernel. After all NT was supposed to also run OS/2 and Xenix...

@dermoth @hailey yes, WSL2 is just a crappy VM, WSL1 is the true invention

@mirabilos @hailey Well, that said WSL1 didn't come without any drawback:

- Slower local file access (files were stored natively on NTFS - even trough a VM, Linux on ext4 is faster)
- Cross-os file changes caused weird permission/ACL issues
- Not all Linux ABI / interfaces were implemented (and this is a moving target!)

That last point is important, for ex. Debian Trixie fails on WSL1 because new passwd locking isn't implemented in the NT kernel. New interfaces would require support too.

@dermoth @hailey sure, but it works well enough, and for those corner cases you can still use VMs

in contrast, networking just works on WSL1 (even better than under native WS2!) and is utterly broken on WSL2, for example

@mirabilos @hailey They actually fixed it, you can use host networking in recent versions. That matter a lot for me as I prefer using Vcxsrv for the X server. Theirs is broken on non-US keyboards and I don't need 3D. And besides, I've been using X apps long before WSL "supported" them.

IIRC initially we could use the resolver's IP but they locked out down, and then whatever solution caused X apps to randomly disconnect. But I have it 100% stable again. Happy to share my setup when I'm home...

@hailey @dermoth I did intricate things with getting and setting the ECN bits on v4 and v6 UDP with v4/v6 sockets, and the networking was… very broken.

But that was for a previous job, and also only to see what works on AIX, BSD, Windows, etc.

Thankfully, no Windows at the new job, and only win2k (for which I have Cygwin and Interix) at home, so no need to share.