Troubleshooting Tools and Strategies

The DirectX Diagnostic Tool (DXDiag) is a Windows-based DirectX tool that presents information about the components and drivers of the DirectX application programming interface (API) installed on your system. Administrators or users can test sound and graphics output and DirectPlay service providers, and disable some hardware acceleration features. You can use DXDiag to gather information during a support call or to send an e-mail message.

To start DXDiag, from the Start menu, click Run , and then type:




Some information displayed in DXDiag, such as the amount of memory on a display card, might be approximate.

DXDiag uses a tabbed dialog box format to separate the sections of reports, as shown in Figure 31.4.


Figure 31.4 DXDiag Dialog Box

Table 31.19, describes each tab in the DirectX Diagnostic Tool dialog box.



If a DirectX problem is detected on a particular tab, a warning message is displayed in the Notes box.

Table 31.19 DXDiag Dialog Box Tabs




Provides system information about your computer and specifies the version of DirectX installed on your computer.

DirectX Files

Lists the file name, version number, date, and size for each DirectX file installed on your computer.

DX Media Files

Lists the file name, version number, date, and size for each DirectX media file installed on your computer.

DirectX Drivers

Lists the file name, version number, date, and size for each DirectX driver file installed on your computer.


Lists your current display settings, and allows you to disable hardware acceleration and test DirectDraw and Direct3D.


Displays current sound settings, and allows you to test DirectSound.


Lists installed music ports, displays current Musical Instrument Digital Interface (MIDI) settings, and allows you to test the DirectMusic component of DirectX.


Lists the input devices and drivers installed on your computer.


Lists the registered DirectPlay service providers and the registered lobbyable DirectPlay applications installed on your computer and allows you to test the DirectPlay component of DirectX.

More Help

If you cannot resolve your DirectX by issue using the previous tabs, you can use the More Help tab to continue troubleshooting the issue.
Click MSInfo to start System Information. For more information about using System Information, see System Information earlier in this chapter.
Click Override to change the DirectDraw refresh rate. This is not recommended as a general troubleshooting step.

What to Look For

If you are experiencing problems when running DirectX applications, DXDiag can help you find the source of the trouble. The following are issues to look for:

Incorrect versions of DirectX components.    In the Notes section of the DirectX Files page, look for warnings about beta and debug files.

Uncertified drivers.    In the file list on the DirectX Drivers page, look for drivers that are marked as uncertified. Other problems might be shown in the Notes section of the Display, Sound, and Input pages. Uncertified drivers have not been tested by Microsoft for full compatibility with the latest version of DirectX.

Lack of hardware acceleration.    Some programs run slowly or not at all unless DirectDraw or Direct3D hardware acceleration is available. On the Display page, under DirectX Features, check whether DirectDraw, Direct3D, or AGP Support is marked Not available. If so, consider upgrading your hardware.

Device not connected.    If a joystick or other input device fails to respond, it might not be properly set up. Make sure the device is accounted for on the Input page of DXDiag. If not, add the device by using the Game Controllers icon in Control Panel.

Testing DirectX Components

You can test DirectDraw and Direct3D on each monitor attached to your system, DirectSound on each WAV output device, and DirectMusic on each music port.

Click Test , read any messages that appear, and watch or listen to the tests. Let each test run until you see a message asking whether the test was successful. If you respond No , no more tests are run.

There is a single test for DirectMusic. Click OK when you are satisfied that the music is or is not playing correctly.

You can also test DirectPlay functionality on any available service provider.

To test DirectPlay on two connected computers

  1. On Computer A on the Network page, click Test DirectPlay . In the DirectPlay Test dialog box, type a user name and choose a service provider. Select Create New Session , and then click OK . If you have chosen a modem connection, in the Modem Connection dialog box click Answer to put the modem in autoanswer mode.

  2. Run DXDiag on Computer B to establish the selected connection with Computer A. Click Test DirectPlay , type in a different user name, choose the same service provider, select Join Existing Session , and then click OK . For some types of connections, you might be asked to provide more information, such as a telephone number. For a TCP/IP connection on a local network, you can leave the text box blank.

  3. A session list is displayed on Computer B, containing the name of the session that you created on Computer A. Select the name of the session, and then click OK .

Both computers display a chat dialog box. Type a message in the input box on one computer, and then click Send . The message appears in the scrolling area of the chat dialog box on both computers.

Overriding Default Settings

On the Sound page, you can set a different level of hardware acceleration by moving the slider. This level remains in effect after you have closed DXDiag.

On the Display page for each installed display device, you can disable hardware acceleration for DirectDraw or Direct3D and AGP Support (if such options are available) by clicking Disable . These features remain disabled after you close DXDiag, and are not available to any applications. To re-enable a disabled feature, click Enable .



Disabling DirectDraw acceleration also disables acceleration for Direct3D.

You can also override the monitor refresh rate set by DirectDraw full-screen applications. Do this only if you are experiencing display problems with certain applications and have good reason to believe that the application is setting an invalid refresh rate.

To set an override refresh rate

  1. On the More Help page, click Override .

  2. In the Override DirectDraw Refresh Behavior dialog box, select the Override Value text box and type a valid refresh rate for your monitor. The Override Value option is automatically selected.

To cancel the override refresh rate

  1. On the More Help page, click Override .

  2. In the Override DirectDraw Refresh Behavior dialog box, select Default .

Restoring Drivers

On some configurations, DXDiag allows you to restore older audio and video drivers. This can be the best way of solving problems with incompatible drivers.

If a Restore button appears on the More Help page, click it to run the DirectX Setup program.

DirectX Setup has two buttons labeled Restore Audio Drivers and Restore Display Drivers . Clicking either of these buttons restores drivers that were replaced when DirectX was installed on your system. If a button is disabled, you do not have older drivers to which to revert. Contact the hardware manufacturer for the newest drivers.

Saving Information

To save information gathered by DXDiag, click Save All Information . Information from all the pages is saved in a file under a name and in a location you choose.