更换 4K 屏后黑屏进不去桌面的解决方案
LifeToyer opened this issue · comments
-v后显示卡在IOConsoleUsers: gIOScreenLockState 3, hs 0, bs 0 now,快要被这个搞疯了,bios里面没有调dvtm的地方,但是我把笔记本bios提取出来看了,默认的就是64m,window里面显示dvtm是128m。ID从0x3e9b0000到0x3e9b0009都试过了全部进不去桌面,但是按键盘能听到嘟嘟嘟的声音,应该就是显卡没驱动导致笔记本内屏黑屏。0x12345678可以进桌面,但也是显卡没驱动的状态,特别卡,关于本机里面显示uhd630 31m显存。忘了说了本子上9750h+1660ti。请问怎么弄能正常进桌面?非常感谢!
今天装了teamviewer试了下,-v出现IOConsoleUsers的情况下,用teamviewer能远程连上,而且显示核显是正常驱动的,显示显存2048m。估计就是认不出我换的这块4k,,这可咋办啊
4K 屏幕黑屏问题最终解决方案
WEG 1.4.6 以后的方案(需要 DVMT Pre-allocated 为 64M+)
删除所有 dpcd
和 lspcon
, hdmi20
相关的 DeviceProperties, 添加引导参数 -cdfon -igfxmpc
即可。
以下为旧方案 (WEG <= 1.4.5):
方案一,适用:DVMT Pre-allocated 原生为 64MB 或以上
- 使用 platform-id: 0x12345678 进入系统
- 使用 Hackintool 打显卡补丁,勾选 ”显存 2048MB“,”启用 HDMI20“,”DPCD 最大链路值 HBR2 (4K 60Hz) / HBR3(4K 120Hz)“,”LSPCON 启用驱动程序“。
- 导出补丁并合并到你的 Clover/OpenCore 的 config.plist 中。
- 在引导参数中添加
-cdfon
。 - 更新 WhateverGreen 为 1.3.8 以上版本。
方案二,适用:所有设备,包括 DVMT Pre-allocated 为 32MB 的设备
- 使用 platform-id: 0x12345678 进入系统
- 在 Clover Configurator 中找到 Devices->Properties,或在 OpenCore 配置文件中找到 DeviceProperties,在路径为
PciRoot(0x0)/Pci(0x2, 0x0)
的部分中添加以下值:
key | value | type |
---|---|---|
AAPL,ig-platform-id | 平台对应的 platform-id 按字节反写,如 UHD630 应为 00009B3E | DATA |
device-id | 平台对应 platform-id 前两位按字节反写,如 UHD630 应为 9B3E0000 | DATA |
enable-dpcd-max-link-rate-fix | 01000000 | DATA |
framebuffer-unifiedmem | 00000080 | DATA |
- 在引导参数中添加
-igfxmlr -cdfon
- 更新 WhateverGreen 为 1.3.8 以上版本。
在 macOS 下移动版 UHD630 驱动 4K 内屏需要修改 DVMT 为 128MB 及以上。Windows 显示的 DVMT 值不是真实值。如果 BIOS 里没有调节 DVMT 的选项,则需要通过 UEFI Shell 调节或刷入解锁选项的修改版 BIOS。前者的做法详情参考:http://bbs.pcbeta.com/viewthread-1593048-1-1.html
修改 BIOS 等需谨慎操作。附神舟八代以上笔记本 BIOS 下载地址:http://kfgl.hasee.com/lookup/bios/bios_nb.asp
在 macOS 下移动版 UHD630 驱动 4K 内屏需要修改 DVMT 为 128MB 及以上。Windows 显示的 DVMT 值不是真实值。如果 BIOS 里没有调节 DVMT 的选项,则需要通过 UEFI Shell 调节或刷入解锁选项的修改版 BIOS。前者的做法详情参考:http://bbs.pcbeta.com/viewthread-1593048-1-1.html
修改 BIOS 等需谨慎操作。附神舟八代以上笔记本 BIOS 下载地址:http://kfgl.hasee.com/lookup/bios/bios_nb.asp
还是没解决,笔记本的BIOS最高能设置的DVMT pre-allocated就是64M,不过还是谢谢你了,提供了解决思路
在 macOS 下移动版 UHD630 驱动 4K 内屏需要修改 DVMT 为 128MB 及以上。Windows 显示的 DVMT 值不是真实值。如果 BIOS 里没有调节 DVMT 的选项,则需要通过 UEFI Shell 调节或刷入解锁选项的修改版 BIOS。前者的做法详情参考:http://bbs.pcbeta.com/viewthread-1593048-1-1.html
修改 BIOS 等需谨慎操作。附神舟八代以上笔记本 BIOS 下载地址:http://kfgl.hasee.com/lookup/bios/bios_nb.asp还是没解决,笔记本的BIOS最高能设置的DVMT pre-allocated就是64M,不过还是谢谢你了,提供了解决思路
解锁bios刚看了下, 发现DVMT pre-allocated 最高就是64。 可能真没办法,估计要改bios文件了
既然如此,那可能得寻找别的原因了。
最后的办法,按这里面的教程修改一下 Framebuffer 的 stolenmem 和 unifiedmem:https://www.jianshu.com/p/d3686b6f3ef6
如果问题依旧,除非能通过某些手段调节 DVMT 为 128M 以上,否则 4K 屏在 UHD630 下的问题可能暂时无法解决。
这个 Issue 将被暂时关闭。
该问题现可参考 Dell XPS15 9570 4K 版本解决方案:https://github.com/LuletterSoul/Dell-XPS-15-9570-macOS-Mojave
- 使用
platform-id
0x12345678 关闭显卡驱动进入系统,下载 Clover Configurator 软件编辑 config.plist - 注入正确的
ig-platform-id
(0x3e9b0000
,大部分情况下可以略过此步) - 在 Devices/Properties 中的
PciRoot(0x0)/Pci(0x2,0x0)
核显部分,注入以下属性:
key | value | type |
---|---|---|
dpcd-max-link-rate | 14000000 | DATA |
enable-dpcd-max-link-rate-fix | 01000000 | DATA |
AAPL,GfxYTile | 01000000 | DATA |
该问题现可参考 Dell XPS15 9570 4K 版本解决方案:https://github.com/LuletterSoul/Dell-XPS-15-9570-macOS-Mojave
- 注入正确的
ig-platform-id
(0x3e9b0000
)- 在 Devices/Properties 中的
PciRoot(0x0)/Pci(0x2,0x0)
核显部分,注入以下属性:key value type
dpcd-max-link-rate 14000000 DATA
enable-dpcd-max-link-rate-fix 01000000 DATA
AAPL,GfxYTile 01000000 DATA
好的,下周回去测试一下
该问题现可参考 Dell XPS15 9570 4K 版本解决方案:https://github.com/LuletterSoul/Dell-XPS-15-9570-macOS-Mojave
- 使用
platform-id
0x12345678 关闭显卡驱动进入系统,下载 Clover Configurator 软件编辑 config.plist- 注入正确的
ig-platform-id
(0x3e9b0000
,大部分情况下可以略过此步)- 在 Devices/Properties 中的
PciRoot(0x0)/Pci(0x2,0x0)
核显部分,注入以下属性:key value type
dpcd-max-link-rate 14000000 DATA
enable-dpcd-max-link-rate-fix 01000000 DATA
AAPL,GfxYTile 01000000 DATA
上面提供的方法均无效,修改 stolenmem 和 unifiedmem能亮屏进系统,正常显示0x3e9b0000,但显存依然为31m,动画卡顿显卡肯定是没驱动起来, 用Dell XPS15 9570 4K的方法,-v卡在没有成功驱动FB。自己琢磨了个把月,把 Devices/Properties 中的 PciRoot(0x0)/Pci(0x2,0x0)全删除了,再勾选注入intel,成功驱动4k内屏。也就是没有用FB驱动。不过这样做显存就没法改了,只有1.5G。再次感谢!
@448031516 能告知一下具体的步骤吗?我也遇到了相同的问题
@448031516 能告知一下具体的步骤吗?我也遇到了相同的问题
现在可以说完美解决了!用ct7gk内的config.plist做如下修改:
-
找到Properties下的PciRoot(0x0)/Pci(0x2,0x0),将此项目下dict和dict之间的内容全部删除,并加入以下内容:
<key>AAPL,GfxYTile</key> <data> AQAAAA== </data> <key>AAPL,ig-platform-id</key> <data> AACbPg== </data> <key>AAPL,slot-name</key> <string>Built-in</string> <key>device-id</key> <data> mz4AAA== </data> <key>device_type</key> <string>Display Controller</string> <key>dpcd-max-link-rate</key> <data> FAAAAA== </data> <key>enable-cflbkit</key> <data> AQAAAA== </data> <key>enable-dpcd-max-link-rate-fix</key> <data> AQAAAA== </data> <key>enable-hdmi20</key> <data> AQAAAA== </data> <key>enable-lspcon-support</key> <data> AQAAAA== </data> <key>framebuffer-con1-alldata</key> <data> AQUJAAAEAACHAQAA </data> <key>framebuffer-con1-enable</key> <data> AQAAAA== </data> <key>framebuffer-con2-alldata</key> <data> AwQKAAAIAACHAQAA </data> <key>framebuffer-con2-enable</key> <data> AQAAAA== </data> <key>framebuffer-con2-has-lspcon</key> <data> AQAAAA== </data> <key>framebuffer-con2-preferred-lspcon-mode</key> <data> AQAAAA== </data> <key>framebuffer-patch-enable</key> <data> AQAAAA== </data> <key>framebuffer-portcount</key> <data> BAAAAA== </data> <key>framebuffer-unifiedmem</key> <data> AAAAwA== </data> <key>model</key> <string>Intel UHD Graphics 630 (Mobile) </string>
注意是删除dict和dict之间的内容,不要删dict。
2. 启动参数加入-cdfon。在plist文件中找到Boot,并在Arguments下的string和string之间添加-cdfon。
也可以通过cloverconfiger去修改,具体怎么改就不细讲了。
另外,希望作者能够收录这些,默认开启4k屏的支持。
默认开启是不可能的,dpcd-link-rate 的值 4K 和 1080p 并不一样,要知道换屏只是少数用户。不管怎么样感谢你们的尝试。
默认开启是不可能的,dpcd-link-rate 的值 4K 和 1080p 并不一样,要知道换屏只是少数用户。不管怎么样感谢你们的尝试。
谢谢,已经看到您将此解决方案收录到帮助文档中了,希望能帮助更多人!
@448031516 能告知一下具体的步骤吗?我也遇到了相同的问题
现在可以说完美解决了!用ct7gk内的config.plist做如下修改:
- 找到Properties下的PciRoot(0x0)/Pci(0x2,0x0),将此项目下dict和dict之间的内容全部删除,并加入以下内容:
<key>AAPL,GfxYTile</key> <data> AQAAAA== </data> <key>AAPL,ig-platform-id</key> <data> AACbPg== </data> <key>AAPL,slot-name</key> <string>Built-in</string> <key>device-id</key> <data> mz4AAA== </data> <key>device_type</key> <string>Display Controller</string> <key>dpcd-max-link-rate</key> <data> FAAAAA== </data> <key>enable-cflbkit</key> <data> AQAAAA== </data> <key>enable-dpcd-max-link-rate-fix</key> <data> AQAAAA== </data> <key>enable-hdmi20</key> <data> AQAAAA== </data> <key>enable-lspcon-support</key> <data> AQAAAA== </data> <key>framebuffer-con1-alldata</key> <data> AQUJAAAEAACHAQAA </data> <key>framebuffer-con1-enable</key> <data> AQAAAA== </data> <key>framebuffer-con2-alldata</key> <data> AwQKAAAIAACHAQAA </data> <key>framebuffer-con2-enable</key> <data> AQAAAA== </data> <key>framebuffer-con2-has-lspcon</key> <data> AQAAAA== </data> <key>framebuffer-con2-preferred-lspcon-mode</key> <data> AQAAAA== </data> <key>framebuffer-patch-enable</key> <data> AQAAAA== </data> <key>framebuffer-portcount</key> <data> BAAAAA== </data> <key>framebuffer-unifiedmem</key> <data> AAAAwA== </data> <key>model</key> <string>Intel UHD Graphics 630 (Mobile) </string>
注意是删除dict和dict之间的内容,不要删dict。
2. 启动参数加入-cdfon。在plist文件中找到Boot,并在Arguments下的string和string之间添加-cdfon。也可以通过cloverconfiger去修改,具体怎么改就不细讲了。
另外,希望作者能够收录这些,默认开启4k屏的支持。
您好!能问下这些参数是怎么得出的吗(framebuffer-con1-alldata)我的笔记本是7500U(HD 620)也遇到了和您一模一样的问题(换4k进不去系统)。换成和您一样的参数会panic。感谢!
HD620 不能注入 UHD630 的 platform-id (3E9B0000)
其余参数理论上可以由 Hackintool 得到,关键在于 dpcd-max-link-rate
相关参数和 lspcon
/ hdmi20
参数,以及 unifiedmem
谢谢您的回复!我实验的时候都修改了对应的platform-id。最后发现不管其他的dpcd-max-link-rate
或者lspcon驱动怎么设置,不加framebuffer-stolenmem=19M
就会panic,加了就会进不去系统。而且调大一点也会panic。。这是DVMT的设置问题吗?但是BIOS的显存已经设置成了256mb。。好奇怪
谢谢您的回复!我实验的时候都修改了对应的platform-id。最后发现不管其他的
dpcd-max-link-rate
或者lspcon驱动怎么设置,不加framebuffer-stolenmem=19M
就会panic,加了就会进不去系统。而且调大一点也会panic。。这是DVMT的设置问题吗?但是BIOS的显存已经设置成了256mb。。好奇怪
你这个应该是DVTM的问题,有的BIOS不能设置DVTM pre-allocated,请注意DVTM和DVTM pre-allocated 是两个不同的设置,DVTM pre-allocated一般最大也只能设置到128m,4k 60hz屏幕只需要设置到64m就可以了,我手头好几块友达的4k屏测试都是可以的。另外1.3.8的WEG已经可以不打缓冲帧补丁就可以直接用4k屏了,如果你确定DVTM设置正确,可以删掉Pci(0x2,0x0)这项及其这项内的全部子内容试试,这样做只是会有休眠唤醒或者一些场景下花屏的问题,但是是可以保证驱动显卡的情况下进入系统的。
HD620 不能注入 UHD630 的 platform-id (3E9B0000)
其余参数理论上可以由 Hackintool 得到,关键在于dpcd-max-link-rate
相关参数和lspcon
/hdmi20
参数,以及unifiedmem
1.3.8的WEG已经可以不加lspcon
这些参数了,我测试目前使用这些参数是完美的,仓库主子可以更新一下。
framebuffer-unifiedmem现在只需要设置成3G以上就可以,如果不加这个参数默认是1.5G显存,部分应用会有花瓶现象,我也不知道什么鬼,很奇怪,白苹果UHD630都是1.5G显存也不会花屏呀。
您那个app现在做得真是方便,再完善完善把联想蓝天模具加进去都可以考虑付费使用了,我第一个支持
今天以后的新版本将只保留上述这些属性,但是 framebuffer-unifiedmem 还是保留 3072M. 因为我没有 4K 屏所以就不测试了。
手里没有蓝天的机器,而且同方和蓝天机器的硬件和 DSDT 挺不一样的,Utility 目前应该是没办法做蓝天模具的兼容的。软件和仓库现在和以后都不会收费的。
HD620 不能注入 UHD630 的 platform-id (3E9B0000)
其余参数理论上可以由 Hackintool 得到,关键在于dpcd-max-link-rate
相关参数和lspcon
/hdmi20
参数,以及unifiedmem
1.3.8的WEG已经可以不加
lspcon
这些参数了,我测试目前使用这些参数是完美的,仓库主子可以更新一下。
framebuffer-unifiedmem现在只需要设置成3G以上就可以,如果不加这个参数默认是1.5G显存,部分应用会有花瓶现象,我也不知道什么鬼,很奇怪,白苹果UHD630都是1.5G显存也不会花屏呀。
您那个app现在做得真是方便,再完善完善把联想蓝天模具加进去都可以考虑付费使用了,我第一个支持
谢谢您的回复!我的机器DVMT pre-allocated是锁死的32MB,最后用minstolensize补丁实现的驱动。WEG里面也加入了dpcd-max-link-rate
的支持,使用boot参数-igfxmlr即可,您有兴趣可以测试下。
@448031516 能告知一下具体的步骤吗?我也遇到了相同的问题
现在可以说完美解决了!用ct7gk内的config.plist做如下修改:
- 找到Properties下的PciRoot(0x0)/Pci(0x2,0x0),将此项目下dict和dict之间的内容全部删除,并加入以下内容:
<key>AAPL,GfxYTile</key> <data> AQAAAA== </data> <key>AAPL,ig-platform-id</key> <data> AACbPg== </data> <key>AAPL,slot-name</key> <string>Built-in</string> <key>device-id</key> <data> mz4AAA== </data> <key>device_type</key> <string>Display Controller</string> <key>dpcd-max-link-rate</key> <data> FAAAAA== </data> <key>enable-cflbkit</key> <data> AQAAAA== </data> <key>enable-dpcd-max-link-rate-fix</key> <data> AQAAAA== </data> <key>enable-hdmi20</key> <data> AQAAAA== </data> <key>enable-lspcon-support</key> <data> AQAAAA== </data> <key>framebuffer-con1-alldata</key> <data> AQUJAAAEAACHAQAA </data> <key>framebuffer-con1-enable</key> <data> AQAAAA== </data> <key>framebuffer-con2-alldata</key> <data> AwQKAAAIAACHAQAA </data> <key>framebuffer-con2-enable</key> <data> AQAAAA== </data> <key>framebuffer-con2-has-lspcon</key> <data> AQAAAA== </data> <key>framebuffer-con2-preferred-lspcon-mode</key> <data> AQAAAA== </data> <key>framebuffer-patch-enable</key> <data> AQAAAA== </data> <key>framebuffer-portcount</key> <data> BAAAAA== </data> <key>framebuffer-unifiedmem</key> <data> AAAAwA== </data> <key>model</key> <string>Intel UHD Graphics 630 (Mobile) </string>
注意是删除dict和dict之间的内容,不要删dict。
2. 启动参数加入-cdfon。在plist文件中找到Boot,并在Arguments下的string和string之间添加-cdfon。也可以通过cloverconfiger去修改,具体怎么改就不细讲了。
另外,希望作者能够收录这些,默认开启4k屏的支持。
OC引导Big Sur同样也是卡在
IOConsoleUsers: gIOScreenLockState 3, hs 0, bs 0 now
由于现在降回10.15.5了没有测试你的方案,请问该方案适用于Big Sur 4k内屏吗?
Big Sur 目前无法驱动 4K。
Big Sur 目前无法驱动 4K。
但是在Big Sur上情况和 @bra-daydayup 文章开头说到的情况一样
笔记本4k已点亮,需要注入苹果显示器EDID
00FFFFFF FFFFFF00 06107C9C 00000000 1E1C0104 B5231360 026FB1A7 554C9E25 0C505400 00000101 01010101 01010101 01010101 010150D0 00A0F070 3E803020 350058C2 1000001A A6A600A0 F0703E80 30203500 58C21000 001A0000 00FD0038 4C1E5311 000A2020 20202020 000000FE 004E4531 35365155 4D2D4E36 360A0108
笔记本4k已点亮,需要注入苹果显示器EDID
00FFFFFF FFFFFF00 06107C9C 00000000 1E1C0104 B5231360 026FB1A7 554C9E25 0C505400 00000101 01010101 01010101 01010101 010150D0 00A0F070 3E803020 350058C2 1000001A A6A600A0 F0703E80 30203500 58C21000 001A0000 00FD0038 4C1E5311 000A2020 20202020 000000FE 004E4531 35365155 4D2D4E36 360A0108
你好 ,我的理解是,每个人的显示器edid是不一样 的是吗?还是必须注入你说的这个edid才行?然后,我现在黑苹果进不去。只能在Windows下手动注入。。能说下在config文件的哪块,key的全称 ?
笔记本4k已点亮,需要注入苹果显示器EDID
00FFFFFF FFFFFF00 06107C9C 00000000 1E1C0104 B5231360 026FB1A7 554C9E25 0C505400 00000101 01010101 01010101 01010101 010150D0 00A0F070 3E803020 350058C2 1000001A A6A600A0 F0703E80 30203500 58C21000 001A0000 00FD0038 4C1E5311 000A2020 20202020 000000FE 004E4531 35365155 4D2D4E36 360A0108
你好,我的理解是,每个人的显示器edid是不一样的的是吗?还是必须注入你说的这个edid才行?然后,我现在黑苹果进不去。只能在Windows下手动注入。。能说下在config文件的哪一块,键的全称?
这是我在pcbeta的回复
http://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1862446&page=2#pid50483428
HD620 不能注入 UHD630 的 platform-id (3E9B0000)
其余参数理论上可以由 Hackintool 得到,关键在于dpcd-max-link-rate
相关参数和lspcon
/hdmi20
参数,以及unifiedmem
1.3.8的WEG已经可以不加
lspcon
这些参数了,我测试目前使用这些参数是完美的,仓库主子可以更新一下。framebuffer-unifiedmem现在只需要设置成3G以上就可以,如果不加这个参数默认是1.5G显存,部分应用会有花瓶现象,我也不知道什么鬼,很奇怪,白苹果UHD630都是1.5G显存也不会花屏呀。
您那个app现在做得真是方便,再完善完善把联想蓝天模具加进去都可以考虑付费使用了,我第一个支持
抄作业失败,您能指导指导么,我也是换了友达的4k屏幕,i7-8750H+UHD 630
一样的情况折腾好几天,现在解决了,分享下
核显驱动
需要这两个关键属性
dpcd-max-link-rate | 14000000 | |
---|---|---|
enable-dpcd-max-link-rate-fix | 01000000 |
boot-arg 中应该加一个-igfxmpc 参数让核显的最大频率达到1.20ghz
这个dpcd链路值就是为了解决高分辨率屏幕和高刷新率屏幕的带宽不足问题。这时候就可以把-igfxmlr的参数删去了。
完整参数
<key>PciRoot(0x0)/Pci(0x2,0x0)</key> <dict> <key>AAPL,ig-platform-id</key> <data>AACbPg==</data> <key>AAPL,slot-name</key> <string>Internal@0,2,0</string> <key>device-id</key> <data>mz4AAA==</data> <key>device_type</key> <string>VGA compatible controller</string> <key>dpcd-max-link-rate</key> <data>FAAAAA==</data> <key>enable-dpcd-max-link-rate-fix</key> <data>AQAAAA==</data> <key>enable-hdmi20</key> <data>AQAAAA==</data> <key>framebuffer-patch-enable</key> <data>AQAAAA==</data> <key>framebuffer-unifiedmem</key> <data>AAAAgA==</data> <key>hda-gfx</key> <string>onboard-1</string> <key>model</key> <string>Intel UHD Graphics 630 (Mobile)</string> </dict>