黑苹果折腾篇(1) | 您所在的位置:网站首页 › 4k显示器没有2k选项怎么设置 › 黑苹果折腾篇(1) |
黑苹果折腾篇(1)——为什么你的hackintosh没法输出4K(DVMT)
2020-11-08 11:53:20
10点赞
35收藏
18评论
最近在折腾我的X1 Carbon黑苹果,我的型号是X1 Carbon Gen4,也就是X1C 2016,配置如下: 由于硬件平台的高度通用性。我是用别人做好的T460s OpenCore EFI和几个X1C EFI混搭,成功安装了MacOS Catalina 10.15.6,并在系统内直接升级为了10.15.7。 遇到的问题基本上系统可用性很高,但在我使用自己的4K显示器时,发现了很不寻常的问题: 1.连上显示器后,需要开关一下笔记本的盖子,不然内屏会一直黑屏,这个问题我倒是无所谓,而且看了下没人修复,无所谓了。 2.连上自己DIY的4K显示器后,最高输出只能到2K,而且画面非常糊。一开始以为是EDID的问题,但连上正常厂家的4K显示器后,效果一样,看来和EDID关系不是很大。 于是就开始了排坑之路,到处查资料,试了好多方法还是不行,我就把填坑之路一步步记录下来吧。 (1)EDID修正/Hackintool定制外部显示接口法(失败)握手参考了这篇教程,由于smzdm的链接系统太反人类了,你可以直接搜索《使用 Hackintool 修复黑苹果 Intel 核显驱动外部显示器紫屏问题》,Sukka大大的这篇文章对于解决hackintosh的其他显示问题很有用: https://blog.skk.moe/post/hackintosh-fix-magenta-screen/ 对于我来说这个方法无效。 如果你的黑苹果设备可以输出4K但某些电视/edid比较奇葩,那建议通过定制EDID的方式来解决: https://wacky.one/blog/macos-hi-dpi/#one-key 如果你想在2K等低分屏下强制开启hidpi,你可以试试github上的Enable macOS HiDPI脚本,他的原理也和edid注入类似。 https://github.com/xzhih/one-key-hidpi 方法(1)对我来说不可用。我是完全识别不出4K输出,于是根据搜索到的资料我打算使用SwitchResX,强行添加某个分辨率使用。添加3840x2160后外接4K显示器后,确实有4K输出可选,但非常糊,明显是用1080p分辨率强行缩放上去的,连点对点都做不到,更别提hidpi了,归根到底就是假的4K输出。 这个方法可以用来解一些奇葩显示问题,说不定能用上,大家可以自己使用SwitchResX看看。但对我是无效的。 调查问题我本来都想放弃了,已经消耗了很多时间,太折腾了。但某天发现了一些很有意思的事情: 首先是一位大神的小米笔记本Pro黑苹果EFI仓库里,我发现这个讨论可能和我有关系: 随后另一个X1C的讨论也把问题指向了DVMT: 虽然我的机型并不是X1C Gen5或者小米笔记本,但我们都是使用skylake的衍生平台,核显也是HD520的马甲产品,也就都是核显机型。 DVMT是什么DVMT (Dynamic Video Memory Technology 即动态分配共享显存技术)。在很多黑苹果的教程中,都会要求对bios中的dvmt pre-allocated选项进行修改,调整到至少64MB以上(mac机型就是这个设置),如果无法调整,则需要配合framebuffer-stolenmem:00003001的patch来"借用"显存,但会存在我这种4K输出的问题;但对于很多隐藏了dvmt pre-allocated选项的笔记本来说,只能通过UEFIShell的方式来改动。而我手里的thinkpad连UEFIShell都锁定了,这就非常蛋疼了。 前面提到的小米笔记本Pro倒是可以直接在windows下使用网友制作的脚本来修改dvmt pre-allocated大小: 如果你的机型允许通过UEFIShell来修改DVMT设置,使用UEFIShell是更好的选择,顺便可以解决cfg-lock的问题,关键字搜索UEFIShell+DVMT即可。 Patch修复DVMT问题如果你的机型Bios上锁了,UEFIShell也被锁了。可以通过打patch的方式来修复,以kabylake机型为例,在opencore中使用这样的patch: ACPI DeviceProperties Add PciRoot(0x0)/Pci(0x2,0x0) AAPL,ig-platform-id BAAnWQ== device-id FlkAAA== framebuffer-con1-enable AQAAAA== framebuffer-con1-type AAgAAA== framebuffer-patch-enable AQAAAA== Kernel Patch Base Comment KBL-DVMTpatch-10.15-10.15.1-10.15.2-10.15.3 (Enable 4K UHD HDMI/DisplayPort Output) Count 0 Enabled Find D4KnAwAA Identifier com.apple.driver.AppleIntelKBLGraphicsFramebuffer Limit 0 Mask MaxKernel 19.3.0 MinKernel Replace D4IAAAAA ReplaceMask Skip 0 Base Comment KBL-DVMTpatch-10.15.4 (Enable 4K UHD HDMI/DisplayPort Output) Count 0 Enabled Find D4KPAwAA Identifier com.apple.driver.AppleIntelKBLGraphicsFramebuffer Limit 0 Mask MaxKernel MinKernel 19.4.0 Replace D4IAAAAA ReplaceMask Skip 0 Skylake机型改下名字也行,这么做完你就可以外接4K显示器了。不过我打算使用刷Bios的方式来解决,这样更加彻底,还会有更多可调节选项。 总结:黑苹果真是小问题非常多,排查起来太杀时间了。 ![]() |
CopyRight 2018-2019 实验室设备网 版权所有 |