More impressive is the fact you can upgrade from Windows 1.0 all the way to the latest one. I am not a fan of Windows but I found this to be impressive.

https://www.youtube.com/watch?v=9f5DnlUyaq8

> More impressive is the fact you can upgrade from Windows 1.0 all the way to the latest one.

That's no longer true since Windows 11 went 64 bit only (with no in place upgrade path as 16->32 bit had). E.g. the linked video starts a clean slate at XP in order to switch to 64 bit from that point on.

Still damn impressive one can make it all the way to Windows 10 (32 bit), but equally crazy IMO the upgrade story finally ended with 11.

It's actually appropriate for it to break with 11, since Windows 11 is the fork in the road where many of us stopped caring to use Windows anymore.

And for the folks that prefer to bash XP (Fisher Price UI or whatever): XP 64 was the first (and so far only) version of Windows in the chain to not be reachable by any upgrade path whatsoever (where at least Windows 11 can still be reached by upgrading 64 bit Windows 10 and so on, back to XP 64). So, arguably, it's at least (if not more) at fault than 11 - depending which brings more joy for one to blame.

Windows 95 was really the one which made the story interesting (the important bridge between 16->32), so no help to those that preferred NT or other OSs at the time and wanted an excuse to bash it :p.

Unfortunately the alternatives aren't much better, Apple is out of my budget for home computers, and I still can't buy Linux system at the local PC store other than Raspberry PIs.

You can install Linux in well supported hardware (AMD really) in less time that it'd take you to write most comments in HN.

If you really want to buy something, there is https://www.tuxedocomputers.com/ - they've been around for a long time, though personally i never used them since i prefer to build my own desktops.

That is buying online.

I have owned an AMD APU that only had its 3D capabilities and hardware video decoding fully supported on the Windows drivers during a couple of years until reaching parity, OpenGL 3.3 instead of 4.1, and no VAAPI.

Thanks for the typical Linux forum answer, some things never change.

> still can't buy Linux system at the local PC store other than Raspberry PIs.

More or less every Ryzen motherboard is guaranteed to work (as is Intel, just they aren't bang for bucks)?

In which well known European PC store can I buy a desktop or 100% supported laptop with Linux pre-installed?

Meaning Worten, FNAC, Public, MediaMarkt, Saturn, Dixons, CoolBlue,...

I am no strange to UNIX, having started with Xenix in 1993, going through all major ones, and knowing Linux since Slackware 2.0, but I have better things to do in 2025 with my spare time than installing Linux distros.

Hence why I rather stick with VMWare Workstation, WSL, or cloud instances nowadays.

I haven't been to a computer electronics store since Fry's Electronics shuttered in 2021. RIP good old days.

It's pretty straightforward to re-image Linux onto any common x86-64 or arm64 hardware, not sure why one would shy away from this - nowadays it's actually easier than installing Windows.

I rather not do DevOps nor IT support on my free time, that I rather spend with family and friends.

That's why what's microsoft is pulling off is getting through.

Also why WebOS, ChromeOS and Android are the successful Linux distributions that the general public cares about.

As long as hardware with GNU/Linux is something special not available on general stores, or when, only in the form of Raspberry PI kits for kids, adoption will stay as it is.

That's fair, I'm definitely a DIY'er. Cheers, pjmlp!

Pre-installed? Like with loads of bloatware from the manufacturer?

Anyway, the major distros nowadays aren't Slackware. They work from the box, sans Nvidia (but unless you need CUDA that's just a reason not to go with Nvidia) and maybe Broadcom's WiFi (the firmware is in "non-free" repos because of licensing). An installation wouldn't take more than ten minutes, of which eight minutes is just watching the load bar. Then, of course, if you hate GNOME3 as much as I do it will take a bit more - but preinstalled wouldn't save you here either.

As your comment points out some things never change regarding hardware support.

Windows 95 had a bunch of stuff from 3.1 built in too. You could use progman as the default shell, it had file manager, etc.

The pressure to not fuck up windows 95 was immense. You have to appreciate the landscape then.

You had os/2 not doing that well, Amiga not doing great, NeXT hurting, riscos kinda floundering and the failures of Windows 1 and 2.

The risk of it not slapping was immensely high. A huge amount of the company was bet on it.

They were risk adverse all over the place with the design, it's clear to see when you do a deep dive.

And even then, people balked at things like the 8MB ram "recommendation", which was seen as expensive at the time.

Even after the release and into 1996, large vendors were still shipping some computers with windows 3.1 - it was an option.

It was really both a risky product and had to be done.

> You had os/2 not doing that well, Amiga not doing great, NeXT hurting

What was ever wrong with these? I never actually used them but everything I know about them sounds fantastic.

OS/2 Warp was amazing.

It ran Windows applications natively and crashed less than Win 3.1 — but still had some hardware compatibility issues.

It had a fancy scripting language and a lot of neat stuff already built in — unlike Windows at the time.

I really wanted to switch to it, but Win95 won…

Used Smalltalk for the role .NET has nowadays on Windows, and SOM was so much better than COM.

However that price tag was horrendous as OS for home computers.

> It had a fancy scripting language and a lot of neat stuff already built in

Rexx mentioned! https://en.wikipedia.org/wiki/Rexx

I loved the Amiga, but it was basically dead by 1995. Commodore had gone bankrupt, the hardware had stagnated for years, and it was impossible to add modern features like memory protection to the OS.

Memory protection was there on the last models, with the 68030.

For example with a Cobra expansion card, https://amiga.resource.cx/exp/cobra

The CPU was capable, Amiga OS wasn't.

There were utilities to enable it, like Enforcer with 68030.library.

It only protected the first page. It was not a general solution.

Dunno about the others, but I heard OS/2 was amazing... if you had the hardware for it. Which was notably higher end and more expensive than what DOS and Windows could run on.

The PC I got in 1992 would have been about 1000 euros more in today's money if OS/2 ready.

Yes it was amazing, but not worth the extra money for many of us.

I was an avid OS/2 user from 2.1 (1993) through Warp 4 (1996). This is sort of accurate and sort of not. It depends on what point in time you are referring to.

I did happen to have a machine with a monster CPU (for the time), but I knew many people with lesser CPUs. It really wasn't the CPU but the RAM. You had to have 4 MB, better to have 8 MB.

In those days, RAM was the most expensive thing on any computer. Also in those days a lot of the inexpensive clone machines like the Gateway and Dell were still using 30-pin (8-bit wide) RAM, so you had to use 4 sticks to get 32-bit width, and there were only 8 total slots (two banks). 1 MB SIMMs were at least obtainable, which means your practical limit was an 8 MB machine. 4 MB SIMMs were incredibly expensive, almost unobtainable, if your system board even supported them.

OS/2 would run very comfortably on an 8 MB machine, meaning all you really had to do was come up with the scratch for some 1 MB DIMMs and have a machine with the full 8 sockets. It was slightly upmarket for 1992 and 1993, but very far from high end. A ton of people in the BBS scene used OS/2 because it allowed you to run your own BBS in the background, or to connect to a BBS and be downloading files while still being able to use the computer, like say a word processor to write a paper.

By the time Windows 95 came out in late (September) 1995, 4 MB was considered the minimum and 8 MB was considered better. By then the Pentium had been released, but 486SX systems were pervasive and cheap. If you slapped more RAM in them, they would indeed run either OS/2 or Windows 95 just fine. Software rarely needed an FPU. System requirements between the two were basically the same.

The failure of OS/2 came down to software compatibility. The killer feature of OS/2 is that it could run all your DOS programs and all your Windows programs and unlike real DOS or Windows you could have multiple programs open at the same time without bogging-down or crashing the system. Heck, you could even run full-screen VGA games like Doom and task-switch out of them and return. You could be gaming while downloading.

But Windows 95 came out with an even better feature: the ability to run Win32 software that was formerly limited to Windows NT. And that turns out to be a way more important feature than being able to run lots of older software simultaneously. And as far as stability goes, if you only ran Win32 software on Windows 95 it was actually incredibly stable. As long as all the applications themselves are reasonably well-behaved, the inherently unsafe Windows 95 architecture of a large amount of globally shared unprotected memory hosting critical system data structures isn't a big problem.

So what did I do in 1996? Well, I got a true monster machine, a Pentium Pro 200 with I think 64 MB of RAM, and I ordered it with Windows NT 4. By then, Windows NT needed 32 MB minimum, but RAM was getting cheaper so it wasn't as much of a barrier.

So the irony of saying that you needed notably higher-end hardware for OS/2 is that notably higher-end hardware becoming the norm is what really killed OS/2 even among die hard fans.

Cheap RAM, cheap enough to run the even more stable Windows NT, was the last straw. OS/2 was mortally wounded when IBM failed to deliver Windows 95-on-OS/2. I thought at the time they should have done that, and I know now they could have done it. If they had done it, I think OS/2 could have competed with Windows 95. Instead it only limped along among die-hard fans like me. But once hardware caught up and I was able to run Windows NT, there really wan't much point in OS/2 anymore.

1992 ram situation was bad, but not that bad. There was no single most expensive component, it was always a contest between CPU, RAM, HDD and monitor :). 1992 30pin Simm prices:

1MB $30-50.

4MB $150 January 1992, lowest in went would be $100 in December 1992, and back to $130 in December 1994.

Sane combinations were 4x1, 8x1, 4x4, and quite insane 8x4. 1992 was also when non IBM vendors started using 72pin SIMMs, for example Dell Precision 386DX/33 4x72pin while 25MHz model shipped with 8x30pin simm sockets. Edit: Looks like DELL started switching to 72pin simms in early 1990 with 325P/333P/433P models, and in 1992 committed unconscionable abomination by releasing 333s/L 386SX with 72pin simms :o

Nothing was really wrong - they just never hit the spark that Microsoft did (and not to say it wasn't skill on their part).

NeXT was way expensive, OS/2 was way too business-oriented until too late, Amiga was mismanaged financially, Apple's Macintosh was too expensive, etc.

Trying to find a technological fault is what people did at the time. There were long threads on Usenet trying to ascribe things anecdotally to hypotheses that even then did not hold water.

It's sad to see looking for technological reasons happening here in the replies to your question, because that means that subsequent history has been forgotten. The technology turned out later in the decade never to have been the deciding issue, when things like the "Halloween documents" came to light. It was business agreements and marketing that sunk such products (albeit that one can argue that one can find traces of NeXT around even to this day), not technology. There were exclusionary pre-loading agreements with Microsoft, infighting inside IBM between two divisions, some utterly self-destructive litigiousness by some companies, and a whole bunch of Apple politics.

They were great operating systems hampered by various business missteps.

Windows 95 was a game changer, especially for Internet connectivity. The built-in "dial up networking" / PPP was huge. I was working at an ISP at the time, and remember how difficult it was to get customers to download Trumpet winsock and set it up for Windows 3.x. It could take hours with a difficult customer.

I worked at an ISP in 1997 (the “You’ve got mail” one) and thankfully the software included a winsock. Our headaches were different; They had just come out with unlimited hours and busy signals were the cause of many complaints. After that got resolved, custom modem strings were really the only complicated bits.

I recall the original Windows 95 release shipping with TCP/IP but the protocol having to be manually added in the Network CPL: https://eml.berkeley.edu/wp/win95/isp.html

Yes! This was still much easier than talking someone through downloading a Trumpet Winsock Zip with a comm program.

I did support for a tiny ISP in 1999 [1], we had to have people remove and reinstall that from time to time. Many people could just do it, but I remember one customer I spent maybe two hours on the phone walking her through it. Would put her on hold when another call came in, and then check back with her. Eventually got it all settled.

[1] we had one T1 for internet and one T1 PRI for the modem pool, and outsourced to MegaPath for out of area dialup, and then shunted all the customers to that when the PRI stopped working

This ISP was a bit earlier. They did move to T1 PRI eventually, but before that we had stacks of modems attached to Livingston Portmasters (I think?) There was basically an octopus of cables coming out of the wall, dozens of individual phone lines, then serial cables, power bricks, power strips three layers deep. It was also always like 100 degrees on one of the POPs. It looked like the plastic was melting on some of the modems.

Ow wow, worked ISP support in 1997 - 1999 and indeed recalled having to reinstall TCP/IP stack and tweaking setting to make stuff work. Next to that, gruesome installation of ISDN drivers (which technically were out of support for us) for a specific brand of ISDN modems the incumbent telco provided to customers.

Windows 95's USER and GDI implementation was essentially an enhanced version of Win 3.1's. user32.dll and gdi32.dll were just thunking layers. The 16-bit components were guarded by a mutex named "Win16Mutex" to ensure serialized access to them from the 32-bit side.

Reminds me of how even well into the PowerPC era, much of Mac OS was still written in 68000 assembler, including QuickDraw (the equivalent of GDI).

This mutex also protected a lot of other stuff. For example, if you wanted to access a DirectDraw surface, you needed to lock it in RAM, and this acquired the Win16 mutex. So if you then called a GDI function to draw something, it deadlocked the machine.

Yep it was even an option during the initial setup.

I've never been so delighted to see Raymond proven wrong. And he doesn't even deserve to be proven wrong.

A while back I recall watching a video about this very feature. https://www.youtube.com/watch?v=SC3TVvtuNqs

I'm betting those guest instances are Windows 3.1 Real Mode however and so cannot load most protected mode drivers. IIRC, there are a bunch of protected mode things like the VDM that take control over the system because there's no such thing as nested virtualization until about 2005-2006 when VMware and similar hypervisors pushed for it.

The guest instances are fully 386 Enhanced Mode instances of Windows 3.1. Windows 3.1 (and Windows/386 and Windows 3.0) is implemented as an 80386 DPMI server, much like the DOS4GW you used to play Doom, and the the actual GUI code is a DPMI client. Windows 95 is also a DPMI server.

Windows 3.x could also run in “standard mode”, where it used a 16-bit only DPMI server. The Windows GUI system could run in real mode or as a DPMI client.

As far as “nested virtualisation”… Windows 3.1’s DOS windows could actually in turn run more instances of Windows 3.1, because Windows/386 relied on virtual 8086 mode only and Windows 3.x used DPMI which can be nested.

The protected mode drivers are already loaded in this scenario. The VMM and all of the VxDs are already up and running. All that's really happening here is the first VM (the "systemm VM") is running the DOS+Windows 95 kernel/user/gdi/system/network/display/keyboard and applications, and a second VM is running the DOS+Windows 3.1 kernel/user/gdi/system/network/display/keyboard and applications.

The former's VMM and VxDs were largely a superset of the latter's. The only real trick is that there was a secret handshake between the DOS program WIN and the Windows KRNL386 program that has to be satisfied by whatever tries to start it in that second VM, otherwise KRNL386 just exits immediately. One cannot use WIN to start KRNL386 in the second VM. WIN does too much other than running KRNL386. It has to be something else that does the secret handshake and only tries to run KRNL386.

The screenshot explicitly shows "386 Enhanced Mode" in the Windows 3.1 about dialog.

> There are, of course, a few caveats and a contrivance. Stick with me for Part Two and I will explain, including to give directions so that you can play too (with suitable hardware or emulators).

This article is 3-4 years old - any hint of Part 2? I'm assuming those nested copies of 3.1 are stuck in Standard Mode.