ATI HD2x00 Registry Tweaks for Maximum HTPC Performance
Supports Windows Vista x86/x64, XP & MCE.
This script is designed to add values to the Windows registry. Changing
anything in the registry can be hazardous. No warranty is offered or
implied. Use at your own risk!
This script will add a number of registry tweaks to enhance the
performance of ATI HD2400 & HD2600 series video cards for use in
HTPCs.
The simple way to use this program:
Run the script
(double-click). When you are prompted to approve a video device, read the
"Device Description". If it looks like a description for your video card,
go ahead and answer 'Yes' to agree that it is the correct device. When the
program is done, run it again, and answer 'No' to the first device that
looks like yours (the one you answered 'Yes' to last time) and keep
looking for another device whose description matches your video card. This
time answer 'Yes' for that device, and continue running the program as
many times as it takes to add the registry tweaks for every video device
that matches yours. There is no harm caused by adding the settings under
multiple video devices, or even under video devices that aren't your
active video card. The settings will be ignored by other devices.
To make it more complicated:
Under Windows XP / MCE, if you want
to add a level of verification that you have the correct video device,
open the ATI Catalyst Control Center, and select the Information Center
> Graphics Software section. The 2D Driver Path will show the GUID (the
number between the curly brackets, "{}") for your active video device.
When you run this program, you will be prompted for each video device on
your system. When you see the GUID for your active video device, approve
that device to add the registry settings.
Under Windows Vista, the path in the CCC will not match the one
reported by this program, because it uses a different registry key that
mirrors to the one listed in the CCC.
You will be prompted to approve the correct video device before
anything in the registry is changed. To add settings for multiple devices,
simply re-run the program and select a different device. In Windows XP /
MCE, the registry tweaks will be applied to all outputs, e.g., 0000 and
0001. In Windows Vista, the registry tweaks are applied uniformly to the
active device, which applies to all outputs on that device.
Save the .vbs file to your computer, then double-click on it to run
the program.
Internet Explorer: Right-click and select 'Save Target As...'
Firefox: Right-click and select 'Save Link As...'
This is a program written in VBScript. You can view the source code in
your browser or in any text editor. If you double-click it, it will run
using the Windows Script Host, included with every version of Windows.
Your anti-virus software may bark when you download or attempt to run
this, because VBScript is fairly powerful and .vbs files have been used to
do some malicious things in the past. I have no malicious intentions, so I
suggest you let the program run, but if you're uncomfortable doing it,
don't.
See my
AVS Forum post for details on the registry settings.
See arfster's
AVS Forum post for details on the effects of each setting.
The following registry settings are applied:
HD2400 & HD2600
"DXVA_DetailEnhance"="0" "DXVA_NOHDDECODE"="0" "DXVA_WMV_NA"="0"
"SORTOverrideVidSizeCaps"="2800000" "TrDenoise"="0" "UseBT601CSC"="1" "VForceMaxResSize"="2800000" "VForceUVDVC1"="1" "VForceUVDH264"="1" "HWUVD_ForceMPEG2"="1"
HD2400 Only
"DXVA_Only24FPS1080MPEG2"="0" "DXVA_Only24FPS1080H264"="0" "DXVA_Only24FPS1080VC1"="0" "SORTOverrideFPSCaps"="0" "VForce24FPS1080MPEG2"="0" "VForce24FPS1080H264"="0" "VForce24FPS1080VC1"="0"
HD2600 Only
"ColorVibrance_DEF"="0" "ColorVibrance_DE_MIN"="0" "ColorVibrance_NA"="0" "DI_METHOD"="5" "DI_METHOD_DEF"="5" "Fleshtone_DEF"="0" "Fleshtone_DE_MIN"="0" "Fleshtone_NA"="0"
If your AGP card is not supported by the latest ATI drivers...
Sometimes the drivers don't get updated for every card for every driver
release, so you need to edit a couple files to add your card. Run the
installer, and continue until you extract the driver into a folder under
C:\ATI\SUPPORT\. At the next opportunity, cancel the installation and
navigate to the C:\ATI\SUPPORT\ folder in Windows Explorer. Edit the files
as follows, and you can then run C:\ATI\SUPPORT\{Current
Version}\Driver\setup.exe.
The files you need to edit are:
Windows Vista
C:\ATI\SUPPORT\[Current
Version]\Driver\Packages\Drivers\Display\LH_INF\CX_*****.inf
Under "[ATI.Mfg]", add the following lines. You can do a search for "HD
2400" to put the lines with the other entries for the HD2000 series, if
you wish.
"ATI Radeon HD 2400 PRO AGP" = ati2mtag_RV610,
PCI\VEN_1002&DEV_94C4 "ATI Radeon HD 2400 XT AGP" = ati2mtag_RV610,
PCI\VEN_1002&DEV_94C6 "ATI Radeon HD 2600 PRO AGP" =
ati2mtag_RV630, PCI\VEN_1002&DEV_9587 "ATI Radeon HD 2600 XT AGP" =
ati2mtag_RV630, PCI\VEN_1002&DEV_9586
The lines can be placed anywhere under the "[ATI.Mfg]" section. For
example, your entry could look as follows:
[ATI.Mfg] "ATI Radeon HD 2400 PRO AGP" = ati2mtag_RV610,
PCI\VEN_1002&DEV_94C4 "ATI Radeon HD 2400 XT AGP" = ati2mtag_RV610,
PCI\VEN_1002&DEV_94C6 "ATI Radeon HD 2600 PRO AGP" =
ati2mtag_RV630, PCI\VEN_1002&DEV_9587 "ATI Radeon HD 2600 XT AGP" =
ati2mtag_RV630, PCI\VEN_1002&DEV_9586
Windows XP/MCE
C:\ATI\SUPPORT\[Current
Version]\Driver\Driver\XP_INF\CX_*****.inf
Under "[ATI.Mfg.NTx86]", add the following lines. You can do a search
for "HD 2400" to put the lines with the other entries for the HD2000
series, if you wish.
"ATI Radeon HD 2400 PRO AGP" = ati2mtag_RV610,
PCI\VEN_1002&DEV_94C4 "ATI Radeon HD 2400 XT AGP" = ati2mtag_RV610,
PCI\VEN_1002&DEV_94C6 "ATI Radeon HD 2600 PRO AGP" =
ati2mtag_RV630, PCI\VEN_1002&DEV_9587 "ATI Radeon HD 2600 XT AGP" =
ati2mtag_RV630, PCI\VEN_1002&DEV_9586
The lines can be placed anywhere under the "[ATI.Mfg.NTx86]" section.
For example, your entry could look as follows:
[ATI.Mfg.NTx86] "ATI Radeon HD 2400 PRO AGP" = ati2mtag_RV610,
PCI\VEN_1002&DEV_94C4 "ATI Radeon HD 2400 XT AGP" = ati2mtag_RV610,
PCI\VEN_1002&DEV_94C6 "ATI Radeon HD 2600 PRO AGP" =
ati2mtag_RV630, PCI\VEN_1002&DEV_9587 "ATI Radeon HD 2600 XT AGP" =
ati2mtag_RV630, PCI\VEN_1002&DEV_9586
C:\ATI\SUPPORT\[Current
Version]\Driver\Driver\CX_*****.INI C:\ATI\SUPPORT\[Current
Version]\Driver\Driver\INSTALL.INI
In both files, under the
"[WINXP]" section, add the following at the end of the second line, which
starts "R6=DriverPath_R6":
,0x94C4,0x94C6,0x9586,0x9587
For example, your entry could look as follows:
[WINXP] Label=R6,R6_2,R6_3,R6_4,R6_5,R6_6,R6_7,R6_8,R6_9,R6_10 R6=DriverPath_R6,0x554F:0x149218BC,0x7162:0x3001147B,0x94C4,0x94C6,0x9586,0x9587 DriverPath_R6=\XP_INF,CX_52443.INF
If you see red-shift or flashes of color on red objects...
For NTSC material, it seems to be related to framerate detection of
NTSC video material (29.97fps, interlaced). In the ATI CCC, try disabling
pulldown detection .
Changelog:
2008-02-23 0.12 Modified implementation for Vista to use different
registry keys under HKLM\System\CurrentControlSet\Control\Class. Applying
the settings once there should mirror the settings to Control\Video for
all ports of the device. Added links to resources on UAC if permissions
prevent adding reg values under Vista. Added: "VForceUVDVC1"="1",
"VForceUVDH264"="1", "HWUVD_ForceMPEG2"="1"
2007-10-31 0.11: Added support for all video device numbers, not
just "0000" and "0001". Fixed final "Done" dialog to work properly
under Vista. Updated final "Done" dialog to display settings for all
device numbers. Added check for registry permissions each time a value
is set.
2007-10-30 0.10: Added DXVA_NOHDDECODE to apply to the HD2600, as
HD-MPEG2 DXVA was broken in the ATI Catalyst 7.10 drivers.
2007-09-27 0.9: Made comments in the file header a little more
generic. Changed the recursive SetRegValue sub call in SetRegValue() to
have the correct arguments.
2007-09-24 0.8: Added change for sloppy programming: Reset message
string at the beginning of Done() sub.
2007-09-23 0.7: Added checking for user permissions to edit
registry, allowing for Vista UAC. Previously, adding settings to registry
would fail silently. Upgraded for efficiency: Changed big loops with
interior branching to exterior branching with little loops. Added
Done() sub to show current registry settings at the end of processing.
Added SetRegValue() sub for checking permissions and adding reg values.
(Not currently implemented. To be used in a future upgrade, if needed.)
2007-09-19 0.6: Changed detection for Vista to case-insenstive
string compare.
2007-09-18 0.5: Added support for primary video device as "0001" and
secondary as "0000". Previously, assumed primary was "0000".
2007-09-18 0.4: Added SORTOverrideVidSizeCaps = 2800000. Added
ColorVibrance_NA = 0 for 2600. Added Fleshtone_NA = 0 for 2600.
2007-09-18 0.3: Initial public release. Support for Win XP/MCE
and Vista. Support for multiple video devices (cycles thru
devices). Adds settings for both primary and secondary video devices.
|