Skip to main content
GameDev.net gamedev.net
🔒 Locked

windows8.1 disables part of DirectX control panel?

Started by Poo Bear Oct 21, 2013 at 1:00 PM 15 replies 17.6k views
Original Post
Poo Bear
Poo Bear

Hi,

I have to maintain some old D3D9 code and I have to use a windows8.1 machine to do it, everything compiles and runs, but I need the debug runtime activating to search down some issues. However, it's been greyed out - eek!

mpNVf.png

I did find some posts referring to a fix for this: "Using regedit, go to key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Direct3D. The "Trusted Installer" has ownership of this key. Change ownership to Administrators, then grant "Full Access" to the Administrators. Now run the DX Control Panel (as admin, of course). Now the changes should be saved."

Problem is I can't find Direct3D in the registry? I've got DirectDraw/Input/Music/Play/Show/X/XSDK, but no Direct3D.

Anybody got any ideas how to activate the debug runtime? I know the obvious ones are either go back to win7 or upgrade all the code DX11, but sadly neither of those options are practical.

thanks...

cdoubleplusgood
cdoubleplusgood




I did find some posts referring to a fix for this: "Using regedit, go to key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Direct3D. The "Trusted Installer" has ownership of this key. Change ownership to Administrators, then grant "Full Access" to the Administrators. Now run the DX Control Panel (as admin, of course). Now the changes should be saved."

LOL... thanks for citing me.

Is this new in 8.1; I mean, was the key present in Windows 8.0?

Poo Bear
Poo Bear

I don't know, never had win8.0, I've been hanging onto win7 as long as I can, but everything just got updated straight to 8.1 at the office so I'm a bit stuffed.

cdoubleplusgood
cdoubleplusgood

Just a vague guess... maybe a 32 / 64 bit issue? Is the key located under HKEY_LOCAL_MACHINE\Software\Wow6432Node?

Poo Bear
Poo Bear

Yes, there is a Direct3D key in there - woo!. However, I can't follow the original fix, as permissions work differently in win8.1 than in win7 so not really sure what to do.

:(

Kjell Andersson
Kjell Andersson

Setting the keys in the registry under Wow6432Node to 1 do change some settings in the 32-bit Direct3D 9 control panel. It does however not enable debugging or remove the gray-out, that must be controlled by something else.

Alessio1989
Alessio1989

Debug runtime of the "old legacy" DirectX SDK (2010 and prior) don't work on Windows 8/8.1 and even on windows 7 SP1 with Platform update as far as I know. This is why PIX don't works on those platforms.

If you want debug dx9 code, you need a machine With Windows 7 (without the platform update) or a previous OS.

"Recursion is the first step towards madness." - "Skegg?ld, Skálm?ld, Skildir ro Klofnir!"
Direct3D 12 quick reference: https://github.com/alessiot89/D3D12QuickRef/
21st Century Moose
21st Century Moose

The fix I posted above enables the use of debug runtimes on Windows 7 even after SP1.

The platform update was the breaking change, though. That's the one in kb2670838 where the D3D11.1 components came in and wrecked everything.

Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls. 
Poo Bear
Poo Bear

Thanks for all the help, I did manage to take ownership of the registry keys (finally), but it doesn't make any difference. This does seem a bit of a heavy handed move by MS, not sure what a "checked" version of win8.1 is or where to get it. A bit of text output doesn't seem a lot to ask for those of us forced to maintain old code (surely hundreds?).

Kjell Andersson
Kjell Andersson

I think that the only thing we need from the "checked" version is the d3d9.dll & d3d9d.dll. (I'm just speculating, might be more that is needed)

I made a test and copied the d3d9d.dll from my Win7 machine to C:\Windows\SysWOW64\ on my Win8 machine. Obviously is does not work, but one can note that the Direct3D 9 control panel is no longer grayed out. It would be nice to know if there is a d3d9d.dll out there somewhere for Windows 8

Alessio1989
Alessio1989

From: http://blogs.msdn.com/b/chuckw/archive/2012/03/22/where-is-the-directx-sdk.aspx

The only way to get the debug version of Direct3D 9 for Windows 8 is to install a 'checked' version of the OS.

"checked" version aka Debug Symbol installed? Here are the installers: http://msdn.microsoft.com/en-us/windows/hardware/gg463028.aspx

The ISO with Symbols is also available on MSDN and Dreamspark Premium accounts..

db123
db123

is there any body fix this problem?unsure.png

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.