Home       Windows FAQs       Reviews       Tech Showcases

Windows XP Hardware and Software Compatibility
Updated for the RTM release of Windows XP

To answer critics of Windows 2000, Microsoft has made improvements to the foundations of the operating system, in areas such as application experience and device compatibility, finally delivering the NT kernel in an OS with the compatibility of Windows 9x. But Microsoft hasn't compromised the stability of Windows XP by introducing legacy 9x code. Instead, a new set of technologies will ensure that software and hardware just works. The results, frankly, are amazing.

Application Experience
"With Windows XP, application compatibility is not an afterthought, as it was in Windows 2000," says Jude Kavalam, a program manager in the Application Compatibility Experience group at Microsoft. "The number one ship criteria is compatibility. We've been testing applications since day one and have tested several thousand apps so far." For Windows XP, Microsoft's application compatibility goals are straightforward: Applications will just work.

To ensure that this happens, the Application Compatibility Experience group was formed shortly after the Whistler project began in late December 1999. It consists of over 200 testers, developers and program managers who test applications in a variety of scenarios (clean installs, migrations, upgrades) using various hardware configurations. And the group is dedicated to understanding and enhancing the end user application experience.

Under Windows 2000, this concept was almost non-existent. Many consumer-oriented applications, especially games, refuse to run on Windows 2000. And customers had few options for dealing with problems. "The focus on consumers is the big change in Windows XP," Kavalam said. "Windows 2000 was about corporate applications." Under Windows XP, DirectX games as well as 16-bit DOS applications and games are now targeted. And here's an amazing bit of news: Microsoft has gotten Sound Blaster-compatible sound working in DOS boxes under Windows XP. You can play games like DOOM and Castle Wolfenstein in Windows XP, either full screen or in a window. Kavalam: "We've built in technology that gives compatibility to consumers; and application fixes can be shipped dynamically to customers automatically, via AutoUpdate and Windows Update, after the OS is installed."

Microsoft says that three kinds of applications were causing problems under Windows 2000 and other previous versions of Windows:

  • Applications that are platform specific (that is, designed for Windows 95 only or whatever) or driver specific.
  • Applications that worked on Windows 2000, but not in Windows XP: Something in the new OS broke the app. When something like this was found during the beta, it was fixed in the OS before RTM.
  • Windows 9x applications that were never designed or tested on Windows NT/2000, such as games. DirectX games were at a 40 percent pass rate in Windows 2000. That figure will be as near to 100 percent as possible in Windows XP. Previous to the Beta 2 release, it was at 81 percent.
To handle these problems, Microsoft has employed a number of issue-specific techniques, along with 151 generic application fixes. For example, you can fake out the offending application and make it believe that it's running under Windows 95, or Windows 98. For platform-specific application problems, an "AppsHelp" message is displayed to the user, explaining the problem and, if possible, providing a link to a downloadable patch. And known dangerous applications will simply be blocked from running. AppsHelp is a new technology in Windows XP that is triggered when problematic applications attempt to run. It works alongside the new AppCompat Database, which is updateable through Windows Update and Dynamic Setup.

A new Compatibility Fixes technology allows Microsoft to dynamically "fix" applications. These fixes are application specific and address programmatic differences between various versions of Windows, differences that often cause applications to fail. These fixes are designed to be lightweight and have minimal side effects on other parts of the system. To fool an application into thinking that it's running on a different version of Windows, say Windows 95, 98, NT 4.0, or 2000, Windows XP includes integrated Compatibility Layers technology.