Post B5Yzh6qc7ffTfmdXKy by w8l@scalie.zone
(DIR) More posts by w8l@scalie.zone
(DIR) Post #B5Xm1aJKhCo0KJyl1s by hailey@hails.org
13 likes, 32 repeats
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 timehttps://codeberg.org/hails/wsl9x
(DIR) Post #B5Xm1gavKiRRocFtHU by hailey@hails.org
0 likes, 0 repeats
really got this one in right under the wire before they start removing 486 support from linux
(DIR) Post #B5YKLxJII7VFtJqVyC by mike@chinwag.org
0 likes, 0 repeats
@hailey 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
(DIR) Post #B5YKLxn4VPK3NfmINs by uep@timeloop.cafe
0 likes, 0 repeats
@mike @hailey IKR
(DIR) Post #B5YKLy3jVSeMDLZbM0 by mike@chinwag.org
1 likes, 0 repeats
@uep @hailey I am going to run this in Windows 95 on a Sun PC card under Solaris 7.
(DIR) Post #B5YKPlPUTege8sYnOS by ben@unixben.com
0 likes, 0 repeats
@mike @uep @hailey DO. IT.
(DIR) Post #B5YKPldfcw1sqrC7Um by mike@chinwag.org
1 likes, 0 repeats
@ben @uep @hailey I don't bluff.
(DIR) Post #B5YQScwN1VNoT3gino by mirabilos@toot.mirbsd.org
0 likes, 0 repeats
@haileySyscalls are handled via the general protection fault handler, as Win9x does not have an interrupt descriptor table long enough to install a proper handler for int 0x80 - the Linux i386 syscall interrupt.🤯
(DIR) Post #B5YmcFm6CnigVYsZ9s by minka@verse.averagedood.xyz
0 likes, 0 repeats
@hailey@hails.org Why. Amazing lmao I'll have to try it in my Win98 setup
(DIR) Post #B5YzVu2dOZKIlnup5E by bytex64@awesome.garden
0 likes, 1 repeats
@hailey Hah! Reminds me of coLinux, but that was actually later on NT. https://en.wikipedia.org/wiki/Colinux
(DIR) Post #B5YzZoOILWReP3uXRY by dermoth@jasette.facil.services
0 likes, 1 repeats
@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...
(DIR) Post #B5YzdPbSRqTcgSmhQ8 by mirabilos@toot.mirbsd.org
0 likes, 0 repeats
@dermoth @hailey yes, WSL2 is just a crappy VM, WSL1 is the true invention
(DIR) Post #B5Yzh6NtqQhQEjCba4 by w8l@scalie.zone
0 likes, 0 repeats
@haileyUm actually, v86 mode is a form of hardware virtualisation. This is misleading!But for real (mode), this is very cool! How much torturing of the Windows 95 VMM did this need?
(DIR) Post #B5Yzh6bN2LTUuVVMZs by hailey@hails.org
0 likes, 0 repeats
@w8l surprisingly not that much! Calling a few VMM services like VMMCreateThread and the memory context related ones they say are internal only and should not be called but that's about it as far as internals poking goes
(DIR) Post #B5Yzh6qc7ffTfmdXKy by w8l@scalie.zone
0 likes, 1 repeats
@hailey Oh, you're the same person behind doslinux! Presumably a lot of your work on that also carried over to wsl9x, yes?
(DIR) Post #B5Yzkx8EBjAmhKhxpo by hailey@hails.org
0 likes, 1 repeats
@w8l I've wanted to do wsl9x ever since I did doslinux! It just took me 6 years of turning it over in my head to figure out how to do it :) there's no direct lineage between the two projects, they take very different approaches, but I definitely took the learnings from doslinux with me
(DIR) Post #B5Yzp0u66bbVYU2EnQ by fraggle@social.coop
0 likes, 0 repeats
@hailey have you made any attempt to get networking working? Presumably that's all you'd need to get X up and running since you could run Hummingbird eXceed or one of the other preexisting win9x X servers
(DIR) Post #B5Yzp16VMTWqAxq98S by hailey@hails.org
0 likes, 0 repeats
@fraggle no attempt yet but I think it would just be a matter of writing a network driver for it on each side!
(DIR) Post #B5Yzp1ICeyt0lFJUMy by mirabilos@toot.mirbsd.org
0 likes, 0 repeats
@hailey @fraggle or hand a NIC to the Linux (then you can route with SLIP or somethign to Windows)
(DIR) Post #B5YztQWqm3oYBjGXbM by gemini0@labyrinth.zone
0 likes, 0 repeats
@fraggle @hailey there’s actually an x server for win9x that was sold as a product back then, it was called Xoftware!
(DIR) Post #B5YztQf0HkKub153JI by mirabilos@toot.mirbsd.org
0 likes, 0 repeats
@gemini0 @hailey @fraggle X-Win32, too
(DIR) Post #B5YzxISCjqhaIowDgG by grishka@friends.grishka.me
0 likes, 0 repeats
First of all, nice job.Second of all, it's not quite clear from the docs — does this run Windows 95 on modern hardware thanks to modern Linux, or is it the other way around, i.e. modern Linux on old hardware?
(DIR) Post #B5YzxIc88wdqnba99U by mirabilos@toot.mirbsd.org
0 likes, 0 repeats
@grishka @hailey it runs the user-mode linux kernel as a Win95 thread
(DIR) Post #B5aiVpj683L2Ty4uwK by dermoth@jasette.facil.services
0 likes, 0 repeats
@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 Linus 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.
(DIR) Post #B5aiVq9KYWK1nKLrpQ by mirabilos@toot.mirbsd.org
0 likes, 0 repeats
@dermoth @hailey sure, but it works well enough, and for those corner cases you can still use VMsin contrast, networking just works on WSL1 (even better than under native WS2!) and is utterly broken on WSL2, for example
(DIR) Post #B5bBQ27s0oKvs8FgJs by dermoth@jasette.facil.services
0 likes, 0 repeats
@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...
(DIR) Post #B5bBQ2OszXwoiuDGqG by mirabilos@toot.mirbsd.org
0 likes, 0 repeats
@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.