Breaking Eggs And Making Omelettes

Topics On Multimedia Technology and Reverse Engineering


Archives:

Running Windows XP In 2016

January 1st, 2016 by Multimedia Mike

I have an interest in getting a 32-bit Windows XP machine up and running. I have a really good yet slightly dated and discarded computer that seemed like a good candidate for dedicating to this task. So the question is: Can Windows XP still be installed from scratch on a computer, activated, and used in 2016? I wasn’t quite sure since I have heard stories about how Microsoft has formally ended support for Windows XP as of the first half of 2014 and I wasn’t entirely sure what that meant.

Spoiler: It’s still possible to install and activate Windows XP as of the writing of this post. It’s also possible to download and install all the updates published up until support ended.

The Candidate Computer
This computer was assembled either in late 2008 or early 2009. It was a beast at the time.


New old Windows XP computer
Click for a larger image

It was built around the newly-released NVIDIA GTX 280 video card. The case is a Thermaltake DH-101, which is a home theater PC thing. The motherboard is an Asus P5N32-SLI Premium with a Core 2 Duo X6800 2.93 GHz CPU on board. 2 GB of RAM and a 1.5 TB hard drive are also present.

The original owner handed it off to me because their family didn’t have much use for it anymore (too many other machines in the house). Plus it was really, obnoxiously loud. The noisy culprit was the stock blue fan that came packaged with the Intel processor (seen in the photo) whining at around 65 dB. I replaced the fan and brought the noise level way down.

As for connectivity, the motherboard has dual gigabit NICs (of 2 different chipsets for some reason) and onboard wireless 802.11g. I couldn’t make the latter work and this project was taking place a significant distance from my wired network. Instead, I connected a USB 802.11ac dongle and antenna which is advertised to work in both Windows XP and Linux. It works great under Windows XP. Meanwhile, making the adapter work under Linux provided a retro-computing adventure in which I had to modify C code to make the driver work.

So, score 1 for Windows XP over Linux here.

The Simple Joy of Retro-computing
One thing you have to watch out for when you get into retro-computing is fighting the urge to rant about the good old days of computing. Most long-time computer users have a good understanding of the frustration that computers keep getting faster by orders of magnitude and yet using them somehow feels slower and slower over successive software generations.

This really hits home when you get old software running, especially on high-end hardware (relative to what was standard contemporary hardware). After I got this new Windows XP machine running, as usual, I was left wondering why software was so much faster a few generations ago.

Of course, as mentioned, it helps when you get to run old software on hardware that would have been unthinkably high end at the software’s release. Apparently, the minimum WinXP specs as set by MS are a 233 MHz Pentium CPU and 64 MB of RAM, with 1.5 GB of hard drive space. This machine has more than 10x the clock speed (and 2 CPUs), 32x the RAM, and 1000x the HD space. Further, I’m pretty sure 100 Mbit ethernet was the standard consumer gear in 2001 while 802.11b wireless was gaining traction. The 802.11ac adapter makes networking quite pleasant.

Purpose
Retro-computing really seems to be ramping up in popularity lately. For some reason, I feel compelled to declare at this juncture that I was into it before it was cool.

Why am I doing this? I have a huge collection of old DOS/Windows computer games. I also have this nerdy obsession with documenting old video games in the MobyGames database. I used to do a lot of this a few years ago, tracking the effort on my gaming blog. In the intervening years, I have still collected a lot of old, unused, unloved video games, usually either free or very cheap while documenting my collection efforts on that same blog.

So I want to work my way through some of this backlog, particularly the games that are not yet represented in the MobyGames database, and even more pressing, ones that the internet (viewed through Google at least) does not seem to know about. To that end, I thought this was a good excuse to get Windows XP on this old machine. A 32-bit Windows XP machine is capable of running any software advertised as supporting Windows XP, Windows ME, Windows 98, Windows 95, and even 16-bit Windows 3.x (I have games for all these systems). That covers a significant chunk of PC history. It can probably be made to run DOS games as well, but those are (usually) better run under DosBox. In order to get the right display feel, I even invested in a (used) monitor sporting a 4:3 aspect ratio. If I know these old games, most will be engineered and optimized for that ratio rather than the widescreen resolutions seen nowadays.

I would also like to get back to that Xbox optical disc experimentation I was working on a few years ago. Another nice feature of this motherboard is that it still provides a 40-pin IDE/PATA adapter which makes the machine useful for continuing that old investigation (and explains why I have that long IDE cable to no where pictured hanging off the board).

The Messy Details
I did the entire installation process twice. The first time was a bumbling journey of discovery and copious note-taking. I still have Windows XP installation media that includes service pack 2 (SP2), along with 2 separate licenses that haven’t been activated for a long time. My plan was to install it fresh, then install the relevant drivers. Then I would investigate the Windows update and activation issues and everything should be fine.

So what’s the deal with Windows Update for XP, and with activations? Second item first: it IS possible to still activate Windows XP. The servers are still alive and respond quickly. However, as always, you don’t activate until you’re sure everything is working at some baseline. It took awhile to get there.

As for whether Windows Update still works for XP, that’s a tougher question. Short answer is yes; longer answer is that it can be difficult to kick off the update process. At least on SP2, the “Windows Update” program launches IE6 and navigates to a special microsoft.com URL which initiates the update process (starting with an ActiveX control). This URL no longer exists.

From what I can piece together from my notes, this seems to be the route I eventually took:

  1. Install Windows XP fresh
  2. Install drivers for the hardware; fortunately, Asus still has all the latest drivers necessary for the motherboard and its components but it’s necessary to download these from another network-connected PC since the networking probably won’t be running “out of the box”
  3. Download the .NET 3.5 runtime, which is the last one supported by Windows XP, and install it
  4. Download the latest NVIDIA drivers; this needs to be done after the previous step because the installer requires the .NET runtime; run the driver installer and don’t try to understand why it insists on re-downloading .NET 3.5 runtime before installation
  5. While you’re downloading stuff on other computers to be transported to this new machine, be sure to download either Chrome or Firefox per your preference; if you try to download via IE6, you may find that their download pages aren’t compatible with IE6
  6. Somewhere along the line (I’m guessing as a side effect of the .NET 3.5 installation), the proper, non-IE6-based Windows Update program magically springs to life; once this happens, there will be 144 updates (in my case anyway); installing these will probably require multiple reboots, but SP3 and all known pre-deprecation security fixes will be installed
  7. Expect that, even after installing all of these, a few more updates will appear; eventually, you’ll be at the end of the update road
  8. Once you’re satisfied everything is working satisfactorily, take the plunge and activate your installation

Residual Quirks
Steam runs great on Windows XP, as do numerous games I have purchased through the service. So that opens up a whole bunch more games that I could play on this machine. Steam’s installer highlights a curious legacy problem of Windows XP– it seems there are many languages that it does not support “out of the box”:


Steam missing languages under Windows XP

It looks like the Chinese options and a few others that are standard now weren’t standard 15 years ago.

Also, a little while after booting up, I’ll get a crashing error concerning a process called geoforms.scr. This appears to be NVIDIA-related. However, I don’t notice anything obviously operationally wrong with the system.

Regarding DirectX support, DirectX 9 is the highest version officially supported by Windows XP. There are allegedly methods to get DirectX 10 running as well, but I don’t care that much. I did care, briefly, when I realized that a bunch of the demos for the NVIDIA GTX 280 required DX10 which left me wondering why it was possible to install them on Windows XP.

Eventually, by installing enough of these old games, I fully expect to have numerous versions of .NET, DirectX, QT, and Video for Windows installed side by side.

Out of curiosity, I tried playing a YouTube HD/1080p video. I wanted to see if the video was accelerated through my card. The video played at full speed but I noticed some tearing. Then I inspected the CPU usage and noticed that the CPU was quite loaded. So either the GTX 280 doesn’t have video acceleration, or Windows XP doesn’t provide the right APIs, or Chrome is not able to access the APIs in Windows XP, or perhaps some combination of the foregoing.

Games are working well, though. I tried one of my favorite casual games and got sucked into that for, like, an entire night because that’s what casual games do. But then, I booted up a copy of WarCraft III that I procured sometime ago. I don’t have any experience with the WarCraft universe (RTS or MMO) but I developed a keen interest in StarCraft II over the past few years and wanted to try WarCraft III. Unfortunately, I couldn’t get WarCraft III to work correctly on several different Windows 7 installations (movies didn’t play, which left me slightly confused as to what I was supposed to do).

Still works beautifully on the new old Windows XP machine.

Posted in General | 15 Comments »

15 Responses

  1. Reimar Says:

    When I last tried a few years back even downloading patches for Windows98 was still possible. So I am not surprised you can still install patches for XP :)
    But using Linux on some of those cheap ARM boards always makes me wish for two things
    1) Everyone developing a GUI should be forced to use for every-day things a computer with max. 600 MHz, running from a microSD card, and no 3D acceleration
    2) That the people writing/integrating the drivers for these things weren’t so ridiculously incompetent at it

  2. Ian Farquhar Says:

    Reimar,

    In fairness to the guys writing the drivers, and especially graphics drivers, they’re often dealing with:

    1. Inadequate, incorrect or sometimes no hardware documentation
    2. Hardware bugs
    3. Multiple die revisions all with their own “errata” which the chip vendor may not be too honest about

    A little historical anecdote to demonstrate the point.

    When I worked at SGI in the late 90’s, and SGI realized that Linux was becoming something they needed to take seriously, there was a serious internal discussion about open sourcing Irix to compete with Linux. If you’ve never used Irix, it was a pretty incredible piece of engineering (especially prior to ’98, when the “webify everthing” crowd started to get involved). It would have been difficult to do due, but not impossible, as Sun proved that with Solaris.

    One of the strongest arguments for NOT releasing the source was just how many hardware bugs were fixed by driver hacks. There were a lot of people who felt this would be really embarrassing to expose.

    But this wasn’t SGI’s issue: this happens all the time when developing drivers. Indeed, as drivers tend to be developed in parallel to the hardware, different spins of the hardware can even see regressions late in the development, and to meet a deadline everyone might say “f*** it, do in software, we’ll fix it in the next die rev.” This means that the released driver then has a software implementation of a feature for one die version, and then does it in hardware for the next. You’ll have this ugly case statement on the die rev in the code doing this.

    This is the nasty reality of driver developing in the real world, when you hit the commercial realities of release dates.

    So in short, I have some sympathy for just what a thankless and difficult job writing drivers is, even moreso for the open source guys, who don’t have access to the internal docs.

  3. Steve Says:

    It doesn’t really help in your case (you have to deal with graphics passthrough), but Microsoft does make fully patched copies of Windows XP SP3 with IE6, or 8 installed as VM images that you can run up to 90 days continuously before needing to re-load them.
    The site is https://dev.windows.com/en-us/microsoft-edge/tools/vms/windows/

  4. Multimedia Mike Says:

    @Steve: Indeed, those Windows VMs have helped me out before. I can’t believe how MS provides them all, and in every major VM for convenience.

  5. Reimar Says:

    @Ian: While not working on the driver, I do work for ARM on their GPU (though of course my statements here are purely personal etc.), so I know about those things in principle.
    I don’t mean simple mistakes, beta quality or anything like that.
    Check some of the Allwinner drivers in the state they were originally released.
    For the display controller for example, they have hardware that supports a full colour conversion matrix (which btw. works).
    The driver guys then wrote an IOCTL interface that only allows setting brightness, contrast etc. instead of exposing the full features the hardware guys spent silicon on, and then mess the implementation up so completely it doesn’t work at all.
    This is what I meant: A completely braindead driver design, that makes the driver more complex than necessary, does not make full hardware features available and then was never even tested at all! It’s like trying to hit all imaginable misfeatures in a single try.
    I stand by my claim of “ridiculously incompetent” for that.

  6. Reimar Says:

    Btw. back to on-topic…
    In case you stumble over some old Direct3D 5/6 games where the 3D part does not work on modern computers.
    There’s this neat little project that implements that API on top of Direct3D 11, with the bonus of always rendering at native resolution: https://github.com/rdoeffinger/xwa_ddraw_d3d11
    It would probably take some effort to make it work with other games.
    A more generic implementation is dgVodoo which seems a fairly well-working variant.
    Even WINE on Linux has a good chance of working better than Windows 7 for old games (has support for 16 bit binaries, Direct3D 5/6 actually works, at least mostly, 16 bit framebuffers work, …).

  7. Pat Says:

    Yes it shouldn’t be any problem. In fact I currently use XP on a few boxes on my network. And I will be rebuilding another old box and installing XP on it. I have all SP1, 2 and 3 and many driver updates I can still find on the net. But I am not using the box for anything extravagant so having updated drivers is not a big deal. As long as it can run well, I don’t care. Though I am running win 7 and 10 on three newer boxes and a laptop. So it is possible to install XP on an old system. Darn, I still have an old Toshiba laptop running win 95 on it, and it still works fine on the net. So there you have it. Have at it.

  8. Ogustmoon Says:

    HELP!
    I see people are still installing and Activating Windows XP.
    I cannot find any way to Activate Windows XP. ( This is my own, original WinXP with Original Product Key, which had been used on the same computer and same hard drive, since I built it.
    After the ‘Windows XP is no longer supported’ date, I have not been able to Activate by Phone, OR Activate Online. ( I HAVE managed to bypass actual Activation for 90-Day periods, but it always comes back to telling me I have to Activate again. When I select ‘YES’ for ‘Want to Activate now?’, it just keeps bouncing me back to the same screen ( takes me nowhere, does not offer the usual phone number call to Activate, or Activate Online Screen which was originally displayed. )
    The last time I wiped/reformatted/re-installed everything, I got the usual 30-Days Before you have to Activate; BUT…..
    no phone Activation possible, and no online Activation possible.
    SO…..Explain EXACTLY how and where you have all been able to Activate XP, PLEASE.

    Thanks!

    Ogustmoon

  9. Stephen Fox Says:

    Microsoft has begun deleting many links related to Windows XP downloads.

    Please refer to my very detailed post on how to access these downloads via the Internet Archive aka the Wayback Machine:

    http://www.msfn.org/board/topic/175162-microsoft-deleted-xpsp32000sp4-links/#comment-1118032

    Fore example, the original SP3 link (which no longer works) was

    http://download.microsoft.com/download/d/3/0/d30e32d8-418a-469d-b600-f32ce3edf42d/WindowsXP-KB936929-SP3-x86-ENU.exe

    To download it today use:

    https://web.archive.org/web/20140119014510/http://download.microsoft.com/download/d/3/0/d30e32d8-418a-469d-b600-f32ce3edf42d/WindowsXP-KB936929-SP3-x86-ENU.exe

  10. Multimedia Mike Says:

    @Stephen: Thanks for the data. I have a weird feeling this blog post is eventually going to become an authoritative clearinghouse for info on running Windows XP. :-)

  11. Stephen Fox Says:

    Mike,

    Thanks for the comment. I have some things you may find interesting in http://sdfox7.com/xp and its subdirectories.

    Any XP related download is available the Web Archive, but I like having directories on my FTP for quick access to the most common software people are looking for.

  12. Installing Windows XP on a modern unsupported (Haswell) system in 2016 | YKM's corner on the web Says:

    […] procure a machine of an older era with full Windows XP support and drivers. There are guides like this where people have used an older system to install WinXP in […]

  13. Metatron S L Says:

    Hello Ogustmoon and other Users like him/her!

    I am a strong supporter and user of XP SP1, SP2 and SP3.

    I use all three versions to run older software as some work on each one of them well but not interchangeably.

    I found a few Activators on the Internet that I have tested and they have worked well up to yesterday as I was testing installation onto several of my old computers I clean-formatted.

    I believe you can still obtain a copy at one of the torrent sharing websites. But, I have to add that such a download may not be viewed desirably by the manufacturer who is trying to get you to upgrade your hardware and software as they would make money out of you, naturally!

    If you are unfamiliar with such sites, you may have to contact someone like me through Mike so that I may give you pointers on how and where to download them.

    That is the best I can personally do to keep the XP magic running for a few years more!

    If you do a Google search with this term “Windows XP usage 2016”, you will find that up to 254 million users of XP users exist as of May 2016 according to Netmarketshare and other pundits.

    All those people cannot be wrong! It’s the best Windows Operating System created, thus far!

    Best regards.

    Metatron

  14. nick Says:

    i have 3 legal copies of xp pro where does one down load all required hot fixes and security fixes that where available but are know not from microsoft server. how do i resister them . ect

    is there another way to contect you other that this box email or phone

  15. Tom Says:

    A little known XP fact is that MS is still supporting Windows Embedded until 2019. Windows Embedded is XP without the extras you would never use on a small dedicated POS terminal, arcade game, or such.

    Do a search on making your XP install look like Embedded to the Windows Update servers.