I used steffen's answer to get this working on Windows 10 and tracked it down in a bit more detail.
I had previously tried disabling TVEnableOverscan
and DigitalHDTVDefaultUnderscan
without success (changing them also in the amdkmdag
key under CurrentControlSet\Services
) as well as multiple versions and combinations of legacy CCC/driver installers. Prior to the Windows 10 upgrade it was working fine on Windows 8.1 (I cannot remember doing anything special to get it working but not 100% sure).
Firstly, on Windows 10 the unpacked installer package (13.4 beta) refuses to run. Instead I went to Device Manager and uninstalled the display adapter, checking the box to delete the driver. I then chose Action->Scan for hardware changes and got a "Microsoft Basic Display Adapter". I right-clicked and chose update driver, then chose the option to specify the driver myself. I picked the folder Packages\Drivers\Display\W86A_INF
from the unpacked AMD package as steffen described. There was quite a long period of hardware detection/installation and at the end of it the driver version was still the Windows 10 version (03/01/2015, 8.970.100.9001 instead of 04/24/2013, 8.970.100.0000 from the package). However, running the setup program and installing the VISION Conrol Center resulting in a functioning CCC. It was reporting the correct, older version of the driver.
At this point I was able to adjust the overscan whilst running Process Monitor and watching which registry values were being set when I pressed Apply:
15:26:19.6441241 CCC.exe 6740 RegSetValue HKLM\System\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000\GDOADJR6 DFP SUCCESS Type: REG_BINARY, Length: 384, Data: 00 00 00 00 02 00 00 00 10 00 00 00 00 00 00 00
15:26:19.6457995 CCC.exe 6740 RegSetValue HKLM\System\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000\DALR6 DFP1920x1080x0x59 SUCCESS Type: REG_BINARY, Length: 48, Data: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
15:26:19.6468669 CCC.exe 6740 RegSetValue HKLM\System\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000\DAL_DFPOptions SUCCESS Type: REG_BINARY, Length: 4, Data: 18 00 00 00
I believe the prefixes are the same paths resolved by the key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video
mentioned by steffen and others. Process Monitor does not show the full data but a bit of experimentation and zooming in with RegEdit showed that the relevant bytes are in both DALR6 and GDOADJR6 - in the former at byte 37 (offset 0x24) and in the latter at byte 21 (offset 0x14). These are 0 with overscan fully off (to the right in the GUI) and increase by one for each increment of the slider to the left.
Finally, I again uninstalled the display adapter driver from Device Manager (including deleting the driver). Windows automatically went through another prolonged detection cycle and returned to the original, Microsoft-supplied driver. For some reason CCC appears to still work and now displays the more modern driver version. This allowed me to make the change in the GUI again and observe the effect. Confusingly, new entries are created under the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video
key when switching device/driver. More confusingly, the second time around it appeared that my display was at 60Hz instead of 59Hz, so the relevant key had changed slightly. However, both offsets were still correct and changed with the slider/apply process.
I did not test this without having first installed CCC but it was still working after removing it. I can only assume they are read by the driver: at worst at startup and probably on every major display event (like changing resolution).
Windows 10 TH2 (Threshold 2)
After install TH2 the overscan was back and worse. The binary blobs have changed size and the default is now 8 instead of 2. The driver version remains the same and the location of the binary data remains the same. DALR6 ones are still at byte 37 (offset 0x24), GDOADJR6 is still at byte 21 (offset 0x14). I initially mis-read the hex offsets in RegEdit, so installed the same Catalyst 13.4 beta VISION Control Center as before (without the driver). This time it worked first time and was immediately able to control the overscan from the GUI.
Here is an answer regarding how to do this WITH catalyst: http://superuser.com/questions/57239/how-do-i-enable-disable-overscan-on-my-tv-in-catalyst-control-center
– Alireza Noori – 2012-08-06T20:08:42.823