[对症下药]10.13核显睡眠唤醒花屏、屏幕撕裂最简单的解决方法(不影响显示器其他信息
本帖最后由 Dismxq 于 2017-11-7 12:37 编辑一般来说,一年一度的新系统总会伴随着新的问题。自从升级到10.13后,本人核显HD520睡眠唤醒后屏幕发生了类似分屏的扭曲变形,一直无法解决,这个问题在不同机器上的花屏形式可能会有所不同(但都表现为类似分屏的症状)。看到几个类似的唤醒花屏的帖子,注意到评论中有网友提示注入EDID,试着做了后发现有效,但不足之处太多。详见旧教程(概括起来就是把显示器EDID换成其他显示器EDID,从而碰巧解决睡眠唤醒花屏的bug):https://bbs.pcbeta.com/viewthread-1767521-1-1.html
直到本人找到EDID manager这个软件,经过和睡眠唤醒正常的显示器EDID比对、修改(当然为了找出问题的关键所在,无数次重启、切换到Windows是少不了的),最终找到了那个影响着核显睡眠唤醒花屏的关键值。(图为EDID manager界面,该软件将EDID转化为具体信息并一一对应)
EDID是一串128字节的16进制 数值串,其包含着一个显示器的很多信息,例如显示器型号颜色、分辨率、刷新率等,当某些值与macOS发生冲突后,就会表现为一些黑果bug
本人多次重启后发现了EDID里出问题的值,大家观察这两张图,就能发现问题出在这个video input single上,即视频输入信号,这个值引起了睡眠唤醒后的问题。本人暂不明确更深层次的原因,还望高手提出高见,具体解决方法见2楼。
提示:尽管最终结果很完美,仅仅修改了两个字节的16进制值,但是不排除本人的方法为个别例子,一些其他花屏问题还请自行探索。更换EDID如果能解决 问题,请仔细将自己的显示器EDID与无bug的EDID对比修改,看看哪些值产生了问题,然后做出修改,适合自己的才是最好的 本帖最后由 Dismxq 于 2017-11-7 13:34 编辑
1楼叙完旧,本楼就贴上方法教程:操作前,必须将DSDT、clover里等位置的EDID相关选项清空,并将/S/L/Displays/Contents/Resources/Overrides里的改动复原,其他改动显示器的操作也尽量还原
相关文件下载:
1.进入Windows(安装完驱动正常使用的Windows,勿使用PE,WinToGo等奇葩系统),安装EDID manager,打开后选择从系统注册表 加载EDID
2.在界面右侧找到video input signal选项,确认该值在EDID里的位置(如图箭头所指高亮处)
3.从软件里把EDID复制进记事本中,将步骤2里找到的数据位置处改为A5,然后去掉空格、行列号等,使之成为一串连续数值串,保存在你能找得到的地方,接下来进入macOS需要
4.进入macOS, 打开fixedid,记下你的DisplayVendorID 、DisplayProductID,16进制值和10进制值都记下来,如图 (注意,此步骤必须保证你的DSDT,clover config,override等位置均已清空EDID相关数据!以免该软件读取错误!!!)
5.用plist edit pro打开模版文件,按图示步骤向 DisplayVendorID-xxxx/DisplayProductID-xxxx文件中添加你修改过的EDID值(IODisplayEDID里),DisplayVendorID ,DisplayProductID 等值,注意此处DisplayVendorID ,DisplayProductID 都为10进制值!其他选项自行探索,非必要。
总的来说重点就是IODisplayEDID、DisplayVendorID 、DisplayProductID这三个值,IODisplayEDID为你在步骤3中保存的修改后的EDID!
6.将DisplayVendorID-xxxx/DisplayProductID-xxxx重命名为你的显示器对应ID(这里是16进制值!), 复制到/System/Library/Displays/Contents/Resources/Overrides里,即目录结构为:/System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-xxxx/DisplayProductID-xxxx,如图所示。重启验证睡眠唤醒花屏问题是否解决
引用 gujiangjiang的提示
这个地方注意,可能你的DisplayVendorID-xxxx已经出现过,比如苹果用过夏普的屏幕,那么这里默认就有这个文件夹,苹果没用过三星的屏幕,所以这个就没有三星的文件夹,进来之后先看一下有没有跟你一样的DisplayVendorID-xxxx文件夹,没有的话直接把你修改好的文件拷贝过来,有的话不需要拷贝整个文件夹,只需要把你修改好的DisplayProductID-xxxx文件复制道该文件夹内就行了。
7.至于颜色等问题,这些信息由系统EDID所决定(自己查看EDID manager里颜色的位置),本教程并未修改那些位置,不会 有任何问题,除非你对目前的显示器内置颜色方案不满意,可以参考如下教程
https://bbs.pcbeta.com/viewthread-1723942-1-1.html
EDID是 挺有趣的一串数据, 有探索欲的网友可以尝试修改其他位置实现某些彩蛋哦!
期待InG期待InG 先mark一下 本帖最后由 7788mp3 于 2017-11-6 22:29 编辑
我的台式HD4400-10.13.1基本完美 显示器也内建,唯一不足的是手动关闭显示器后,主机自动睡眠 但是死活不能唤醒,不关闭显示的情况下睡眠唤醒正常。 Y430P第二屏一闪而过,无花屏 终于出来了,文件忘记贴,稍等 手动关闭显示器,睡死后,起不来。
一般都是重启 本本HD3000显示内建,在12.6下输出DP没问题,但13.1下输出有问题。本本用12.3
台式HD4000显示内建,在13.1下输出DP有问题,懒的折腾了,台式上了个独显解决所有问题。 花瓶问题,支持一下。 谢谢LZ,有两个问题请教:
1.DisplayProductID-xxxx这个文件名中的XXX是自己随便给个16进制数么?还是需要按照什么规则计算出来?
2."提取自某款Apple显示器",意思是找一个Mac的笔记本,运行fixedid提取?对Mac笔记本的选择有什么要求么? 本帖最后由 Dismxq 于 2017-11-7 09:37 编辑
xworm 发表于 2017-11-7 09:30
谢谢LZ,有两个问题请教:
1.DisplayProductID-xxxx这个文件名中的XXX是自己随便给个16进制数么?还是需要 ...
1.这几个ID可以用搜索功能查看edid相关帖子解释
2.fixedid自带了几款苹果的edid,应该是来自白果,但是这个edid要放在你电脑上也有效才能做进一步分析 {:9_352:}不得不说 厉害了,最早我听说EDID可以解决,以为是Clover注入EDID,后来自己摸索用了软件生成驱动之后,睡眠不花屏就没在搞了,你倒是揪住这个问题不断探寻,佩服! comnara 发表于 2017-11-7 09:32
如果能修复N卡 web驱动睡眠唤醒花瓶闪屏撕裂问题就最好了.
也许可以按照本帖思路解决,就是换成其他edid解决了问题,然后排查关键值,最后再换回自己显示器edid+需要修改的值 本帖最后由 Dismxq 于 2017-11-7 09:50 编辑
Johnnysun97 发表于 2017-11-7 09:37
不得不说 厉害了,最早我听说EDID可以解决,以为是Clover注入EDID,后来自己摸索用了软件生成驱动 ...
那个方法缺点太多,因为采用一个完全不同的edid导致很多原本的参数变化,可能会导致更多未知的问题。而clover注入edid也有缺点,clover在引导系统时会修改config里添加的edid(boot.log得知),也会导致不准确。dsdt注入edid也不是很好,将来apple对系统又做出什么改动可能又有变数。而override文件夹不仅可以注入edid,还可以对显示器进行很多自由定制
综上所述,修改override文件夹是相对较好的方法 支持楼主,正需要,,,,,先学习一下! au19860504 发表于 2017-11-7 10:12
我就是使用fixedid碰巧解决了睡醒黑屏问题
现在有个问题就是,此复制文件夹的方法如何替换为通过 ...
很简单,把修改后的edid复制进config里的 edid框里并勾选inject edid
当然,这个问题可能kext2patch也能解决,但是原理肯定和本帖不一样了,就像核显fb的kp问题中bios修改和clover patch一样