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.
|