Change Overscan/Underscan settings without Catalyst Control Center

14

14

Just installed Windows 8 and downloaded the Catalyst version which ATI website recommended. However it says that it can't start! My main monitor is connected to my PC via a HDMI cable and the display is not full screen (there is a blank padding area around display). Usually I change overscan/underscan settings in CCC to reset it but since I have no access to it, I wanted to know if there is any way I can change it without CCC (through registry maybe?) Thanks.

Alireza Noori

Posted 2012-08-06T19:45:54.900

Reputation: 1 117

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

Answers

25

I've had extensive discussion about the overscan/underscan dilemma with AMD developers who work on the Catalyst drivers.

The basic idea is that AMD would rather underscan some people whose HDMI displays don't overscan, and create too small of a picture (blank spaces around the picture), rather than not underscan and cause people whose displays always overscan (with no setting to change it and incorrect EDID information) to have the desktop display too large. The argument is that if the desktop is too large, then the user can't see where the Catalyst icon is or the start menu, and they therefore can't navigate the UI in order to make the appropriate change. So they are sticking to their guns on underscanning by default on HDMI to ensure that nobody gets stuck with a desktop that's too big for their screen (with UI elements hanging "off the screen").

I don't agree with the policy, but that's the way it is. It also seems to be a fairly unique decision among graphics driver developers, as I can't reproduce the weirdness on a number of other non-AMD devices: Android tablets, Nvidia cards, and Intel on-chip graphics.

There is a way to directly tweak the underscan/overscan on Linux by modifying values in the "PCSDB" (Persistent Configuration Store Database). I don't know what the equivalent is on Windows, or if you can even read/write the settings without using Catalyst.

I can't personally test this solution, but it appears that it worked for people on fairly recent drivers, so give it a shot: go to Tom's Hardware or I'll just re-post it here:

I found a fix for the overscan issue  
Go to the following key in the registry:  
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\video{####....}\0000 
Create a new DWORD: 
"DigitalHDTVDefaultUnderscan" = dword 0x0000 
Note: there might be several {####....} , should be the one with most of the ATI settings. 
Source:http://forum.beyond3d.com/showthread.php?t=62100

Here is a quote from an AMD source (who will remain anonymous) from several years ago about their HDMI underscan/overscan policy. Note that this applies to both Windows and Linux.

The purpose of defaulting to underscan is not so we rely on HDTVs to overscan back to full screen. This would be horrible due to the image quality loss on the downscale by GPU and then back upscaled by TV. Rather, it solves the problem where a TV defaults to overscan and has no mechanism to disable it (many cheap HDTVs). In this case, the TV will overscan the image and so the menus will typically be displayed off the edge of the screen and prevent the user from easily accessing them. The default is purely for usability purposes, and CCC-LE should be able to change it to 0% (or you can use that registry/PCS key to forced default of 0%).

If you have a smart HDTV that tells us if they overscan or not, we will do the right thing and default to 0%. However not many manufacturers properly set that property in the display's EDID so we fallback to the default of underscanning.

Underscanning should only be the default on HDMI. DisplayPort or DVI should not underscan by default.

allquixotic

Posted 2012-08-06T19:45:54.900

Reputation: 32 256

This also seems to work with Windows Server 2012 and the Omega 14.12 Catalyst driver. I added the DWORD entry under "...\video{...GUID...}\0000" key and it automatically added it to all the others (I had 0000-0005 with dual 280X cards installed). Also BTW, there doesn't seem to be any way to set the under/overscan via the Catalyst GUI so this registry trick seems to be the only way at the moment. I tried the beta 15.3 Catalyst driver and it was the same. – CR. – 2015-03-26T13:34:30.007

In case anyone finds this wondering if it works for Windows 10, it doesn't. I both changed TVEnableOverscan and added DigitalHDTVDefaultUnderscan and set all to 0. However, this does work: https://community.amd.com/thread/184967

– Brandon – 2015-12-19T03:12:11.170

2Thank you VERY much. It worked with the first attempt. I'm so happy :X – Alireza Noori – 2012-08-07T05:11:33.533

Great answer. I don't understand why this problem exists in the first place (why isn't a pixel a pixel?), but I think the blame rests with display manufacturers. Given that, and what you've said, I agree with AMD that underscanning by default is the best course of action. – lordcheeto – 2012-12-03T20:55:02.267

This question is unrelated to how to do it with CCC, and indeed the OP provided a way to do it via CCC in the original post. – allquixotic – 2013-02-01T15:17:50.803

3The argument is that if the desktop is too large, then the user can't see where the Catalyst icon is or the start menu, and they therefore can't navigate the UI in order to make the appropriate change.   And yet they insist on shoving an icon to run the CCC into the context-menu of the desktop as though it is something people use 20 times per day (not to mention the CCC being easily accessible from the Start menu and Control Panel even without seeing the taskbar). ◔_◔ – Synetech – 2013-10-18T18:20:13.793

3This pushed me in the correct direction. I added this new registry key in the \0000 and \0001 directories to no avail. I then skimmed through the existing keys and found one titled TVEnableOverscan. Setting this to 0 in \0000 fixed it for me. – MetalFrog – 2014-03-20T11:02:42.537

Just installed the new driver on Win 8.1, this time without the 150 MB Control Center bloatware. So I ran into this underscan issue. Adding the DWORD as you described did fix the issue. Thank you for the pointer! Note that I rebooted to see the effect; the driver doesn't monitor the registry to auto-update its settings. – Lumi – 2014-05-26T10:03:36.030

6

For Linux, the fix is to enter this in the Terminal:

sudo aticonfig --set-pcs-val=MCIL,DigitalHDTVDefaultUnderscan,0

(posting this here to just need a single bookmark for all platforms)

Nicolay77

Posted 2012-08-06T19:45:54.900

Reputation: 370

3

I couldn't get it working with my Radeon HD 3600 on Windows 8.1 64bit with the proposed solutions from here. I tried everything including

  • All combinations of DigitalHDTVDefaultUnderscan and TVEnableOverscan to 0 or 1
  • DigitalHDTVDefaultUnderscan in 0000, 0001 or even in different registry paths
  • Setting DALR6 DFP1920x1080x0x59 or DALR6 DFP1920x1080x0x60 to 0 as proposed here
  • From within the Catalyst Control Center (changing the value did not show any effect)

Here's what finally worked for me - ending up with no CCC installed!

  1. Download and extract CCC 13.4 legacy beta (the latest driver for HD 2x/3x/4x Series)
  2. Install the driver manually from Packages\Drivers\Display\W86A_INF
    • The only driver that worked for me was C8156445
    • In the selection box I chose the second of the two equally named drivers:
      • ATI Radeon HD 3600 Series
      • ATI Radeon HD 3600 Series - choose this
  3. Install the CCC (only select CCC and the Visual C++ Redistributable Library)
  4. Configure the display to 0% over/underscan
    • If the slider is deactivated your screen is probably not in Full-HD
    • If there's no perfectly sharp picture immediately you need to choose another driver from step 2
  5. The picture should be sharp by now!
  6. If the picture is sharp, you can uninstall everything but the driver
    • CCC
    • Visual C++ Redistributable Libraries
    • Folder C:\AMD

Now I have a sharp picture without CCC.

steffen

Posted 2012-08-06T19:45:54.900

Reputation: 131

1Changing DALR6 DFP1920x1080x0x59 to all 0 did the trick for me – VitaliyG – 2015-08-29T19:52:00.323

Couldn't get CCC to open. The registry setting worked for me on Win10 and a Radeon HD 3870 with my Panasonic TV – Sc0tTy – 2019-12-06T20:03:26.833

@Sc0tTy Which of the registry settings did help? – steffen – 2019-12-08T10:08:42.510

2

Had the same problem and my solution is:

use regedit to set keys:

HKLM\System\CurrentControlSet\Video\***\0000
    DWORD: TVEnableOverscan = 0x0
    DWORD: DigitalHDTVDefaultUnderscan = 0x0

HKLM\System\CurrentControlSet\Video\***\0000\DAL2_DATA_2.0\DisplayPath_*\MODE_***\Adjustment
    rename "Underscan" to for example "oldUnderscan" to disable it

Reboot and see if it works

Changing only the first two values does not work for me.

You need to replace the *s with the approriate values found in your registry. I also quess that "0000" is the first screen, "0001" is the second and so on (the first one is my HDTV and the second one a common PC monitor - which had TVEnableOverscan set to 0 already)

oka

Posted 2012-08-06T19:45:54.900

Reputation: 21

2

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.

Sam Brightman

Posted 2012-08-06T19:45:54.900

Reputation: 540

1

I had a similar problem, and wasn't able to install Catalyst Control Center...so also unable to adjust the underscan setting.

I was able to overcome it (more like mask the issue really) and adjust the Screen size setting on my Samsung TV that I have my PC connected to. By the sounds of it this exactly what AMD were trying to work around.

Now I can see the whole screen in 1080p, and luckily the TV is clever enough to have different screen size settings for each hdmi input.

Perhaps a similar approach might work for PC monitors?

Dave Bickford

Posted 2012-08-06T19:45:54.900

Reputation: 11

1Why don't you use the selected answer's approach? – Alireza Noori – 2014-01-27T12:11:14.237

1

This isn't directly for win8 but it worked in server 2012r2 so I assume it is at least parrotable in 8.1 or 8. Anyway I removed the default underscan? (image is smaller than display) by editing the BestViewOption_Hdmi binary key found at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{B380344A-9336-4C46-A52D-F53C6EAD0696}\0000\DAL2_DATA__2_0\DisplayPath_5\Option

where the GUID you are looking for is which ever one has lots of keys in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\

again {B380344A-9336-4C46-A52D-F53C6EAD0696} in the regkey string is a GUID that is unique for me don't expect to see the exact same one on your machine.

This is on Server 2012r2 using CCC 14.1beta

Anyway hope this helps someone.

admik

Posted 2012-08-06T19:45:54.900

Reputation: 11

I see which key you edited, but I don't see what changes you needed to make. – Joel Coehoorn – 2018-07-20T04:33:16.747

1

I have a Hp pavilion dv6 with ati hd 4650 with windows 8.1 update.

In windows 8 it worked fine to change the values but in windows 8.1 update windows keep restoring the values so that black border is constant.

I solved it by specifically add user “system” to the 0000 regkey and anly allow system to read the values, and applied these security settings down on all keys,subkeys.

And now it works fine in Windows 8.1 to.

Hopes it helps someone.

HP Pavilion HD4650 graphic

Posted 2012-08-06T19:45:54.900

Reputation: 11

0

Installing CC in a different folder is all I needed to do to fix this. The default folder was corrupted no matter what.

Pierre Cyr

Posted 2012-08-06T19:45:54.900

Reputation: 1

0

I changed my registry settings (like said above) and changed my hdmi cable - nothing changed.

Then I shut down my PC, removed my second screen (DVI) and rebooted: everything fine now!

Maybe this saves someone some hours of testing and research...

panga

Posted 2012-08-06T19:45:54.900

Reputation: 1

This seems like a reply to another answer. Can you add some more details so it can stand on its own? – bwDraco – 2014-11-29T22:06:47.140

0

For my oldish Samsung LCD I was able to fix the issue by changing P.SIZE from 16:9 to "Just Scan". Before now I had always installed the control center, lame!

Chris

Posted 2012-08-06T19:45:54.900

Reputation: 1