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 me…
Windows 9x Subsystem for Linux
231–240 of 265 posts
Re: Windows 9x Subsystem for Linux
#232Before 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 me…
Technically correct by some estimation, perhaps, but Cygwin is a crazy approach, was slow (contrary to the implication of the "low cruft" claim), was not as compatible as these other approaches, required recompilation, and was widely disliked at most points in its life. There's a lot of crazy voodoo stuff happening in cygwin1.dll to make this work; it totally qualifies as "hacking in some foreign Linux plumbing", it'…
A lot of this is issues Microsoft could fix if they were sufficiently motivated
e.g. Windows lacks a fork() API so cygwin has to emulate it with all these hacks
Well, technically the NT API does have the equivalent of fork, but the Win32 layer (CSRSS.EXE) gets fatally confused by it. Which again is something Microsoft could potentially fix, but I don’t believe it has ever been a priority for them
Similarly, Windows lacks exec(), as in replace the current process with new executable. Windows only supports creating a brand new process, which means a brand new PID. So Cygwin hacks it by keeping its own PID numbers; exec() changes your Windows PID but not your Cygwin PID. Again, something Microsoft arguably could fix if they were motivated
Re: Windows 9x Subsystem for Linux
#233Earlier quoted context omitted.
That is pretty cool, man. VM with XP in QEMU sending VNC frames to Guacamole clients on the web. BrowserBox is basically the same pattern as this setup (streaming graphics from some browsing substrate somewhere to web clients) except architecture is different: a modern box on the same private network runs the BrowserBox server, and the win box (QEMUd or otherwise) connects to its http endpoint, using whatever browser…
I should do a blog post and stick it on here, right? > In your case it sounds like you are running the webby servers on the XP box, too, Yeah - it's a web front end to some specialised software written on I guess Microsoft C++ (if I had time, enthusiasm, and a copy of it lying around I suppose I'd wave Ghidra at it and see what happens). I'll look into BrowserBox, that sounds handy. > I like your ffmpeg out setup. Ho…
Re: Windows 9x Subsystem for Linux
#234Before 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 me…
Cygwin is way older than CoLinux. CoLinux is from 2004. Cygwin was first released in 1995. The problem with Cygwin as I remember it was DLL hell. You'd have applications (such as a OpenSSH port for Windows) which would include their own cygwin1.dll and then you'd have issues with different versions of said DLL. Cygwin had less overhead which mattered in a world of limited RAM and heavy, limited swapping (x86-32, limi…
Re: Windows 9x Subsystem for Linux
#235This 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.
note: i'm not saying author did not improve his skills overall, but also last '6 years' perhaps also means - fair amount of digging the web with search engines, which are... like AI 0.1
Re: Windows 9x Subsystem for Linux
#236This 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.
(not trying to pick a fight, but...) what difference it makes if an agent spent 100$ to understand and came to the same result, given it is those who use it that will benefit of it, and thus the craze here. note: i'm not saying author did not improve his skills overall, but also last '6 years' perhaps also means - fair amount of digging the web with search engines, which are... like AI 0.1
Re: Windows 9x Subsystem for Linux
#237Earlier quoted context omitted.
Qt looks nice as a user and gnome gtk isn’t too bad either
Wx isn’t bad either. https://wxwidgets.org/ You don’t get an app that looks the same across platforms. You do get apps that look like they belong on your platform, even though the code is cross-platform. It uses the native toolkit no matter where you run it across Windows, GTK, Qt, Motif, macOS/Carbon, macOS/Cocoa, and X11 with generic widgets. Older platforms are also supported, like OS/2, Irix, and OSF/1. https://w…
So, if you use wxWidgets, you probably have to use either C++ or Python version, others are unlikely to be supported.
Re: Windows 9x Subsystem for Linux
#238Earlier quoted context omitted.
I should do a blog post and stick it on here, right? > In your case it sounds like you are running the webby servers on the XP box, too, Yeah - it's a web front end to some specialised software written on I guess Microsoft C++ (if I had time, enthusiasm, and a copy of it lying around I suppose I'd wave Ghidra at it and see what happens). I'll look into BrowserBox, that sounds handy. > I like your ffmpeg out setup. Ho…
You should! It would be a good read. And likely help others. Please send me an email when you get to it: cris@dosaygo.com
Re: Windows 9x Subsystem for Linux
#239Earlier quoted context omitted.
Wx isn’t bad either. https://wxwidgets.org/ You don’t get an app that looks the same across platforms. You do get apps that look like they belong on your platform, even though the code is cross-platform. It uses the native toolkit no matter where you run it across Windows, GTK, Qt, Motif, macOS/Carbon, macOS/Cocoa, and X11 with generic widgets. Older platforms are also supported, like OS/2, Irix, and OSF/1. https://w…
The problem is, most of these bindings are out-of-date. Delphi from 2012, Basic from 2002, D from 2016. wxRuby is a dead link. wxAda was already dead in 2009, as the discussion I can google suggests. So, if you use wxWidgets, you probably have to use either C++ or Python version, others are unlikely to be supported.
Among actively developed bindings, there is also wxRust at https://crates.io/crates/wxdragon
Re: Windows 9x Subsystem for Linux
#240So, 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 no…
Colinux was a tech feat, just not that many people noticed.
What I especially like about this Windows 9x Subsystem project, is that it proves that coLinux could have been written way earlier. Now imagine how less dual booting we would have needed in 1996 if that happened, and how it would have affected VMware which only existed since 1998.