2

For debugging D3D9 applications enabling the DirectX 9 Debug Runtime is essential.

(The June 2010 SDK must be installed first.)

For 64-bit applications it can be enabled in the DirectX Control Panel (64-bit) by checking Use Debug Version of Direct3D 9.

Problem: It resets back to Retail when the control panel is closed, and basically doesn't do anything.

(The 32-bit equivalent works.)

Peter
  • 3,322
  • 3
  • 27
  • 41
  • See http://stackoverflow.com/questions/4102259/directx-sdk-june-2010-installation-problems-error-code-s1023 if installing the SDK fails – Peter Apr 29 '15 at 13:03

1 Answers1

5

Kjell Andersson found the answer:

The problem originates from a Windows 7 update that locked down the HKLM\Software\Microsoft\Direct3D registry key to a user named TrustedInstaller. This made the Administrator not having rights to update the settings in the registry key - thus not allowing us to switch to a debug version of Direct3D 9.

To fix this problem you have to follow this procedure:

  1. Using regedit as an Administrator, go to the HKLM\Software\Microsoft\Direct3D key.
  2. Select Permissions... from the context menu on the key.
  3. Press the Advanced button.
  4. Go to the Owner tab and select the Administrator as the owner. Apply the changes and close the Advanced settings.
  5. Back in the Premissions dialog select the Administrators group and check Full Control. Apply changes and close dialog.

You are now able to start the DirectX Control Panel from the DirectX SDK June 2010 and switch to the debug runtime.

Peter
  • 3,322
  • 3
  • 27
  • 41
  • 4
    Keep in mind that Direct3D 9 debugging basically only works on Windows 7 or earlier. The only way to get debug support for Direct3D 9 with Windows 8.x or Windows 10 is to install a 'checked' build of the OS. – Chuck Walbourn Jun 23 '15 at 05:59