Friday, October 26, 2012

Fix Brightness Control for Windows 8 AMD SG Drivers

 

Note:   The method to fix this is should be the same for every laptop, however the value in the registry that must be changed is model specific.  I also do not know if this will work for non-HP drivers, although I suspect it will for any Intel-based GPU in a laptop.  This REQUIRES an Intel GPU, of some sort.  I take no responsibility for what happens to your machine, and it could have unpredictable results.  Use at your own peril.   This has only been tested on HP Envy 3XXX models.

 

Update:  This hack appears to only work if the drivers are provided by the laptop manufacturer.    The value for FeatureTestControl differs for reference drivers and you need a working example to find the correct Feature code (as far as I know).

Update 2:  I have now had some success stories using the HP Envy 32xx series.  Remember, you must install the HP provided Windows 8 drivers before the fix!

 

Update 3:  HP, are you listening?  These values are WRONG in the driver inf:

[PwrCons_SNB_AddSwSettings]
HKR,, FeatureTestControl,%REG_DWORD%, 0xF842

[PwrCons_IVB_AddSwSettings]
HKR,, FeatureTestControl,%REG_DWORD%, 0xF842

 

Update 4: MacHater from notebookreview.com forums has figured out a way to use this fix with reference Intel drivers (downloaded from Intel or Windows Update.  I have posted a reg file to try it out.

 

     --------------------------------------------------------------------------------------------------------------------------------------------------------------

The ‘Fix’

 

Now that Windows 8 has been released, HP has started to release Windows 8 compatible video drivers for select laptops.  In my case, they released them for the HP Envy-15 3000 series.  The package was dated from a month prior, so HP has been doing some good, solid testing.  Right?  Not even close.  The drivers install fine, but brightness was stuck at Face Melt level.  I swear I got a radiation burn from my laptop it was so bright.  Remember, these are official, HP tested and approved drivers.

Sometimes installing the Intel driver a second time from device manager allowed for brightness to be adjusted…as long as you never rebooted.  Clearly, it was an inf issue with the driver, and in turn a registry issue after being installed.

 

So I poked around and found others having this issue and that sometimes adjusting a registry value called FeatureTestControl would fix it.  I didn’t know what value it was supposed to be, but suspected that HP screwed up and used the wrong version.

 

I installed Windows 7 and the drivers.  Checked the registry.  Sure enough, it was a different value.

 

Windows 8 showed:

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0001]
"FeatureTestControl"=dword:0000f842

(on some machines it shows here)

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]
"FeatureTestControl"=dword:0000f842

 

Windows 7 showed:

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0001]
"FeatureTestControl"=dword:0000f940

(on some machines it shows here)

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]
"FeatureTestControl"=dword:0000f940

I figured making Windows 8 match the values that Windows 7 did would fix the issue.  That it did.   I have included a registry filefor import.  Note:  These assume your system is in good working condition (using ControlSet001). 

 

To think that HP couldn’t figure this out with a month of testing…

Just double click these to import into your registry or manually change it yourself according to the values. 

Brightness Fix:

http://sdrv.ms/So5f9b

Brightness Fix for Reference Intel Drivers (uses ffff for value):

http://sdrv.ms/PJgJVs

 

 

If the fix doesn’t work but you have the correct model of laptop I specified, check your controlset in use.

HKEY_LOCAL_MACHINE\SYSTEM\Select\Current

 

If Current is not set to 1, then change the registry fix to the correct ControlSet number:

([HKEY_LOCAL_MACHINE\SYSTEM\ControlSet00X\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0001]

or

([HKEY_LOCAL_MACHINE\SYSTEM\ControlSet00X\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]

 

 

FAQ

Q: What if it doesn’t work, or I have a different model?

A: Install Windows 7 with working drivers, locate the value for FeatureTestControl here:

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0001]

or

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]

This may be slightly different if your current controlset is different.  Take a look at

HKEY_LOCAL_MACHINE\SYSTEM\Select\Current to see which ControlSet is active.

Once located, write down the value of FeatureTestControl, because when you go back to Windows 8 and install proper drivers, you will want to change this value to match what your wrote down.

Q: I can’t find that registry key anywhere!

A: If you do not have this registry key, first verify you have an Intel GPU (this is a must) of any sort (switchable graphics or not) and then:

Do a search in the registry for FeatureTestControl.  It should reside in a similar key. 

 

Happy hunting and good luck!