目录
- 准备工作
- 删除
- 关闭Clover中的所有图形注入
- 禁用Clover对DSDT的修复
- 禁用UseIntelHDMI
- 删除引导参数
- 从以下位置删除所有IGPU和HDMI条目
- 从以下位置删除任何与IGPU和HDMI相关的SSDT和DSDT
- 重命名GFX0 – > IGPU
- 编译Lilu + WhateverGreen
- 编译有问题?
- 获取IGPU的设备路径
- ig-platform-id
- 我应该为我的系统使用什么ig-platform-id?
- 例子
- 仿冒因特尔CPU代数
- 以下是一些推荐的帧缓冲框架
- 第2代:Sandy Bridge(英特尔高清显卡2000/3000)
- 第3代:Ivy Bridge (英特尔高清显卡2500/4000)
- 第4代:Haswell(英特尔高清显卡4200-5200)
- 第5代:Broadwell(英特尔)高清显卡5300-6300)
- 第6代:Skylake(英特尔高清显卡510-580)
- 第7代:Kaby Lake(英特尔高清显卡610-650)
- 第8代:Coffee Lake(Intel UHD Graphics 630)
- 给缓冲帧打补丁
- 您可能需要额外缓冲帧补丁的一些原因
- 帧缓冲区修补类型
- 1。任意(推荐)
- 2.所有数据
- 3.查找/替换
- 一些示例补丁
- 以下是All Data方法的示例
- 以下是查找/替换方法的示例
- 帧缓冲转储
- 调试输出
使用Clover中的 KextsToPatch 在Mojave 的二进制修补帧缓冲区中进行帧缓冲修补不再是Mojave for Skylake及以上版本的可行方法。现在你需要使用Lilu + WhateverGreen。
不只是对于Mojave
这种帧缓冲修补方法不仅是Mojave所必需的,我们还推荐它用于所有以前和未来的macOS版本。
Coffee Lake用户
请注意,新的WhateverGreen不适用于仿冒Kaby Lake平台ID。你需要有macOS 10.14 Beta 4(18A336e)或更新版或macOS High Sierra 10.13.6(17G2112))。后者是一种特殊版本,仅适用于MacBookPro15,1或MacBookPro15,2主板ID。您可以通过运行installinstallmacos.py来创建macOS High Sierra 10.13.6(17G2112)安装程序。(更新:vit9696增加了仿冒Kaby Lake平台ID的能力)Lilu + WhateverGreen WhateverGreen将取代Lilu的所有其他视频补丁插件(它目前已经合并了WhateverGreen,IntelGraphicsFixup,NvidiaGraphicsFixup,Shiki和CoreDisplayFixup)。其他人可能会遵循(例如AppleALC,HibernationFixup和IntelGraphicsDVMTFixup)。这旨在成为视频的一体化解决方案。
准备工作
删除以下驱动
- – FakePCIID_Intel_HD_Graphics
- – IntelGraphicsFixup
- – NvidiaGraphicsFixup
- – CoreDisplayFixup
- – Shiki
关闭Clover中的所有图形注入
- – 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
删除引导参数
- -disablegfxfirmware
从以下位置删除所有IGPU和HDMI条目
- – config.plist/Devices/Arbitrary
- – config.plist/Devices/Properties
- – config.plist/Devices/AddProperties
从以下位置删除任何与IGPU和HDMI相关的SSDT和DSDT
- – CLOVER/ACPI/patched
重命名GFX0 – > IGPU
- – WhateverGreen将自动执行此操作(请参阅下面的警告)
- – 你应该意识到WhateverGreen不重命名GFX0的所有实例 – > IGPU,但在大多数情况下应该没问题
- – 您可能需要包含Clover GFX0 – > IGPU重命名用于其他需要它的kexts或ACPI修补
编译Lilu + WhateverGreen
下载WhateverGreen。在编译之前,请确保将Lilu的调试版本放入WhateverGreen的根目录中。将Lilu和WhateverGreen kext安装到通常的位置。如果要查看调试输出,请将WhateverGreen编译为debug。
编译问题
如果您在编译时遇到问题,可以下载正式版本二进制文件或下载我的(不支持的)build_lilu.shshell脚本并在文件夹中运行它以自动下载和构建Lilu + WhateverGreen使用Xcode。我建议您首先尝试调试版本(将它们放入Clover的EFI / Clover / kexts / Other文件夹中)。
获取IGPU的设备路径
下载并使用gfxutil工具,如下所示:
$ ./gfxutil -f IGPU
DevicePath = PciRoot(0x0)/Pci(0x2,0x0)
ig-platform-id
对于AAPL,ig-platform-id(AAPL,Sandy Bridge的snb-platform-id)条目Clover要求此值为数据格式,因此您需要反转字节。因此,如果您希望您的platform-id为0x3EA50009,请首先反转字节(0900A53E),然后使用Xcode的plist编辑器将值添加到Clover的config.plist中。
我应该为我的系统使用什么ig-platform-id?
您应该选择与您的系统最匹配的一个。我建议你在选择之前先做一些研究。有关可用选项,请参阅第2篇文章。
您可以通过连字符后的第一个数字来确定CPU的生成。
例子
- – Intel(R) Core(TM) i5-2760QM (Gen 2)
- – Intel(R) Core(TM) i7-5257U CPU @ 2.70GHz (Gen 5)
- – Intel(R) Core(TM) m3-6Y30 (Gen 6)
- – Intel(R) Core(TM) i5-8350U (Gen 8)
仿冒因特尔CPU代数
如果需要欺骗不同Intel的CPU代可以使用lilucpu = N启动标志。N指的是以下英特尔代:
4 Sandy Bridge
5 Ivy Bridge
6 Haswell
7 Broadwell
8 Skylake
9 Kaby Lake
10 Coffee Lake
要欺骗CPU,您需要在设备/属性中的GPU条目中为相应的英特尔生成设置有效的设备ID。
例如。欺骗Skylake(lilucpu = 8引导标志,设备ID = 0x16190000),Kaby Lake(lilucpu = 9引导标志,设备ID = 0x12590000)。
以下是一些推荐的帧缓冲框架
第2代:Sandy Bridge(英特尔高清显卡2000/3000)
- – S/L/E/AppleIntelSNBGraphicsFB.kext
- – 支持从10.7.x到10.13.6的系统
- – metal不可用
- – 设备ID: 0x0102 0x0106 0x010A 0x0112 0x0116 0x0122 0x0126
- – AAPL,snb-platform-id (台式机): 0x00030010 (预设值)
- – AAPL,snb-platform-id (笔记本): 0x00010000 (预设值)
第3代:Ivy Bridge (英特尔高清显卡2500/4000)
- – S/L/E/AppleIntelFramebufferCapri.kext
- – 从10.8.x开始支持
- – 设备ID: 0x0152 0x0156 0x0162 0x0166
- – AAPL,ig-platform-id (台式机): 0x0166000A (预设值), 0x01620005
- – AAPL,ig-platform-id (笔记本): 0x01660003 (预设值), 0x01660009, 0x01660004
第4代:Haswell(英特尔高清显卡4200-5200)
- – S/L/E/AppleIntelFramebufferAzul.kext
- – 从10.9.x开始支持
- – 设备ID: 0x0D26 0x0A26 0x0A2E 0x0D22 0x0412
- – AAPL,ig-platform-id (台式机): 0x0D220003 (预设值)
- – AAPL,ig-platform-id (笔记本): 0x0A160000 (预设值), 0x0A260005 (推荐)
注:0x0A260005和0x0A260006这两个ID需要把cursormemorysize值修改为9m,不然会有局部花屏问题,也可以选用0x0D260007或0x0D26000E/0x0D26000F。
第5代:Broadwell(英特尔)高清显卡5300-6300)
- – S/L/E/AppleIntelBDWGraphicsFramebuffer.kext
- – 从10.10.2开始支持
- – 设备ID: 0x0BD1 0x0BD2 0x0BD3 0x1606 0x160E 0x1616 0x161E 0x1626 0x1622 0x1612 0x162B
- – AAPL,ig-platform-id (台式机): 0x16220007 (预设值)
- – AAPL,ig-platform-id (笔记本): 0x16260006 (预设值)
第6代:Skylake(英特尔高清显卡510-580)
- – S/L/E/AppleIntelSKLGraphicsFramebuffer.kext
- – 从10.11.4开始支持
- – 设备ID: 0x1916 0x191E 0x1926 0x1927 0x1912 0x1932 0x1902 0x1917 0x193B 0x191B
- – AAPL,ig-platform-id (台式机): 0x19120000 (预设值)
- – AAPL,ig-platform-id (笔记本): 0x19160000 (预设值)
第7代:Kaby Lake(英特尔高清显卡610-650)
- – S/L/E/AppleIntelKBLGraphicsFramebuffer.kext
- – 从10.12.6开始支持
- – 设备ID: 0x5912 0x5916 0x591B 0x591C 0x591E 0x5926 0x5927 0x5923 0x87C0
- – AAPL,ig-platform-id (台式机): 0x59160000 (预设值)
- – AAPL,ig-platform-id (笔记本): 0x591B0000 (预设值)
第8代:Coffee Lake(Intel UHD Graphics 630)
- – S/L/E/AppleIntelCFLGraphicsFramebuffer.kext
- – 从10.13.6(17G2112)和10.14 beta4(18A336e)版本开始支持
- – 设备ID: 0x3E9B 0x3EA5 0x3E92 0x3E91
- – AAPL,ig-platform-id (台式机): 0x3EA50000 (预设值), 0x3E9B0007 (推荐)
- – AAPL,ig-platform-id (笔记本): 0x3EA50009 (预设值)
给缓冲帧打补丁
WhateverGreen为您自动完成大部分工作,在大多数情况下您不需要任何额外的Framebuffer补丁。至少你应该选择一个ig-platform-id适用于您的系统并将其放在config.plist / Devices / Properties中,如下所示:
您可能需要额外缓冲帧补丁的一些原因
- – 为那些无法在BISO中设置超过32 MB的人设置DVMT(framebuffer-stolenmem / framebuffer-fbmem)
- – 为遇到图形故障的4K用户设置更高的VRAM(帧缓冲) -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 (以下补丁的总开关)
framebuffer-framebufferid (可选; 默认为当前平台ID)
(以下补丁皆为可选)
framebuffer-mobile(mobile值)
framebuffer-pipecount(管道值)
framebuffer-portcount(输出端口数)
framebuffer-memorycount(memory值)
framebuffer-stolenmem(stolenmen值,dvmt补丁之一)
framebuffer-fbmem(fbmem值,dvmt补丁之一)
framebuffer-unifiedmem(核显最大动态显存值)
framebuffer-cursormem (cursormemorysize值,Haswell核显专用)
framebuffer-camellia(camellia值)
framebuffer-flags(标志位)
framebuffer-conX-enable (conX端口的补丁开关)
framebuffer-conX-index(conX端口的索引值)
framebuffer-conX-busid(conX端口的总线ID)
framebuffer-conX-pipe(conX端口的管道值)
framebuffer-conX-type(conX端口的端口类型)
framebuffer-conX-flags(conX端口的标志位)
注:conX的X可以是0,1,2,3
2.所有数据
framebuffer-conX-enable (conX端口的补丁开关)
framebuffer-conX-alldata(conX端口的补丁数据)
3.查找/替换
framebuffer-patchX-enable (补丁X的开关)
framebuffer-patchX-framebufferid (可选; 默认为当前平台ID)
framebuffer-patchX-find(补丁X要查找匹配的数据)
framebuffer-patchX-replace(补丁X要替换的数据)
framebuffer-patchX-count (可选; 默认为1)
您应该将补丁放在Clover config.plist 中的config.plist / Devices / Properties中。
一些示例补丁
- – 32MB BISO,19MB被盗(帧缓冲)9MB fbmem(光标)2048MB unifiedmem(vram)
- – 管道/端口数3至2
- – 连接器1 DP至HDMI
- – 连接器2禁用
以下是All Data方法的示例
以下是查找/替换方法的示例
帧缓冲转储
有两种方法可以转储帧缓冲区数据(两者都需要WhateverGreen + Lilu调试版本):
1.使用-igfxdump引导标志将IGPU帧缓冲区kext转储到/ AppleIntelFramebuffer_X_Y(启动驱动器的根目录)
有几种方法可以读取它转储:
- – 使用010 Editor和IntelFramebuffer.bt模板
- – 使用Hackintool文件 – >打开菜单
2.使用-igfxfbdump引导标志将本机和修补的framebuffer表转储到ioreg ISOervice:/ IOResources / WhateverGreen
有几种方式读取此转储:
- – 使用dump_platformlist.shshell脚本
- – 使用 Hackintool文件 – >导入 – > IOReg转储菜单
3.使用Hackintool Framebuffer-> macOS 10.14菜单
调试输出
要从Lilu获取调试输出,请使用-liludbgall liludump = 60启动标志。您将需要编译Lilu和WhateverGreen作为调试,以使这两个标志起作用。日志文件应位于/ var / log / Lilu_ *。
要查看调试,请将以下内容粘贴到终端(weglog.txt将输出到您的主目录):
log show --predicate 'process == "kernel" AND (eventMessage CONTAINS "WhateverGreen" OR eventMessage CONTAINS "Lilu")' --style syslog --source --last boot >weglog.txt
评论2