Goodbye to an old friend…

Today, October 22, 2010, the sale of Windows XP comes to an end. There will still be support available for Windows XP Service Pack 3 through April 2014, and it will be sticking around for a time in some business,  government, and emerging market settings, but by in large the days of Windows XP are fading. The date has been moved a few times, but today marks the beginning of the final end for what has been a very long-lasting Windows release. I thought I’d take the opportunity to reflect on the product with respect to PC gaming and game developers.

When Windows XP released in August 2001, it was a pretty easy move for many game developers already running Windows 2000 for the superior stability and performance as a development platform. It was also the first time the “NT” generation of technology finally reached the consumer space in a big way. Windows 98 was a decent consumer OS, but at its heart it was still basically DOS (albeit a 32 bit-extended DOS). A rogue driver or a game bug could easily crash your system, and sometimes even corrupt your whole system. Windows XP brought a lot of technological benefits to the platform, although that transition was not without some pain. Windows 98 and Windows ME continued to run on older systems, and there were still publishers targeting that platform as recently as a few years ago–mostly for children’s titles typically run on hand-me-down computers. Windows XP delivered a lot of great technology for gamers and game developers: DirectX 8.1 in Windows XP then DirectX 9.0c built into Windows XP Service Pack 2, improved memory manager, system-wide Unicode support built-in, more performance from the file system and scheduler, better support for ‘large’ disks (NTFS, improved FAT32), etc.

For all the great improvements Windows XP brought over Windows 98, a decade later it has been very much showing it’s age even with all the little tweaks done through Windows Update and the Service Packs. While the Windows Firewall, Data Execution Prevention (DEP), and the Security Manager were major new features that came out of the ‘security push’ of 2003-2004, the experience of using Windows XP with Limited User Accounts in locked-down environment or security-conscious users trying to run without always-on administrator rights was not a great experience. The introduction of x64 (64-bit) technology resulted in a number of improvements over the 32-bit memory model, including a less fixed kernel-mode memory map (i.e. dynamic kernel pools), and robust memory support beyond the 3 – 3.75 GB limitations of Windows XP–while there is a product called “Windows XP x64 Edition” it was never actually Windows XP… it was Windows Server 2003 Service Pack 1 dressed up to look more or less like Windows XP. The multi-core revolution has brought major changes to the running environment and scheduler for a consumer operating system. Windows XP was designed to run on a single-core Intel Pentium III / IV or an AMD Athlon XP. “Multi-processor” at the time meant a second chip sitting on the motherboard, usually a server machine. Video cards have changed dramatically, and Windows XP is barely aware of GPU except perhaps as a limited utility raster blit-engine or some weird exclusive bolt-on mode that Direct3D created for specific applications. Unless the machine you are running is still a desktop machine from circa 2001, Windows XP is probably not a great fit for a modern PC…

Yesterday marked the one year anniversary of the release of Windows 7. For all the complaints about Windows Vista, the technology launched in that product and the slow but eventual engagement by hardware vendors, PC builders, driver writers, and application developers with the impact of those changes prepared the way for Windows 7’s success. Some of the seeds of change were rooted back in the days of Windows XP—you can see the recommendations about getting ready for User Account Control as far as back as Meltdown 2001.

A lot has happened in the past 9+ years here in Redmond, and while Windows XP has served gamers and game developers well, I’m glad to see it head into a graceful retirement at last…

Update: Recent Ars Technica article on the topic…

DirectX: The latest version of DirectX supported by Windows XP is “DirectX 9.0c”. It is included as part of Service Pack 2 and Service Pack 3. No newer version of DirectX is supported on Windows XP.

Visual Studio: Support for targeting Windows XP is provided by VS 2012 Update 1 and VS 2013, but the Windows 8.x SDK does not support building applications that run on Windows XP. These include a Windows SDK 7.1A for Windows XP applications when using the Platform Toolset “v110_xp” or “v120_xp”.

Testing: If you still need to do some testing on Windows XP, consider using a VM rather than a physical Windows XP machine. On Windows 7, you can make use of “Windows XP Mode“. On Windows 8 Pro or Enterprise, if you have an old Windows XP disk and valid product key laying about, you can setup a VM using Hyper-V.

Update: As of April 8, 2014, Windows XP is now end-of-life.

Comments (13)

  1. Tithonium says:

    Ooh, ooh, can you grab me a few dozen copies before it disappears? ::)

  2. Petyo123 says:

    win XP just now  gains  its stability and best performance.

  3. walbourn says:

    Alas, Tithonium, the company store dropped Windows XP over a yer ago. "It's dead, Jim"

  4. KP says:

    Why not leave it to the users to decide if they want to buy XP or not ?

  5. anand says:

    It will be long race for any OS to beat Windows XP 🙂

    Lets see how much windows 7 has to promise 🙂

  6. Anders says:

    Well, it's not very surprising from Microsoft guys to say XP is dead. For many software developers it will not be reasonable to drop support for XP for a long time. You guys need to realise not every application requires the latest and shiniest thing on the operating system and hardware side. Oh, of course you realise it very well, you just have to pull the corporate line and hide the truth a bit.

  7. Just a guy says:

    While 7 is certainly a step up from Vista, I still feel it's somewhat a step down from XP. For the most part it's pretty good, but XP seems to have been far more stable, and I intend on using it until I absolutely cant anymore.

  8. jack says:

    just use windows 7 pro and getthe xp mode for it

  9. marshmellow says:

    just use windows 7 pro and getthe xp mode for it

  10. walbourn says:

    Windows XP has had a great run, but the point I'm making here is that the PC itself has changed a lot since 2001. Windows Vista was designed for a computer sold in 2006. Windows 7 has the same recommendations for system specification as Windows Vista, but it includes support for higher-end systems with more efficient multicore scheduling (i.e. 256 core machines mostly seen today in servers).

    If you are running a single-core Pentium 4 or AMD K8 bought in 2001, then by all means keep running Windows XP on it. If you are installing it on a system bought today, then you are likely wasting a lot of hardware resources and relying heavily on old drivers to still work on new hardware.

  11. nexus99 says:

    walbourn, you can support new hardware with service packs,  maybe like WinXP SP4? But  microsoft goes the lazy way and launches a new OS. Maybe thats because you cant sell XP for crazy prices like vista? ($499) I can buy a superb graphics card for that price. I would never waste that much money for a few  aero eye candy. Btw, I laughed a lot when you said:  "wasting a lot of hardware resources".  I wanna remind you that Vista was a real resource-hog bloatware, using all the RAM and leaving you nothing to use. Since Windows 7 is a vista-clone, it is no different. So, Windows XP is still the king. Only reason that people move to vista and seven is you unfairly FORCE them by not supporting DX10 and 11 in windows xp. Very cheap and dishonest tactic if you ask me.

  12. walbourn says:

    The same complaint was made about Windows 95, Windows 98, Windows NT, Windows 2000, and Windows XP. The key point is that the entire OS has to evolve to keep up with changes to the PC. Direct3D 10.x/11 rely on a new driver model, major changes to the kernel, and many other things that are well beyond simple 'tweaks' or 'fixes' that are within the scope of a Service Pack.

    The reason people move to Windows Vista and Windows 7 today is because they want a better match for modern hardware be it 3 or 4 core multicore CPUs, high-power GPUs, or 4+ GB of physical RAM which requires a 64-bit OS.

  13. katsh says:

    XP thx for everything.