- Before WSL, the best ways to run unmodified Linux binaries inside Windows were CoLinux and flinux.
http://www.colinux.org/
https://github.com/wishstudio/flinux
flinux essentially had the architecture of WSL1, while CoLinux was more like WSL2 with a Linux kernel side-loaded.
Cygwin was technically the correct approach: native POSIX binaries on Windows rather than hacking in some foreign Linux plumbing. Since it was merely a lightweight DLL to link to (or a bunch of them), it also kept the cruft low without messing with ring 0.
However, it lacked the convenience of a CLI package manager back then, and I remember being hooked on CoLinux when I had to work on Windows.
- So, is it like colinux[0], but for pre-NT windows? Neat!
Back when I was still using windows (probably XP era), I used to run colinux, it was kind of amazing, setting up something like LAMP stack on the linux side was a lot easier and then using windows editors for editing made for quite nice local dev env, I think! Could even try some of the X11 servers on windows and use a linux desktop on top of windows.
When I noticed I kept inching towards more and more unixy enviornment on the windows, I eventually switched to macOS.
Apart from the obvious hack-value, I can't quite imagine even pretend use-case, with some 486 era machine, you would be limited by memory quite quickly!
[0] http://colinux.org/
- Is this person a wizard?
To me, this seems an impossible feat.
But I wonder how it seems to people who understand how it works?
I'm reminded of this joke:
Two mathematicians are talking. One says a theorem is trivial. After two hours of explanation, the other agrees that it is indeed trivial.
- What's a good resource going over the architecture of Windows 3.x and 9x? I know bits and pieces, like that it has a "VM Monitor", and there's support for this sort of thing, though the details are all over the place. Most people summarized Windows as just "running on top of DOS", which is clearly not correct. Obviously, it doesn't use "virtual machines" in exactly the modern sense of the word, but there's clearly something cool and technical going on, that most sources seem to gloss over.
I wonder how similar this project is to "BSD on Windows": https://archive.org/details/bsd-on-windows
Also, I know about https://en.wikipedia.org/wiki/Architecture_of_Windows_9x, but it's not really meaty enough for my taste. :)
- > Proudly written with zero AI.
Unfortunately this is ambiguous, as there's an AI product called Zero AI.
- This being on the front page the same day as "Show HN submissions tripled and now mostly have the same vibe-coded look" is nice to see. One person spends 6 years understanding Win9x internals to run a modern Linux kernel inside it. The other thread is full of apps that took 20 minutes to prompt into existence. Posts like this make me happy.
- Direct link without the social hop-through: https://codeberg.org/hails/wsl9x
- By microsoft's naming scheme this should be Linux Subsystem for Windows
by AshamedCaptain
1 subcomments
- I guess easier than https://github.com/haileys/doslinux
- Modern linux kernel running cooperatively inside the Windows 9x kernel, sick!
- I know there’s a small hobby industry of people creating Windows 9x compatibility shims for later Windows APIs… but who needs that when you can just run Linux apps?
- Hmm I wonder how stable it is.. It cannot render correctly Window control buttons (Minimize, Maximize, Close). If it fails on such basic task, I wonder where it crashes...
- Little late but would this have actually allowed running early Linux under Windows when Windows 95 came out in the 90s? I remember only dual booting being available at that time.
by jhallenworld
1 subcomments
- VxDs and Watcom C... now those are names I haven't heard in a long time.
Do any screen editors work in the command prompt windows? Try with "export TERM=ansi".
by ErroneousBosh
2 subcomments
- If I can get this to work (haven't tried yet) it directly solves a problem I have right now this week right here in 2026, 30 years after Windows 95 was even a thing.
Yes, I have weird problems. I get to look after some very weird shit.
- I remember running CoLinux back in my training days ~2005-2006. It seemed a bit like black magic to me at the time, but it worked quite well for my needs.
But CoLinux - IIRC - required the NT branch of Windows. I can only imagine the level of hackery it takes to make this happen on Windows 9x.
Part of me wants to weep at the sheer perversity, part of me wants to burst into manic laughter. It is indeed a world of endless wonders.
- Huh - I didn’t know Linux had a usermode $ARCH! Or maybe it’s an earlier fork? The kernel version looks to be 6.9.
(To clarify: while the kernel is actually running at ring 0, to act as a driver it seems to use the usermode profile.)
by ryanshrott
1 subcomments
- The NT kernel (used in NT 3.1 through 2000, XP, and eventually backported to Windows 10/11's WSL) was designed from scratch in 1993 with a POSIX subsystem from day one. The whole design philosophy was "multiple personalities" - handle syscalls from different environments by translating them to native NT kernel calls. WSL1 in 2016 essentially reimplemented that same trick for Linux.
Windows 9x, by contrast, was DOS-derived. Running Linux inside it would require fundamentally different (and messier) hacks - which is probably why nobody did it at the time. The very fact that this works at all is a testament to how ahead-of-its-time NT's architecture was.
For a practical answer: you'd need something like this for legacy locked-in situations. Old medical or industrial software that only runs on Windows 98, or specialized hardware without modern drivers. That said, if you have a 486 handy in 2026, running Linux natively is almost certainly more useful than running it inside a 30-year-old DOS derivative.
- Is this Win4Lin resurrected?
by thrownaway561
0 subcomment
- Everytime I see something like this, I'm like, how in the hell did they learn and then figure this out? Congrats on this!!!! I will definitely have to play with this for some of that sweet nostalga.
by jszymborski
3 subcomments
- I want a Linux Subsystem for Windows 9x or MS-DOS :P
- Incredible that current Linux kernels still have 486 support!
by pwdisswordfishq
2 subcomments
- > "no hardware virtualisation"
> looks inside
> virtual 8086 mode
- This is genius! Now I hope to run all my childhood games on a modern Ubuntu.
- I thought this was about running windows 9x within linux. Is there such thing without virtualisation?
- @haileys I would love to see that on ArcaOS! I bet it can't be done.
by throwaway27448
0 subcomment
- Sidebar: does anyone else find the naming of this super confusing—does this mean embedding windows in linux or linux in windows? Surely we could find a way to refer to composing operating systems that isn't inherently ambiguous. Say, "linux inside of windows" would be less ambiguous.
Edit: to the people who downvoted, I corrected my spelling mistake. I will perform due penance.
- Shouldn’t it be called Linux Subsystem for Windows 9x - LSW9x?
- Okay what is it with WSL naming, this always confuses me. Shouldn't it be Linux subsystem for Windows?
- we did it fellas -- linux on the desktop
I am going to run this in Windows 95 on a Sun PC card under Solaris 7.
from the same commenter who effused jesus fucking christ this is an abomination of epic proportions that has no right to exist in a just universe and I love it so much
by globular-toast
2 subcomments
- Does this mean it runs on Linux or runs on Windows. I can never tell with this MS "subsystem" naming.
- Brilliant! Bye bye M$
- can i use this as Window manager for linux?
- > "Much of the actual Win9x kernel integration including context switching lives in the Linux kernel."
Does it live there irrespective of this project? Or is that part of the patching?
by shevy-java
0 subcomment
- Interesting idea. Does it actually work? If so, didn't the guy kind of simplified WSL here?
I have not tested this yet, so I have no idea - but if he managed to pull this off then this may be one of the greatest achievements this year. Or perhaps there are some restrictions to it? Does compiling stuff work in it? So many questions ... who has the answers?
by varispeed
1 subcomments
- This could prompt me to finally assemble the Pentium desktop I have in storage in parts.
- Oddly enough, I could kind of use this right now. I have some software which used SCSI (Adaptec WNASPI32.dll) calls to administer a device over the SCSI bus .. would this Subsystem be usable for that, or does it still require I build a WNASP32.dll shim to do translation?
- Can someone explain me the so what? Like it is impressive, but why do we need it?
by raverbashing
0 subcomment
- That's cool
I mean it's like trying to balance a cybetruck into 4 skateboards and flunging it over a hill cool