在没有Catalyst控制中心的情况下更改过扫描/欠扫描设置。
刚安装了Windows 8,下载了ATI网站推荐的Catalyst版本。然而它却说无法启动! 我的主显示器是通过HDMI线连接到我的电脑上的,显示不是全屏的(显示器周围有一个空白的填充区域)。通常我在CCC中更改过扫描/欠扫描设置来重置它,但由于我没有访问它的权限,我想知道是否有任何方法可以让我在没有CCC的情况下更改它(也许通过注册表)?
刚安装了Windows 8,下载了ATI网站推荐的Catalyst版本。然而它却说无法启动! 我的主显示器是通过HDMI线连接到我的电脑上的,显示不是全屏的(显示器周围有一个空白的填充区域)。通常我在CCC中更改过扫描/欠扫描设置来重置它,但由于我没有访问它的权限,我想知道是否有任何方法可以让我在没有CCC的情况下更改它(也许通过注册表)?
我与从事催化剂驱动的AMD开发人员就过扫描/欠扫描的困境进行了广泛的讨论。
基本思路是,AMD宁可对一些HDMI显示器不过扫描的人进行下扫描,造成画面过小(画面周围有空白),也不愿意不进行下扫描,造成显示器总是过扫描的人(没有设置更改,EDID信息不正确)桌面显示过大。他们的论点是,如果桌面过大,那么用户就看不到催化剂图标在哪里,也看不到开始菜单,因此他们无法浏览UI以做出适当的改变。所以他们坚持默认在HDMI上进行底层扫描,以确保没有人被一个对他们的屏幕来说太大的桌面所困住(UI元素挂在 “屏幕外")。
我不同意这个政策,但就是这样。这似乎也是图形驱动程序开发人员中相当独特的决定,因为我无法在其他一些非AMD设备上重现这种奇怪的现象。安卓平板电脑,英伟达显卡和英特尔片上显卡。
在Linux上,有一种方法可以直接通过修改 "PCSDB"(Persistent Configuration Store Database,持久配置存储数据库)中的值来调整下扫描/上扫描。我不知道Windows上有什么等价物,也不知道你是否可以在不使用Catalyst的情况下读取/写入设置。
我无法亲自测试这个解决方案,但似乎有人在相当新的驱动程序上工作,所以给它一个机会。去Tom’s Hardware 要不我就把它重贴在这里了。
I found a fix for the overscan issue
Go to the following key in the registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\video{####....}0x1&000
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
这是几年前AMD的一个消息来源(将保持匿名)关于他们的HDMI下扫描/上扫描政策的一段话。请注意,这适用于Windows和Linux。
默认为下扫描的目的不是让我们依靠高清电视过扫描回到全屏。这将是非常可怕的,因为在GPU降级,然后再由电视回升的过程中会损失图像质量。相反,它解决了电视默认为过扫描,并且没有机制来禁止它的问题(许多廉价的高清电视)。在这种情况下,电视会对图像进行过扫描,因此菜单通常会显示在屏幕边缘之外,使用户无法轻松访问它们。默认值纯粹是出于可用性的目的,CCC-LE应该可以将其改为0%(或者你可以使用注册表/PCS键强制默认为0%)。
如果你有一个智能高清电视,它会告诉我们它们是否超扫描,我们会做正确的事情,默认为0%。然而,并不是很多制造商在显示器的EDID中正确地设置了该属性,所以我们会回退到默认的欠扫描。
底层扫描只应该是HDMI的默认值。DisplayPort或DVI不应该默认为下划线。
我无法用我的Radeon HD 3600在Windows 8.1 64bit上使用这里提出的解决方案使其工作。我尝试了所有方法,包括
DigitalHDTVDefaultUnderscan
和TVEnableOverscan
的所有组合都变成了0
或1
DigitalHDTVDefaultUnderscan
中的0000
、0001
甚至不同的注册表路径中的DALR6 DFP1920x1080x0x59
或DALR6 DFP1920x1080x0x60
设置为0
这里 以下是最终为我提供的工作方法 - 最终没有安装CCC!
1.下载并解压CCC 13.4 legacy beta(HD 2x/3x/4x Series
的最新驱动)
2. 从Packages\Drivers\Display\W86A_INF
手动安装驱动–对我来说,唯一有效的驱动是C8156445
–在选择框中,我选择了两个同样名字的驱动中的第二个。
- ATI Radeon HD 3600 Series
- ATI Radeon HD 3600 Series
- 选择这个
3. 安装 CCC(只选择 CCC 和 Visual C++ Redistributable Library)
4. 配置显示为0%过扫描/欠扫描
- 如果滑块被停用,你的屏幕可能不是Full-HD
- 如果没有立即出现完美清晰的画面,你需要从步骤2中选择另一个驱动
5. 画面现在应该很清晰了!
6. 如果画面很清晰,你可以卸载除了驱动以外的所有东西
- CCC
- Visual C++ Redistributable Libraries
- Folder C:\AMD
现在我不用CCC也能看到清晰的画面。
我使用 steffen 的答案在 Windows 10 上得到了这个工作,并追踪到了更多细节。
我之前尝试过禁用TVEnableOverscan
和DigitalHDTVDefaultUnderscan
,但没有成功(在amdkmdag
下的CurrentControlSet\Services
键中也更改了它们),以及多个版本和组合的传统CCC/驱动安装程序。在Windows 10升级之前,它在Windows 8.1上工作得很好(我不记得做了什么特别的事情来让它工作,但不是100%确定)。
首先,在Windows 10上,解压的安装包(13.4 beta)拒绝运行。相反,我进入设备管理器并卸载了显示适配器,勾选了删除驱动程序的方框。然后我选择了Action-/>Scan for hardware changes,得到了一个 “Microsoft Basic Display Adapter"。我右击选择更新驱动,然后选择自己指定驱动的选项。我按照steffen的描述,从解压的AMD包中选取了Packages\Drivers\Display\W86A_INF
这个文件夹。有相当长的一段时间的硬件检测/安装,在它结束时,驱动程序版本仍然是Windows 10版本(03/01/2015,8.970.100.9001而不是04/24/2013,8.970.100.0000从包中)。然而,运行设置程序并安装VISION Conrol Center,结果CCC正常运行。它报告的是正确的、旧版本的驱动程序。
这时,我可以在运行 进程监控 时调整过扫描,并在我按下 Apply 时观察注册表值的设置。
15:26:19.6441241 CCC.exe 6740 RegSetValue HKLM\System\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}0x1&000\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}0x1&000\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}0x1&000\DAL_DFPOptions SUCCESS Type: REG_BINARY, Length: 4, Data: 18 00 00 00
我相信这些前缀与 steffen 等人提到的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video
键解析的路径相同。进程监视器没有显示完整的数据,但是通过实验和用RegEdit放大显示,相关的字节在DALR6和GDOADJR6中–前者在37字节(偏移量0x24),后者在21字节(偏移量0x14)。当过扫描完全关闭时,这些值为 0(在 GUI 中向右),并且滑块向左每增加一个,这些值就增加一个。
最后,我再次从设备管理器中卸载了显示适配器驱动程序(包括删除驱动程序)。Windows自动又经历了一个延长的检测周期,并返回到原来的、微软提供的驱动程序。出于某种原因,CCC似乎仍然在工作,现在显示更现代的驱动版本。这让我可以再次在GUI中进行更改,并观察效果。令人困惑的是,当切换设备/驱动程序时,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video
键下会创建新的条目。更令人困惑的是,第二次出现了我的显示器是在60Hz,而不是59Hz,所以相关的键略有变化。然而,这两个偏移量仍然是正确的,并且随着滑块/应用过程而改变。
在没有先安装CCC的情况下,我没有进行测试,但在删除CCC后仍然可以使用。我只能假设它们是被驱动程序读取的:最坏的情况下是在启动时,可能是在每一个重要的显示事件(比如改变分辨率)时。
Windows 10 TH2 (Threshold 2)
安装TH2后,过度扫描又回来了,而且更严重。二进制数据块的大小发生了变化,现在默认的是8个,而不是2个。 驱动程序的版本没有变化,二进制数据的位置也没有变化。DALR6的还是在37字节(偏移量0x24),GDOADJR6还是在21字节(偏移量0x14)。我最初在RegEdit中误读了十六进制偏移量,所以安装了和之前一样的Catalyst 13.4 beta VISION控制中心(没有驱动)。这次第一时间就成功了,并且能够立即从GUI中控制过扫描。
有同样的问题,我的解决方法是:
用regedit设置键。
HKLM\System\CurrentControlSet\Video\***0x1&000
DWORD: TVEnableOverscan = 0x0
DWORD: DigitalHDTVDefaultUnderscan = 0x0
HKLM\System\CurrentControlSet\Video\ ***0x1&000\DAL2_DATA_2.0\DisplayPath_*\MODE_*** \Adjustment
rename "Underscan" to for example "oldUnderscan" to disable it
重启看看是否有效
只改变前两个值对我来说是行不通的。
你需要用注册表中的正确值来替换这些值。我还猜测 “0000 "是第一个屏幕,"0001 "是第二个屏幕,以此类推(第一个屏幕是我的高清电视,第二个屏幕是普通的PC显示器–它已经将TVEnableOverscan设置为0了
我有一个Hpavilion dv6与ATI hd 4650与Windows 8.1更新。
在windows 8中,改变数值很好用,但在windows 8.1更新中,windows一直在恢复数值,使黑色边框保持不变。
我解决这个问题的方法是在0000注册键上添加用户 “system",只允许系统读取数值,并在所有键和子键上应用这些安全设置。
现在在Windows 8.1下也能正常工作了。
希望能帮到大家。
我也遇到了类似的问题,无法安装催化剂控制中心……所以也无法调整下划线设置。
我能够克服它(更像是掩盖问题真的),并调整我的三星电视上的屏幕大小设置,我有我的PC连接到。听起来,这正是AMD试图解决的问题。
现在我可以看到整个屏幕的1080p,而且幸运的是电视很聪明,可以为每个hdmi输入设置不同的屏幕尺寸。
也许类似的方法可以用在PC显示器上?
这不是直接针对win8的,但它在server 2012r2中工作,所以我假设它至少可以在8.1或8中鹦鹉学舌。无论如何,我删除了默认的下划线?(图像小于显示)通过编辑BestViewOption/Hdmi二进制键发现在`HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Control\Video{B380344A-9336-4C46-A52D-F53C6EAD0696}`HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Control\Video这不是直接针对win8的,但它在server 2012r2中工作,所以我假设它至少可以在8.1或8中鹦鹉学舌。无论如何,我删除了默认的下划线?(图像小于显示)通过编辑BestViewOption/Hdmi二进制键发现在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{B380344A-9336-4C46-A52D-F53C6EAD0696}000\DAL2_DATA__2_0\DisplayPath_5\Option
你要找的GUID是在{B380344A-9336-4C46-A52D-F53C6EAD0696}
再次0x6&在regkey字符串中是一个GUID,对我来说是独一无二的,不要指望在你的机器上看到完全相同的。
这是在Server 2012r2上使用CCC 14.1beta
总之希望能帮到大家。
将CC安装在不同的文件夹中,我只需要解决这个问题就可以了。不管怎么说,默认文件夹已经损坏了。