wsl9x: Windows 9x subsystem for Linux
129 points by calvin
129 points by calvin
Oh hey, thanks for sharing my project! I'm about to go to sleep, but if people have any questions about it I'll reply in the morning :)
The Linux kernel is based on user-mode Linux, but hacked to call Windows 9x kernel APIs instead of posix APIs
Wow that's crazy! So is this more like WSL1 with a syscall-to-win32 translation layer? How much work was it?
It’s a real Linux kernel, so definitely not WSL1. Comparisons to i.e. UML or coLinux are more salient, but I’d also note raise the comparison to like, embedded RTOSes that can run Linux together with the host OS.
Is there a way to have the Windows message loop integrate with e.g. uring?
Is it easier to have a Portable Executable call into Linux APIs or is it easier to have an ELF executable call Win32 APIs?
Absolutely! The existing console driver shows that it's possible to shuttle data back and forth between the two OSes - there's two ringbufs per console, one for each direction.
The code just needs to be written :)
My impression is there isn’t much integration (yet?) beyond being able to create console devices.
Great work! How easy is it to build your own software in it? I haven't run this yet, but batteries included?
This is genuinely impressive and would have absolutely ate if it were released back in the Windows 9x hayday!
This is cool, but why would someone still use Windows 95 to run Linux programs?
It's actually genuinely useful to me, as I explained here: https://ap.nil.im/notice/B5YOxWiN0MTPRSfHBw
The first thought that came to my mind is old versions of Virtual PC on Power Macs. It's pretty easy to boot Windows 95, 98 and even XP on those, but Linux distros can be a mixed bag. This seems like it would solve the problem. You can have your cake and eat it too.