don't click here

(FIXED) Direct3D Acceleration not enabled

Discussion in 'Technical Discussion' started by evilhamwizard, Jan 16, 2012.

  1. evilhamwizard

    evilhamwizard

    Researcher
    1,392
    455
    63
    Hey all, I need some help.

    For the past two or three days, Direct3D Acceleration has been disabled on my PC for some reason and I have no idea how to get it to enable itself again. I ran dxdiag and noticed that while Direct3D acceleration is disabled in 32bit dxdiag, everything was enabled and supposedly working fine in 64bit dxdiag. I believe the problem occurred while I was changing the properties of an old program to run in 256 colors or by switching the display to 16bit mode. Obviously I turned these off since then, so I don't know if something messed up in the process.

    I tried the following:

    1.) Reinstall video drivers, did nothing.
    2.) I disabled System Restore, so no rolling back.
    3.) I noticed that HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Direct3D\Drivers doesn't exist, but the 64bit equivalent in HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\ Direct3D\Drivers exists.
    4.) Redownloading the DirectX setup, says everything is fine.

    I could provide the dxdiag output, but it might not help with anything. They're almost exactly the same except that D3D is obviously disabled and the things that go along with it are unavailable.

    I'm using Windows 7 Ultimate x64 with a NVIDIA GeForce 9800 GTX+ card.

    I've looked online for solutions but found nothing other than the typical "update your drivers" answers. I'm kinda at the end of my rope at the moment since all my games are 32bit and require Direct3D, so I basically can't run anything.

    Any ideas?

    EDIT: Fixed it. I had to go to HKEY_LOCAL_MACHINE\SOFTWARE\Wow646432\Microsoft\ Direct3D\Drivers and change SoftwareOnly to 0 from 1. I believe this was added in while I was messing with compatibility settings for the old program. I believe one of the settings disables D3D for the desktop, so maybe the setting was left there. SoftwareOnly didn't exist before (double checked with a friend of mine with a similar machine), so it all checks out.
     
  2. DimensionWarped

    DimensionWarped

    Erinaceous! Oldbie
    ... Software Only? Dude, that doesn't sound like a fix at all. I think you just disabled hardware acceleration in Direct3D. Basically you are making your graphics card a power drawing paper weight.
     
  3. evilhamwizard

    evilhamwizard

    Researcher
    1,392
    455
    63
    I'm pretty sure that's not what setting SoftwareOnly to 0 does. The way I see it, setting it to 1 would mean that it would not have any kind of hardware optimization at all, which in this case, it didn't. So I changed the value to 0, and it works. Direct3D Acceleration is enabled according to dxdiag, and I can play my games just fine. I ran EVGA Precision while I ran a few games that didn't work before the value change to monitor any kind of load on the card, and it seems to take advantage of it now.

    There might be some other values that were added/changed besides SoftwareOnly under Direct3D, but I have to check and see. I heard having the timeout value under HKEY_LOCAL_MACHINE\CurrentControlSet\Control\GraphicsDrivers\DCI equal 0 could prohibit hardware optimizations, where it should be set to 7. I'm currently away from the desktop at the moment, so when I get back I'll take a look. But I'm pretty sure I have the problem licked now.
     
  4. DimensionWarped

    DimensionWarped

    Erinaceous! Oldbie
    EDIT: Oh wait, I read that backwards. Disregard.

    Yeah, I read it as from 0 to 1 since you know... logic usually dictates that people state before and then after. My brain plays tricks like that on me.