From Windows Me to Windows 7: Running 6.1.7000 on an Inspiron 2500
Sunday, February 8, 2009
I recently decided, on a complete whim, to install the Windows 7 public beta on my old laptop (named Badlands). Although I no longer use Badlands as much as I used to, I still use it for testing, to make sure that things that I write use the CPU and other system resources efficiently (since inefficiencies are easier to spot when you are running on older, less forgiving hardware) and sometimes to see, out of curiosity, how modern apps fare on legacy hardware (notably, I was surprised to discover just how poorly Chrome performed and how unusable it was, despite all of Google's hubbub about their attention to performance; Firefox, on the other hand, performed superbly, with the exception of a hungry throbber).
So I got the wild idea to try out Windows 7 (which I had previously been playing with in a VPC and on a dual-boot partition of a live machine) on Badlands to see just how well it'll work, and to my great surprise, things actually worked out quite well... but first, a little bit of background about Badlands.
Badlands is a Dell Inspiron 2500 that I got back in 2001. It's so old that the operating system that was installed when I first got the machine was Windows Me. Here are the specs:
- CPU: 800 MHz Celeron (180nm Coppermine core) - In addition to having a low clock speed, it's an outdated design with an IPC (instructions per clock) that's fairly low compared to that of modern processors
- Memory: 512 MB of PC100 SDRAM - The memory capacity was upgraded a couple of times through the life of the machine; PC100 memory has only a small fraction of the memory bandwidth/speed of newer memory technologies
- Video: Onboard 82815 graphics - Just 4 MB of video memory, and no support for 32-bit color mode; don't even think about 3D
- HDD: 40 GB, 4200 RPM - The original hard drive died years ago, and this is the replacement.
I wasn't expecting Windows 7 to even install--I was fully prepared to see a message informing me that the installation cannot proceed due to inadequate hardware. But it did proceed, although there was an early sign of the troubles that lay ahead: the installer was running in 8-bit color mode, which told me that Windows probably did not have a driver for the graphics chipset. With the exception of everything looking extremely ugly (since the installer was designed for at least 16-bit color mode), the installation itself was smooth and uneventful.
After install, I was greeted by a cramped, unusable 640x480 display. At least it's using 16-bit color now, but the 640x480 looked horrible, not only because there was too little screen space to do much of anything, but because it was not the native 1024x768 resolution, and we all know how ugly LCDs look when they are not using a native resolution. Also, the sound driver was missing. And my wireless adapter refuses to work. Oh, and the Ethernet driver was missing too. How fun.
Without any sort of network connectivity, I was forced to dust off my USB key. Intel does not provide NT 6.x drivers for the 82815 video chipset. The last driver that they provide is for Windows 2000 (it can also work on Windows XP, but since XP already includes the driver, the only people downloading it were Windows 2000 users), and it dates back to early 2002. As expected, the driver's installer refuses to install, so I extracted the contents of the driver and installed it manually through the Windows device manager. I was not expecting this to work, and it did not. After some Googling, I found that someone was able to get 82815 graphics to work under Vista by using an older driver. So I downloaded an older driver from 2001 from Dell's website, and, after a bit of wrangling to get them installed, they worked (much to my surprise). So now I was running with a much more comfortable native 1024x768 resolution in 24-bit color mode. Things looked pretty (well, as pretty as they can be without Aero).
Next, I downloaded Intel's Ethernet drivers and manually installed them through the device manager (I never liked the "helpful" applications that Intel installers like to put on your system). Finally, network connectivity!
The next goal was to get wireless networking to work. I verified and re-verified that the drivers that were installed were correct. I even ran the diagnostics (not that I expected any sort of automatic diagnostics to be of any help, but I was desperate and out of options). I eventually gave up and decided to ignore the issue for the time being.
Next was sound. This was easy, since Windows Update found a driver for the laptop's integrated sound system (no, it didn't find any new drivers for the wireless; I had already checked). I told Windows Update to install the driver, and the instant the sound system came on, the adapter started connecting to my network. As it turns out, the lack of a sound driver was somehow interfering with the function of the wireless adapter. I don't know how or why (nor have I ever encountered anything quite like it), but it was good to have the wireless adapter finally working.
Now with all of the hardware issues taken care of, it was time to actually use the system. I started installing software, including the latest Firefox trunk nightly. After the initial hurdles of resolving the hardware issues, everything else worked without a hitch. Of course, it wasn't as responsive as XP. But it was comparable. And, to my pleasant surprise, it was definitely usable. Not bad, considering that this is hardware that was never intended to support or run Windows 7 and that I was not expecting the installation to even succeed.
Overall, I was very impressed by how well Windows 7 performed on this old system. No, it was not the smoothest experience, but it was acceptable (and surprisingly, it was a bit better, with respect to perceived performance and responsiveness, than Ubuntu 8.04, which I briefly used on Badlands several months ago). The fact that an old video driver from 2001 designed for an older generation of Windows (with a very different driver model) worked on Windows 7 is also a testament to one of the most important things that makes Windows dominant: its attention to backwards-compatibility and the overall Windows ecosystem. You can still run a number old DOS-era programs on the 32-bit version of Windows 7; is there any other modern OS where this would be possible without recompilation? The only reason Mac OS X is able to "innovate" is because Apple has no qualms about saying "screw you" to its supporting ecosystem--which is also easier for them to do because their small market share means that their ecosystem is tiny to begin with. As much as I love open source, it must be said that one of the major reasons why Linux still remains a niche is because Windows tends to and cultivates its ecosystem (and heaping the blame on Microsoft being some sort of oppressor serves nothing more than a means to shrug off responsibility).
PS: In case anyone is curious, the WEI for this setup was 1.2/CPU, 1.4/RAM, 1.0/Gfx, and 3.5/HDD).
Edit: Added WEI scores and fixed typo: I meant to say "without recompilation", not "with".
This entry was edited on 2009/03/15 at 19:49:17 GMT -0500.