Coffee Lake帧缓冲区补丁及UHD630 Coffee Lake ig-platform-id数据整理
Mojave帧缓冲补丁
随着Mojave发布的临近,原有的基于Clover的帧缓冲区二进制补丁已经不适用了。好消息是vit9696和headkaze重新创建了基于Lilu和WhateverGreen的新的帧缓冲区补丁。当然它也适用于macOS的所有的以前和未来的版本。
Coffee Lake用户
请注意:新的WhateverGreen不会用于仿冒Kaby Lake的平台id工作。你需要使用新的MacOS Mojave 10.14 DB4/DP3(18A336e)或者macOS High Sierra 10.13.6(17G2112),后者仅适用于MacBookPro15,1或MacBookPro15,2的一个特殊版本。您可以创建一个MacOS High Sierra 10.13.6(17G2112),通过installinstallmacos.py,或者直接通过本站下载
Lilu + WhateverGreen
WhateverGreen是要取代所有基于Lilu的其它视频补丁插件(它目前已经合并WhateverGreen,IntelGraphicsFixup,NvidiaGraphicsFixup,Shiki和CoreDisplayFixup)。其它人很可能会遵循(如AppleALC,HibernationFixup和IntelGraphicsDVMTFixup)。这是旨在为视频的所有功能于一身的解决方案。
Beta警告
请注意,目前处于试用状态,您需要自己承担该的风险。我只是记录在这里,这对于那些需要得到帧缓冲区补丁的人来说。
初步动作
- 删除 - FakePCIID- IntelGraphicsFixup,- NvidiaGraphicsFixup,- Shiki和- CoreDisplayFixup
- 关闭 - Clover里面关于- Graphics注入的参数,这些参数包括:- config.plist/Graphics/Inject/ATI=NO
- config.plist/Graphics/Inject/Intel=NO
- config.plist/Graphics/Inject/NVidia=NO
- config.plist/Graphics/ig-platform-id=
- config.plist/Devices/FakeID/IntelGFX=
 
- 关闭 - Clover里面关于- DSDT的修复:- AddHDMI
- FixDisplay
- FixIntelGfx
- AddIMEI
 
- 禁用 - UseIntelHDMI
- 移除 - boot argument参数:- -disablegfxfirmware
- 移除 - IGPU和- HDMI部分的全部内容,包括:- config.plist/Devices/Arbitrary
- config.plist/Devices/Properties
- config.plist/Devices/AddProperties
 
- 从以下位置删除任何与 - IGPU和- HDMI相关的- SSDT和- DSDT:- CLOVER/ACPI/patched
 
 下载WhateverGreen和Lilu
下载链接:Lilu WhateverGreen
获取iGPU显卡设备的路径
下载并使用gfxutil工具,如下所示:
| 1 | $ gfxutil -f IGPU | 
ig-platform-id
对于AAPL,ig-platform-id条目Clover要求此值为数据格式,因此您需要反转字节。因此,如果您希望您的platform-id为0x3EA50009,请首先反转字节(0900A53E),然后使用Xcode的plist编辑器将值添加到Clover的config.plist中。
我应该为我的系统使用什么ig-platform-id?
您应该选择与您的系统最匹配的一个。我建议你在选择之前先做一些研究。有关可用选项,请参阅本文后面的ig-platform-id数据整理。
您可以通过连字符后面的第一个数字来确定CPU的迭代。
例子:
- 英特尔(R)酷睿(TM)i5-2760QM(第2代)
- 英特尔(R)酷睿(TM)i7-5257U CPU @ 2.70GHz(第5代)
- 英特尔(R)酷睿(TM)m3-6Y30(第6代)
- 英特尔(R)酷睿(TM)i5-8350U(第8代)
以下是一些推荐的platform-id:
第2代:Sandy Bridge(Intel HD Graphics 2000/3000)
- 支持从Mac OS X 10.7.x开始,以macOS 10.13.6结束
- Metal支持不可用
- 桌面:0x00030010(默认)
- 笔记本电脑:0x00010000(默认)
第3代:Ivy Bridge(Intel HD Graphics 2500/4000)
- 从OS X 10.8.x开始支持
- 桌面:0x0166000A(默认值),0x01620005
- 笔记本电脑:0x01660003(默认),0x01660009, 0x01660004
第4代:Haswell(Intel HD Graphics 4200-5200)
- 从OS X 10.9.x开始支持
- 桌面:0x0D220003(默认)
- 笔记本电脑:0x0A160000(默认),0x0A260005(推荐)
第5代:Broadwell(Intel HD Graphics 5300-6300)
- 从OS X 10.10.2开始支持
- 桌面:0x16220007(默认)
- 笔记本电脑:0x16260006(默认)
第6代:Skylake(Intel HD Graphics 510-580)
- 从OS X 10.11.4开始支持
- 桌面:0x19120000(默认)
- 笔记本电脑:0x19160000(默认)
第7代:Kaby Lake(Intel HD Graphics 610-650)
- 支持从macOS 10.12.6开始
- 桌面:0x59160000(默认)
- 笔记本电脑:0x591B0000(默认)
第8代:Coffee Lake(Intel UHD Graphics630)
- 支持从macOS 10.14 DB4/macOS 10.13.6(17G2112/17G2208)开始
- 桌面:0x3EA50000(默认),0x3E9B0007(推荐)
- 笔记本电脑:0x3EA50009(默认)
Framebuffer补丁
WhateverGreen为您自动完成大部分工作,在大多数情况下,您不需要任何额外的Framebuffer补丁。 至少应该选择适合您系统的ig-platform-id并将其放在config.plist / Devices / Properties中,如下所示: 
以下是您可能需要额外的Framebuffer补丁的一些原因:
- 为那些无法在BIOS中设置高于32 MB的人设置DVMT(framebuffer-stolenmem/framebuffer-fbmem)
- 设置更高的VRAM(framebuffer-unifiedmem)
- 禁用eGPU(disable-external-gpu)
- 启用4K支持的像素时钟补丁(enable-hdmi20)
- 禁用连接器以启用睡眠(framebuffer-pipecount/framebuffer-portcount/framebuffer-conX-type =-1)
- 删除低于10.13.6上的eDP笔记本电脑屏幕的CNConnectorAlwaysConnected标志(framebuffer-con0-flags = 0x00000090)
- 更改连接器类型以匹配您的系统端口(framebuffer-conX-type)
我们有两种不同类型的补丁:
硬编码(推荐)
| 1 | framebuffer-patch-enable (required to enable below) | 
查找/替换
| 1 | framebuffer-patchX-enable (required to enable below) | 
你应该把这些补丁放到CLOVER配置文件config.plist中的Devices/Properties
下面是一些补丁的例子
32MB BIOS, 19MB stolen (framebuffer) 9MB fbmem (cursor) 2048MB unifiedmem (vram)
**备注:**该值以字节为单位,所以你应该MB转换为字节(你可以使用这个在线转换器)
| 1 | <key>Devices</key> | 
Pipe / Port Count 3 to 2 - Connector 1 (BusId 0x4) DP to HDMI - Connector 2 (BusId 0x6) Disable
备注:WhateverGreen会自动设置所有连接器从DP-> HDMI(你可以使用**-igfxnohdmi**引导标志禁用这个)
| 1 | <key>Devices</key> | 
这里是查找/替换方法的一个例子:
| 1 | <key>Devices</key> | 
以我的机器为例:我的这台笔记本是dell inspiron 15 7560,显卡为Intel HD Graphics 620,platform-id为0x59160000。
| 1 | ID: 59160000, STOLEN: 34 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00000B0B | 
通过查询FreamBuffer数据得知:它有三个显示接口:LVDS(内屏)/DP(外屏)/HDMI(外屏),而这台笔记本只有一个HDMI的显示接口用于连接外部显示器,我希望让外屏能正常工作,包括完美支持HDMI显示/音频同步输出,同时我想装个逼,顺手修改下显存为3072MB(framebuffer-unifiedmem)。补丁如下:
Pipe / Port Count 3 to 2 - Connector 1 (BusId 0x5) DP to HDMI - Connector 2 (BusId 0x4) Disable
| 1 | <key>Devices</key> | 



自动化打补丁程序下载:FBPatcher,后续我会发布该工具的教程,敬请期待。

调试
如果您需要的帧缓冲区的转储十六进制使用的引导标志**-igfxdump**。输出将在**/ AppleIntelFramebuffer_GEN_KERNX_Y启动驱动器(如AppleIntelFramebuffer_10_17.7)上。使用INTEL核显FB修复工具FBPatcher可以生成config.plist/Devices/Properties的补丁,最新的版本还支持为USB端口和声卡打补丁;010编辑器支持IntelFramebuffer.bt解析帧缓存的二进制文件的模板。 从WhateverGreen请给调试输出,并使用-wegdbg**引导标志。您将需要编译WhateverGreen作为调试的这两个标志的工作。
要查看调试输出使用:
| 1 | log show --predicate 'process == "kernel" AND (eventMessage CONTAINS "WhateverGreen" OR eventMessage CONTAINS "Lilu")' --style syslog --source --last boot | 
感谢
非常感谢vit9696他的所有帮助实现这一点,也书写了惊人的Lilu和WhateverGreen插件。同时也感谢所有其他的贡献者。
macOS High Sierra 10.13.6(17G2112)/Mojave ig-platform-id数据整理
Sandy Bridge
| 1 | ID: 00010000 | 
Ivy Bridge
| 1 | 0x01660000 (desktop, 4 connectors) | 
Haswell
| 1 | 0x0C060000 (desktop, 3 connectors) | 
Broadwell
| 1 | 0x16060000 (desktop, 3 connectors) | 
Skylake
| 1 | 0x191E0000 (mobile, 3 connectors) | 
Kaby Lake
| 1 | 0x591E0000 (mobile, 3 connectors, no fbmem) | 
Coffee Lake
| 1 | 0x3EA50009 (移动版,3 端口,无 FBMEM,58 MB) | 
Cannon Lake
| 1 | 0x5A510009 (mobile, 3 connectors, no fbmem) | 
Ice Lake (LP)
| 1 | 0xFF050000 (mobile, 3 connectors, no fbmem) | 
Ice Lake(HP)
| 1 | 0xFF050000 (mobile, 3 connectors, no fbmem) | 
macOS 10.14 Beta 4 (18A336e)
Coffee Lake
| 1 | 0x3EA50009 (mobile, 3 connectors, no fbmem) | 
显示器接口数据格式
原文链接:https://www.tonymacx86.com/threads/guide-intel-framebuffer-patching-for-mojave.256490/#post-1780416
关于打赏
您的支持就是我更新的动力!
如果不希望看到博主停更的话,请点击下方的 打赏 支持一下,有钱的捧个钱场,没钱的捧个人场,谢谢大家!


