英特尔®高清显卡常见问题解答
英特尔®HD图形卡是内置在英特尔处理器中的视频卡。并非所有处理器都配备了集成显卡。要确定您的处理器是否可用,请使用此表或在Intel的网站上查看处理器的规格。例如,该表显示了i7-4770k的英特尔®HD 4600集成显卡,而i7-4930k没有。
macOS对Intel®HD Graphics(Arrandale)和更高版本具有相当令人满意的支持。对于较早的图形,请参见相应的线程/说明(GMA950,GMA X3100)。请注意,并非所有Intel显卡都可以在macOS中成功启用(更多信息请参见下文)。
如果您使用独立显卡(AMD或NVIDIA),启用集成的Intel图形仍然有用,因为它可以在离线模式下使用(也称为“空帧缓冲区”,0连接器,无连接器帧缓冲区,仅IQSV)用于媒体文件的硬件编码和解码等等。
启用英特尔图形卡的一般概念:
- 更正所有相关设备的名称(
IGPU
对于视频卡本身,IMEI
对于英特尔管理引擎)。 - 如有必要,
device-id
将视频卡和Intel Management Engine的伪造为兼容的。 - 指定正确的帧缓冲区(
AAPL,ig-platform-id
或AAPL,snb-platform-id
),以描述视频卡的可用输出和其他属性。 - 向与英特尔®HD图形有关的设备中添加一些其他属性,以及用于数字音频的设备。
此时,WhateverGreen和AppleALC会自动执行第1和第4段。它可以在OS X 10.8和更高版本中使用,并极大地简化了macOS中的图形启用。
一般建议
- 在BIOS中为图形内存分配(DVMT预分配)选择所需的数量:32MB,64MB,96MB等,具体取决于帧缓冲区(在帧缓冲区列表中查找值TOTAL STOLEN)。
对于DVMT的内存总量(DVMT Total),选择:MAX。 一些错误的BIOS显示较高的值,但实际上分配的较少。在这种情况下,请选择一个更高的值。这在戴尔笔记本电脑上很常见,它们的BIOS报告为64MB,但实际上分配了32MB,无法更改它。这种情况将在本手册中显示。
- 将Lilu.kext和WhateverGreen.kext(以下称为WEG)添加到引导加载程序Clover或OpenCore中。
- 删除(如果之前使用),这些kext文件:
– IntelGraphicsFixup.kext
– NvidiaGraphicsFixup.kext
– CoreDisplayFixup.kext
– Shiki.kext
– IntelGraphicsDVMTFixup.kext
– AzulPatcher4600.kext
– AppleBacklightFixup.kext,
– FakePCIID_Intel_HD_Graphics.kext
– FakePCIID_Intel_HDMI_Audio.kext
-和FakePCIID。 kext(如果没有其他FakePCIID插件) - 关闭所有Clover的图形注入(我的意思是关闭而不是注释掉)。
- 关闭三叶草的DSDT修复程序:
—AddHDMI
—FixDisplay
—FixIntelGfx
—AddIMEI
—FixHDA
—AddPNLF
- 关闭三叶草的:
UseIntelHDMI
,SetIntelBacklight
和SetIntelMaxBacklight
。 - 禁用四叶草的
Devices
–Inject
(通常不存在此参数,这很好,但是,如果存在,请关闭或删除)。
- 删除
-disablegfxfirmware
并-igfxnohdmi
启动参数。 FakeID
为IntelGFX
和删除三叶草的IMEI
。- 删除Clover的
ig-platform-id
。 - 从和(如果已添加)中完全删除Clover的
Arbitrary
,AddProperties
以及IGPU,IMEI,HDEF和HDMI音频定义。SSDT
DSDT
- 删除或禁用二进制补丁DSDT: ,
GFX0 to IGPU
,PEGP to GFX0
,HECI to IMEI
,MEI to IMEI
,。HDAS to HDEF
B0D3 to HDAU
注入属性:
要注入属性,请在config.plist中对Clover使用Devices
–Properties
部分或DeviceProperties
对OpenCore使用部分。
只能添加以下属性:
–AAPL,ig-platform-id
或AAPL,snb-platform-id
帧缓冲区
–device-id
用于IGPU
(如果需要伪造)
–device-id
用于IMEI
(如果需要伪造)
-补丁程序的属性(如果必要)
以及layout-id
用于HDEF
(AppleALC Wiki中的更多详细信息,HDEF
设备位置PciRoot
,可以使用gfxutil:)gfxutil -f HDEF
。
添加这些不是强制性的。例如:默认帧缓冲区足够好,或者使用启动参数(boot-arg)设置,并且device-id
不需要伪造。
中的字节Properties
必须按相反的顺序放置。例如:framebuffer0x0166000B
将作为放置0B006601
,DevID0x1E3A
将作为放置3A1E0000
。
下面分别针对每个处理器系列描述了通用的Properties
模板IGPU
和IMEI
部分。
注意力!
不要保留空的属性值。例如,如果不需要某个属性,则删除整行!PciRoot
如果没有属性,请完全删除字典。
选择帧缓冲区:
首先尝试推荐的帧缓冲区。如果不成功,则一个接一个地尝试其他方法,但不包括“空帧缓冲区”(0个连接器),它们在单独的主题中进行了介绍。
寻找合适的帧缓冲区时,可以使用引导参数(boot-arg)对其进行设置,在这种情况下,将Properties
忽略本节中设置的帧缓冲区。例如:igfxframe=0x0166000B
注意力!
与Properties
普通字节顺序不同,0x
将使用前缀。
- 如果未以任何方式显式指定帧缓冲区,则将注入默认帧缓冲区。
- 如果未设置帧缓冲区,并且系统具有独立显卡,则将注入“空帧缓冲区”。
英特尔高清显卡(第一代/ Ironlake)(阿兰代尔处理器)
从Mac OS X 10.6.x到macOS 10.13.6受支持。这些说明适用于OS X 10.8.x-macOS 10.13.6,并且在较新的操作系统上不受支持。缺少金属支撑。
带有LVDS显示屏的笔记本电脑是唯一受支持的组合。不支持所有其他显示类型。
最典型的配置将要求framebuffer-patch-enable
和framebuffer-singlelink
。AAPL,ig-platform-id
不需要。
如果有显示或唤醒的问题,framebuffer-fbccontrol-*
并且framebuffer-featurecontrol-*
性能可能会有所帮助。这些反映了Info.plist
帧缓冲区kext中存在的设置,并且是简单的0或1设置。
语义:
framebuffer-patch-enable(启用修补)
framebuffer-linkwidth(指定链接宽度,默认为1)
framebuffer-singlelink(启用单链接模式)
FBCControl:
framebuffer-fbccontrol-allzero(将所有属性设置为零,以下属性将被覆盖)
framebuffer-fbccontrol-compression
FeatureControl:
framebuffer-featurecontrol-allzero(将所有属性设置为零,以下属性将被覆盖)
framebuffer-featurecontrol-fbc
framebuffer-featurecontrol-gpu中断处理
framebuffer-featurecontrol-gamma
framebuffer-featurecontrol
-maximumselfrefreshlevel framebuffer-featurecontrol-powerstates
framebuffer-featurecontrol-rstimertest
framebuffer -featurecontrol-
renderstandby帧缓冲区-featurecontrol-水印
本机支持的DevID:
0x0042
0x0046
英特尔高清显卡2000/3000(桑迪桥处理器)
从Mac OS X 10.7.x到macOS 10.13.6受支持。这些说明适用于OS X 10.8.x-macOS 10.13.6。在较旧的操作系统上,请遵循“古老的方法”。在较新的操作系统上,不支持这些功能。但是,如果您真的想-阅读此书。缺少金属支撑。
SNB帧缓冲列表:
帧缓冲区 | 类型 | 连接器 | 总存储空间 |
---|---|---|---|
0x00010000 | 移动的 | 4 | 32 MB? |
0x00020000 | 移动的 | 1个 | 32 MB? |
0x00030010 | 桌面 | 3 | 32 MB? |
0x00030020 | 桌面 | 3 | 32 MB? |
0x00030030 | 桌面 | 0 | 32 MB? |
0x00040000 | 移动的 | 3 | 32 MB? |
0x00050000 | 桌面 | 0 | 32 MB? |
扰流板:SNB连接器
本机支持的DevID:
0x0106
0x1106
0x1601
0x0116
0x0126
0x0102
推荐的帧缓冲区:
- 桌面:
0x00030010
(默认)
- 笔记本电脑:
0x00010000
(默认)
- 空帧缓冲区:
0x00050000
(默认)
HD2000在macOS中不能用作全功能的图形卡,但是您可以(并且应该)将其与IQSV的“空帧缓冲区”(0连接器)一起使用。只有HD3000可以与显示器一起使用。
Sandy Bridge通常不需要指定帧缓冲区,您的board-id的默认帧缓冲区将自动使用。如果使用非Sandy Brige Mac型号,则需要指定帧缓冲区。 请记住,对于帧缓冲属性名称- -从别人IGPUs不同。
Sandy Bridge
AAPL,snb-platform-id
台式机需要伪造device-id
26010000
以下物品IGPU
:
对于“空帧缓冲区”,需要一个不同的设备ID,该线程中需要更多设备ID
注意力!如果您使用的主板带有7系列芯片组,则必须伪造
device-id
3A1C0000
forIMEI
并添加ACPI表SSDT-IMEI
英特尔高清显卡2500/4000(常春藤处理器)
从OS X 10.8.x开始受支持
卡普里帧缓冲列表:
帧缓冲区 | 类型 | 连接器 | 总存储空间 |
---|---|---|---|
0x01660000 | 桌面 | 4 | 24兆字节 |
0x01620006 | 桌面 | 0 | 0字节 |
0x01620007 | 桌面 | 0 | 0字节 |
0x01620005 | 桌面 | 3 | 16兆字节 |
0x01660001 | 移动的 | 4 | 24兆字节 |
0x01660002 | 移动的 | 1个 | 24兆字节 |
0x01660008 | 移动的 | 3 | 16兆字节 |
0x01660009 | 移动的 | 3 | 16兆字节 |
0x01660003 | 移动的 | 4 | 16兆字节 |
0x01660004 | 移动的 | 1个 | 16兆字节 |
0x0166000A | 桌面 | 3 | 16兆字节 |
0x0166000B | 桌面 | 3 | 16兆字节 |
扰流板:Capri连接器
本机支持的DevID:
0x0152
0x0156
0x0162
0x0166
推荐的帧缓冲区:
- 桌面:
0x0166000A
(默认)0x01620005
- 笔记本电脑:
0x01660003
(默认)0x01660009
0x01660004
- 空帧缓冲区:
0x01620007
(默认)
HD2500在macOS中不能用作全功能的图形卡,但是您可以(并且应该)将其与IQSV的“空帧缓冲区”(0个连接器)一起使用。只有HD4000可以与显示器一起使用。
注意力!如果您使用的是 6系列芯片组的主板,则必须伪造
device-id
3A1E0000
forIMEI
并添加ACPI表SSDT-IMEI
英特尔高清显卡4200-5200(Haswell处理器)
从OS X 10.9.x开始受支持
Azul帧缓冲区列表:
帧缓冲区 | 类型 | 连接器 | 总存储空间 |
---|---|---|---|
0x0C060000 | 桌面 | 3 | 209兆字节 |
0x0C160000 | 桌面 | 3 | 209兆字节 |
0x0C260000 | 桌面 | 3 | 209兆字节 |
0x04060000 | 桌面 | 3 | 209兆字节 |
0x04160000 | 桌面 | 3 | 209兆字节 |
0x04260000 | 桌面 | 3 | 209兆字节 |
0x0D260000 | 桌面 | 3 | 209兆字节 |
0x0A160000 | 桌面 | 3 | 209兆字节 |
0x0A260000 | 桌面 | 3 | 209兆字节 |
0x0A260005 | 移动的 | 3 | 52兆字节 |
0x0A260006 | 移动的 | 3 | 52兆字节 |
0x0A2E0008 | 移动的 | 3 | 99兆字节 |
0x0A16000C | 移动的 | 3 | 99兆字节 |
0x0D260007 | 移动的 | 4 | 99兆字节 |
0x0D220003 | 桌面 | 3 | 52兆字节 |
0x0A2E000A | 桌面 | 3 | 52兆字节 |
0x0A26000A | 桌面 | 3 | 52兆字节 |
0x0A2E000D | 桌面 | 2 | 131兆字节 |
0x0A26000D | 桌面 | 2 | 131兆字节 |
0x04120004 | 桌面 | 0 | 1兆字节 |
0x0412000B | 桌面 | 0 | 1兆字节 |
0x0D260009 | 移动的 | 1个 | 99兆字节 |
0x0D26000E | 移动的 | 4 | 131兆字节 |
0x0D26000F | 移动的 | 1个 | 131兆字节 |
扰流板:Azul连接器
本机支持的DevID:
0x0d26
0x0a26
0x0a2e
0x0d22
0x0412
推荐的帧缓冲区:
- 桌面:
0x0D220003
(默认)
- 笔记本电脑:
0x0A160000
(默认)0x0A260005
(推荐的)0x0A260006
(推荐的)
- 空帧缓冲区:
0x04120004
(默认)
对于桌面HD4400和HD4200移动/ HD4400 / HD4600需要假的device-id
12040000
了IGPU
。
英特尔高清显卡5300-6300(Broadwell处理器)
自OS X 10.10.2开始受支持
BDW帧缓冲列表:
帧缓冲区 | 类型 | 连接器 | 总存储空间 |
---|---|---|---|
0x16060000 | 桌面 | 3 | 32兆字节 |
0x160E0000 | 桌面 | 3 | 32兆字节 |
0x16160000 | 桌面 | 3 | 32兆字节 |
0x161E0000 | 桌面 | 3 | 32兆字节 |
0x16260000 | 桌面 | 3 | 32兆字节 |
0x162B0000 | 桌面 | 3 | 32兆字节 |
0x16220000 | 桌面 | 3 | 32兆字节 |
0x160E0001 | 移动的 | 3 | 60兆字节 |
0x161E0001 | 移动的 | 3 | 60兆字节 |
0x16060002 | 移动的 | 3 | 56兆字节 |
0x16160002 | 移动的 | 3 | 56兆字节 |
0x16260002 | 移动的 | 3 | 56兆字节 |
0x16220002 | 移动的 | 3 | 56兆字节 |
0x162B0002 | 移动的 | 3 | 56兆字节 |
0x16120003 | 移动的 | 4 | 56兆字节 |
0x162B0004 | 桌面 | 3 | 56兆字节 |
0x16260004 | 桌面 | 3 | 56兆字节 |
0x16220007 | 桌面 | 3 | 77兆字节 |
0x16260005 | 移动的 | 3 | 56兆字节 |
0x16260006 | 移动的 | 3 | 56兆字节 |
0x162B0008 | 桌面 | 2 | 69兆字节 |
0x16260008 | 桌面 | 2 | 69兆字节 |
扰流板:BDW连接器
本机支持的DevID:
0x0BD1
0x0BD2
0x0BD3
0x1606
0x160e
0x1616
0x161e
0x1626
0x1622
0x1612
0x162b
推荐的帧缓冲区:
- 桌面:
0x16220007
(默认)
- 笔记本电脑:
0x16260006
(默认)
英特尔高清显卡510-580(Skylake)
自OS X 10.11.4起受支持
SKL帧缓冲列表:
帧缓冲区 | 类型 | 连接器 | 总存储空间 |
---|---|---|---|
0x191E0000 | 移动的 | 3 | 56兆字节 |
0x19160000 | 移动的 | 3 | 56兆字节 |
0x19260000 | 移动的 | 3 | 56兆字节 |
0x19270000 | 移动的 | 3 | 56兆字节 |
0x191B0000 | 移动的 | 3 | 56兆字节 |
0x193B0000 | 移动的 | 3 | 56兆字节 |
0x19120000 | 移动的 | 3 | 56兆字节 |
0x19020001 | 桌面 | 0 | 1兆字节 |
0x19170001 | 桌面 | 0 | 1兆字节 |
0x19120001 | 桌面 | 0 | 1兆字节 |
0x19320001 | 桌面 | 0 | 1兆字节 |
0x19160002 | 移动的 | 3 | 58兆字节 |
0x19260002 | 移动的 | 3 | 58兆字节 |
0x191E0003 | 移动的 | 3 | 41兆字节 |
0x19260004 | 移动的 | 3 | 35兆字节 |
0x19270004 | 移动的 | 3 | 58兆字节 |
0x193B0005 | 移动的 | 4 | 35兆字节 |
0x191B0006 | 移动的 | 1个 | 39兆字节 |
0x19260007 | 移动的 | 3 | 35兆字节 |
扰流板:SKL连接器
本机支持的DevID:
0x1916
0x191E
0x1926
0x1927
0x1912
0x1932
0x1902
0x1917
0x193B
0x191B
推荐的帧缓冲区:
- 桌面:
0x19120000
(默认)
- 笔记本电脑:
0x19160000
(默认)
- 空帧缓冲区:
0x19120001
(默认)
英特尔(U)HD图形610-650(Kaby Lake和Amber Lake Y处理器)
自macOS 10.12.6
UHD617 Amber Lake Y
起受支持(自macOS 10.14.1起受支持)
KBL / ABL帧缓冲列表:
帧缓冲区 | 类型 | 连接器 | 总存储空间 |
---|---|---|---|
0x591E0000 | 移动的 | 3 | 35兆字节 |
0x87C00000 | 移动的 | 3 | 35兆字节 |
0x59160000 | 移动的 | 3 | 35兆字节 |
0x59230000 | 桌面 | 3 | 39兆字节 |
0x59260000 | 桌面 | 3 | 39兆字节 |
0x59270000 | 桌面 | 3 | 39兆字节 |
0x59270009 | 移动的 | 3 | 39兆字节 |
0x59160009 | 移动的 | 3 | 39兆字节 |
0x59120000 | 桌面 | 3 | 39兆字节 |
0x591B0000 | 移动的 | 3 | 39兆字节 |
0x591E0001 | 移动的 | 3 | 39兆字节 |
0x59180002 | 移动的 | 0 | 1兆字节 |
0x59120003 | 移动的 | 0 | 1兆字节 |
0x59260007 | 桌面 | 3 | 79兆字节 |
0x59270004 | 移动的 | 3 | 58兆字节 |
0x59260002 | 移动的 | 3 | 58兆字节 |
0x87C00005 | 移动的 | 3 | 58兆字节 |
0x591C0005 | 移动的 | 3 | 58兆字节 |
0x591B0006 | 移动的 | 1个 | 39兆字节 |
扰流板:KBL / ABL连接器
本机支持的DevID:
- KBL:
0x5912
0x5916
0x591B
0x591C
0x591E
0x5926
0x5927
0x5923
- ABL:
0x87C0
推荐的帧缓冲区:
- 桌面:
0x59160000
(默认)0x59120000
(推荐的)
- 笔记本电脑:
0x591B0000
(默认)
- 空帧缓冲区:
0x59120003
(默认)
对于UHD620(Kaby湖刷新)假device-id
16590000
的IGPU
。
英特尔UHD图形610-655(Coffee Lake和Comet Lake处理器)
从macOS 10.14开始受支持(
UHD630 Comet Lake
从macOS 10.15.4开始受支持,建议10.15.5)
CFL / CML帧缓冲列表:
帧缓冲区 | 类型 | 连接器 | 总存储空间 |
---|---|---|---|
0x3EA50009 | 移动的 | 3 | 58兆字节 |
0x3E920009 | 移动的 | 3 | 58兆字节 |
0x3E9B0009 | 移动的 | 3 | 58兆字节 |
0x3EA50000 | 移动的 | 3 | 58兆字节 |
0x3E920000 | 移动的 | 3 | 58兆字节 |
0x3E000000 | 移动的 | 3 | 58兆字节 |
0x3E9B0000 | 移动的 | 3 | 58兆字节 |
0x3EA50004 | 移动的 | 3 | 58兆字节 |
0x3EA50005 | 移动的 | 3 | 58兆字节 |
0x3EA60005 | 移动的 | 3 | 58兆字节 |
0x3E9B0006 | 移动的 | 1个 | 39兆字节 |
0x3E9B0008 | 移动的 | 1个 | 58兆字节 |
0x3E9B0007 | 桌面 | 3 | 58兆字节 |
0x3E920003 | 桌面 | 0 | 1兆字节 |
0x3E910003 | 桌面 | 0 | 1兆字节 |
0x3E980003 | 桌面 | 0 | 1兆字节 |
0x9BC80003 | 桌面 | 0 | 1兆字节 |
0x9BC50003 | 桌面 | 0 | 1兆字节 |
0x9BC40003 | 桌面 | 0 | 1兆字节 |
扰流板:CFL / CML连接器
本机支持的DevID:
- 节能灯:
0x3E9B
0x3EA5
0x3EA6
0x3E92
0x3E91
0x3E98
- CML:
0x9BC8
0x9BC5
0x9BC4
推荐的帧缓冲区:
- 桌面:
0x3EA50000
(默认)0x3E9B0007
(推荐的)
- 笔记本电脑:
0x3EA50009
(默认)
- 空帧缓冲区(CFL):
0x3E910003
(默认)
- 空帧缓冲区(CML):
0x9BC80003
(默认)
如果您使用的是第9代茶湖刷新处理器,有必要假device-id
923E0000
的IGPU
。从macOS 10.14.4开始,不需要伪造。
对于UHD620(威士忌湖)假device-id
A53E0000
的IGPU
。
剧透:macOS 10.13和CFL
英特尔Iris Plus图形(Ice Lake处理器)
自macOS 10.15.4起受支持
ICL帧缓冲列表:
帧缓冲区 | 类型 | 连接器 | 总存储空间 |
---|---|---|---|
0xFF050000 | 移动的 | 3 | 193 MB? |
0x8A710000 | 移动的 | 6 | 193 MB? |
0x8A700000 | 移动的 | 6 | 193 MB? |
0x8A510000 | 移动的 | 6 | 193 MB? |
0x8A5C0000 | 移动的 | 6 | 193 MB? |
0x8A5D0000 | 移动的 | 6 | 193 MB? |
0x8A520000 | 移动的 | 6 | 193 MB? |
0x8A530000 | 移动的 | 6 | 193 MB? |
0x8A5A0000 | 移动的 | 6 | 193 MB? |
0x8A5B0000 | 移动的 | 6 | 193 MB? |
0x8A710001 | 移动的 | 5 | 193 MB? |
0x8A700001 | 移动的 | 5 | 193 MB? |
0x8A510001 | 移动的 | 3 | 193 MB? |
0x8A5C0001 | 移动的 | 3 | 193 MB? |
0x8A5D0001 | 移动的 | 3 | 193 MB? |
0x8A520001 | 移动的 | 5 | 193 MB? |
0x8A530001 | 移动的 | 5 | 193 MB? |
0x8A5A0001 | 移动的 | 5 | 193 MB? |
0x8A5B0001 | 移动的 | 5 | 193 MB? |
0x8A510002 | 移动的 | 3 | 193 MB? |
0x8A5C0002 | 移动的 | 3 | 193 MB? |
0x8A520002 | 移动的 | 5 | 193 MB? |
0x8A530002 | 移动的 | 5 | 193 MB? |
扰流板:ICL连接器
本机支持的DevID:
0xff05
0x8A70
0x8A71
0x8A51
0x8A5C
0x8A5D
0x8A52
0x8A53
0x8A5A
0x8A5B
推荐的帧缓冲区:
- 笔记本电脑:
0x8A520000
(默认)
调整笔记本电脑的亮度
使用此ACPI表SSDT-PNLF,对于CFL +使用其他表SSDT-PNLFCFL。
数位音讯(HDMI / DVI / DP)
要启用数字音频,必须设置hda-gfx
属性并修补连接器。
要启用一般的音频,尤其要启用HDMI,请使用WEG以及AppleALC.kext。AppleALC自动注入缺少的hda-gfx
属性。
在10.10.5及更高版本上,仅当未使用自定义补丁时,WEGconnector-type
才会将DP(00040000)的设置自动更改为HDMI(00080000)。物理连接可以是任何类型(HDMI,DVI,DP),但对于数字音频,必须明确地是HDMI。connector-type
自定义补丁
在大多数情况下,不需要补丁!
在SKL及更高版本的10.14中,不可能直接从kext二进制文件中获取有关帧缓冲区和连接器的信息-必须从内存中转储二进制文件,因此引导加载程序中的二进制帧缓冲区修补程序是不可能的。但是,可以使用WEG进行语义(首选)和二进制补丁。在较旧的OS和较旧的IGPU上-这也适用。默认情况下,当前帧缓冲区已打补丁。
修补程序位于Properties
IGPU的部分中。
语义补丁的示例:HDMI类型的连接器(连接器类型= 00080000,用于具有索引1、2和3的连接器)。
需要更高版本时,DVMT Pre-Alloc 32MB的BIOS语义补丁示例。(stolenmem = 19MB,fbmem = 9MB)
对于以前使用过该补丁的用户,此系列补丁与AzulPatcher4600.kext完全等效。(在某些具有帧缓冲的Haswell笔记本电脑上0x0A260006
,可以消除工件的影响)。
所有可能的WEG自定义补丁:
语义:
framebuffer-patch-enable(原则上启用语义补丁)
framebuffer-framebufferid(我们正在修补的帧缓冲区,默认为当前)
framebuffer-mobile
framebuffer-pipecount
framebuffer-portcount
framebuffer-memorycount
framebuffer-stolenmem
framebuffer-fbmem
framebuffer-unifiedmem(VRAM,不建议使用此补丁)
framebuffer-cursormem(Haswell专用)
framebuffer-flags frameframe-camellia
(集成显示控制器,此字段仅与真实Mac相关)
framebuffer-conX-enable(启用连接器X的补丁)
framebuffer-conX-index
framebuffer-conX-busid
framebuffer-conX-pipe
framebuffer-conX类型
framebuffer-conX-flags
framebuffer-conX-alldata(完全替换连接器)
framebuffer- conX-YYYYYYYY-alldata(如果当前帧缓冲区匹配YYYYYYYY,则完全替换连接器)
其中X是连接器索引。
Alldata修补程序可以通过将多个连接器放在单个字符串中并指定连接器的索引来依次修补多个连接器。字符串长度应为12字节(单个连接器的长度)的倍数,对于ICL为24字节。
二进制:
framebuffer-patchN-enable(启用补丁号N)
framebuffer-patchN-framebufferid(我们正在修补的帧缓冲区,默认情况下为当前值)
framebuffer-patchN-find
framebuffer-patchN-replace
framebuffer-patchN-count(数量要搜索的模式迭代次数,默认为1)
N代表补丁的编号:0、1、2,… 9
可以使用010编辑器和IntelFramebuffer.bt脚本提取有关帧缓冲区和连接器的详细信息。
此信息对于进行自定义补丁的人员很有用。 在10.14中,对于SKL和更高版本,要获取适合该脚本的转储,可以将WEG的调试版本与引导参数一起使用。转储文件将保存到/ var / log /中 。使用WEG的调试版本并使用boot-argument从启动时,可以使用IOReg获取原始的和修补的转储文件(来自IOReg的转储文件已简化,请勿用于bt脚本。 )。
-igfxdump
-igfxfbdump
IOService:/IOResources/WhateverGreen
VGA支持
在大多数情况下,默认情况下使用Intel Skylake及更高版本。
对于Ivy Bridge以及可能的其他一代,可以使用以下选项来修补连接器:
06020000 02000000 30000000 //选项1
06020000 01000000 30000000 //选项2
在OS X 10.8.2和更高版本上,不可能在Ivy Bridge上安装VGA系统。
热插拔VGA通常不起作用。
万一这没有帮助-目前没有其他已知的解决方案。
EDID
通常可以正确识别EDID,因此无需采取任何措施。在极少数情况下,需要手动注入EDID。
例如,可以使用Linux获得EDID转储。必须将正确的EDID放入AAPL0 0中,IGPU
该属性是的override-no-connect属性,其中第二个0代表显示编号。 在某些情况下,EDID转储可能与macOS不兼容并导致变形。对于这种情况下的某些EDID,您可以使用此脚本,以更正提供的EDID并将其保存到桌面。
具有60FPS的UHD分辨率的HDMI
将enable-max-pixel-clock-override
属性添加到IGPU
或使用-igfxmpc
boot-arg来提高最大像素时钟限制。对于ThinkPad P71或XPS 15等笔记本电脑上的4K @ 60Hz,这是必需的,否则将出现黑屏。它也可以用于HDMI 2.0上的4K @ 60Hz。
CheckTimingWithRange
CoreDisplay.framework(用户空间)中的函数负责验证显示时间。它读取IOFBTimingRange属性,该属性包含具有各种限制(包括最大像素时钟限制)的IODisplayTimingRange结构。至少在KBL上,帧缓冲驱动程序将IODisplayTimingRange结构中的最大像素时钟频率设置为450 MHz,对于4K @ 60Hz来说是不够的。 -igfxmpc
修改IODisplayTimingRange结构,并将最大像素时钟限制提高到675 MHz。这将使CheckTimingWithRange
4K @ 60Hz显示成功。可以使用中的max-pixel-clock-frequency
属性更改默认的675 MHz限制,该属性IGPU
将覆盖新的最大像素时钟限制(以Hz为单位)。
另一种方法是CheckTimingWithRange
在CoreDisplay.framework中打补丁以跳过像素时钟的验证。要使用此补丁,请将enable-hdmi20
属性添加到IGPU
或使用-cdfon
boot-arg。
-igfxmpc
这是绕过450 MHz像素时钟限制的首选方法,具体-cdfon
取决于用户空间修补程序。
禁用独立显卡
将disable-external-gpu
属性添加到IGPU
。 或代替该属性,使用boot-arg
-wegnoegpu
解决了某些笔记本电脑(Dell XPS 15 9570等)上无效的最大链接速率问题。
将enable-dpcd-max-link-rate-fix
属性添加到IGPU
,否则由于被零除而导致内核崩溃。或代替该属性,使用boot-arg -igfxmlr
。
从v1.3.7开始,它还修复了从扩展DPCD缓冲区读取的无效最大链接速率值。这可以解决新笔记本电脑(例如带有Sharp显示屏的Dell Inspiron 7590)上的内核恐慌。
从v1.4.4开始,如果dpcd-max-link-rate
未指定该属性,它将自动探测最大链接速率值,并且现在支持Ice Lake平台。 您也可以通过内置显示屏手动指定最大链接速率值。通常用于4K显示和1080p显示。所有可能的值为(RBR),(HBR),(HBR2)和
dpcd-max-link-rate
0x14
0x0A
0x06
0x0A
0x14
0x1E
(HBR3)。
如果指定了无效值或未指定属性dpcd-max-link-rate
,驱动程序将改为探测DPCD的最大链接速率。
如果驱动程序不支持所探测的值(这种情况很少发生),则需要手动指定一个有效值,否则图形驱动程序将因稍后被零除而触发内核崩溃。
剧透:调试
修复在Skylake,Kaby Lake和Coffee Lake平台上以更高的像素时钟速率建立Intel HDMI连接的无限循环
在图形驱动程序尝试建立具有更高像素时钟频率的HDMI连接时(例如,通过HDMI 1.4连接到2K / 4K显示器),将enable-hdmi-dividers-fix
属性添加到属性IGPU
或使用-igfxhdmidivs
boot参数来修复无限循环。 (当您插入HDMI电缆时,(内置笔记本电脑的显示屏将保持黑色)。
笔记
- 对于那些希望通过其HDMI 1.4端口具有“有限的” 2K / 4K体验(即2K @ 59Hz或4K @ 30Hz)的用户,您可能会发现此修复程序很有帮助。
- 对于具有将HDMI 2.0路由到IGPU的笔记本电脑或PC并具有HDMI输出问题的用户,请注意,此修补程序现在已由LSPCON驱动程序解决方案成功完成,并且仍然建议启用LSPCON驱动程序支持以具有完整的HDMI 2.0经验。您可能仍需要临时解决此问题,以弄清HDMI端口的连接器索引,请参阅下面的LSPCON部分。
LSPCON驱动程序支持以在IGPU上启用DisplayPort到HDMI 2.0输出
最近的笔记本电脑(KBL / CFL)通常配备HDMI 2.0端口。该端口可以路由到IGPU或DGPU,您可以在Windows 10上进行确认。但是,Intel(U)HD Graphics不提供本机HDMI 2.0输出,因此为了解决此问题,OEM厂商添加了附加硬件在主板上命名为LSPCON的DisplayPort转换为HDMI 2.0。
LSPCON可在电平转换器(LS)或协议转换器(PCON)模式下工作。当适配器在LS模式下工作时,它能够从DisplayPort产生HDMI 1.4信号,而在PCON模式下,它可以提供HDMI 2.0输出。默认情况下,固件中已将某些板载LSPCON适配器(例如Dell XPS 15 9570上的一个)配置为在LS模式下工作,导致处理HDMI 2.0连接时出现黑屏。
从1.3.0版开始,WEG现在通过自动将适配器配置为在新的HDMI连接上以PCON模式运行来提供对板载LSPCON的驱动程序支持,从而解决了某些平台上的黑屏问题。
- LSPCON驱动程序仅适用于将HDMI 2.0路由至IGPU的笔记本电脑和PC。
- 除非新的IGPU开始提供本地HDMI 2.0输出,否则所有新平台都需要LSPCON驱动程序。
- 支持的英特尔平台:SKL,KBL,CFL和更高版本。SKL:英特尔NUC Skull Canyon;带Parade PS175 LSPCON的Iris Pro 580 + HDMI 2.0。CFL:某些笔记本电脑(例如Dell XPS 15 9570)配备了HDMI 2.0和Parade PS175 LSPCON。
- 如果您已确认HDMI 2.0已路由到IGPU且现在可以正常工作,则无需启用此驱动程序,因为您的板载LSPCON可能已在固件中配置为可在PCON模式下工作。
指示
- 添加该
enable-lspcon-support
属性以IGPU
启用驱动程序,或改用boot-arg-igfxlspcon
。 - 接下来,您需要知道HDMI端口的相应连接器索引(0、1、2、3之一)。您可以在IORegistryExplorer的IGPU下找到它(即AppleIntelFramebuffer @ 0/1/2/3)。如果您只有2K / 4K HDMI监视器,则可能需要暂时启用无限循环修复,然后再将HDMI监视器连接到内部版本,否则系统会挂起,因此您将无法运行IORegistryExplorer并找到连接器索引。
- 添加
framebuffer-conX-has-lspcon
属性以IGPU
通知驱动程序哪个连接器具有板载LSPCON适配器。替换X
为您在上一步中找到的索引。该值必须是类型,Data
并且应该是01000000
(True)和00000000
(False)之一。 - (可选)将
framebuffer-conX-preferred-lspcon-mode
属性添加到IGPU
以为板载LSPCON适配器指定模式。该值必须是类型,Data
并且应为01000000
(PCON,DP到HDMI 2.0)和00000000
(LS,DP到HDMI 1.4)之一。任何其他无效值均视为PCON模式。如果未指定此属性,则驱动程序将假定首选PCON模式。
剧透:调试
支持ICL平台上所有可能的核心显示时钟(CDCLK)频率
将enable-cdclk-frequency-fix
属性添加到IGPU
或使用-igfxcdc
boot参数代替,以支持ICL平台上的所有有效内核显示时钟(CDCLK)频率,否则,由于不支持CD时钟十进制频率,将导致内核崩溃。
核心显示时钟(CDCLK)是显示引擎用来完成其工作的主要时钟之一。Apple的图形驱动程序期望固件已将时钟频率设置为652.8 MHz或648 MHz(实际值取决于硬件),但是相当多的笔记本电脑将其设置为更低的值,例如172.8 MHz,因此您将会看到内核崩溃消息,例如“不支持的CD时钟十进制频率0x158”。该补丁将时钟重新编程以将其频率设置为支持的值之一,以便可以满足此前提条件。
剧透:调试
修正因Intel ICL平台上的DVMT预分配内存计算错误而导致的内核恐慌
将enable-dvmt-calc-fix
属性添加到IGPU
或使用-igfxdvmt
boot参数来修复ICL平台上DVMT预分配内存量的计算,否则Unsupported ICL SKU
会出现内核恐慌的说法。
苹果的图形驱动程序读取BIOS或固件中设置的DVMT值,并使用“魔术”公式来计算以字节为单位的内存量。不幸的是,该公式仅适用于32MB的倍数的预分配内存大小。由于笔记本电脑现在默认情况下在ICL +平台上将DVMT设置为60MB,从而出现问题,并且帧缓冲控制器最终会使用不正确的预分配内存量来初始化被盗的内存管理器。即使可以通过EFI shell
或修改DVMT设置RU.EFI
,这些方法不适用于某些使用自定义固件的笔记本电脑,例如Surface Pro 7。这样,此修补程序会预先计算正确的字节数并修补驱动程序,以便它将使用适当的值初始化内存管理器,并且可以避免上述内核崩溃。
如果被盗的内存不足,Apple会消除内核崩溃,但建议您修补帧缓冲区,以使其适合您可用的被盗内存量。启用补丁后,您可以fw-dvmt-preallocated-memory
在图形设备下的属性中找到实际的DVMT预分配内存量。(仅在DEBUG版本中可用)单位为兆字节,下例中的大小为60 MB。(0x3C = 60)
剧透:调试
已知的问题
兼容性
- 有限的卡:HD2000,HD2500仅可用于IQSV(它们仅在真正的Mac中用于此),没有解决方案。
- 无法启用英特尔奔腾/赛扬图形,没有解决方案。
- Haswell平台上的HDMI黑屏。使用WEG或macOS 10.13.4及更高版本解决。
- 英特尔Skylake和更新的台式机上对2个或更多显示器的支持丢失或有故障。在macOS 10.14.x中存在改进趋势。
- 显示屏在Intel Skylake台式机及更高版本上不会唤醒,通过DisplayPort连接或升级到macOS 10.14.x可能会有所帮助。
故障和设置
- HD3000有时可能会出现接口故障。由于Sandy中的视频内存量取决于整个系统内存-最小内存为8 GB,但是没有保证的解决方案。还建议在BIOS中将Max TOLUD安装到Dynamic。也许您可以从这些补丁中受益。
- 从UEFI GOP驱动程序过渡到macOS驱动程序期间,“ 8个苹果”和File Vault 2的背景图像消失了(由于EDID不兼容)。在WEG中部分解决。
- 使用WEG解决了PAVP冻结(视频播放过程中冻结,QuickLook损坏等)的问题,但代价是禁用了HDCP。
- 某些帧缓冲区的Haswell故障可通过语义
framebuffer-cursormem
补丁解决。 - 在macOS 10.14中,某些带有KBL图形的笔记本电脑可能会遇到渐变上的视觉瑕疵。对于临时解决方案,请尝试伪造IGPU以使用SKL驱动程序。
- WEG修复了使用移动CFL进行OS引导时几分钟的黑屏。
- 通过修改BIOS或在UEFI Shell中手动输入值,可以通过语义
framebuffer-stolenmem
和framebuffer-fbmem
补丁来解决BIOS中缺少用于更改帧缓冲区内存量的选项的问题。否则您会感到恐慌。 解释 - 带有IGPU的某些系统(例如KBL和CFL)可能会在低功耗状态下导致系统不稳定。有时NVMe内核恐慌可能会注意到它。通常可用的解决方法是传递
forceRenderStandby=0
给内核启动参数以禁用RC6 Render Standby。有关更多详细信息,请参见此问题。
表演和媒体内容
- WEG已修复了某些应用程序与不受支持的配置(NVIDIA + SNB / SKL / KBL; AMD + IVY)中的分立卡的兼容性。从macOS 10.13.4开始,问题消失了。
- 查看受保护的iTunes内容已由WEG修复。如果没有分立卡,则无法从Ivy Bridge上的macOS 10.12开始以及在iTunes上以更高的格式观看高清电影。
- Apple GuC固件不适用于旧的22纳米芯片组-Z370和更早的版本。
一个VDADecoderChecker输出使用非空的帧缓冲区必须是这样的独奏集成显卡:
一个VDADecoderChecker输出独立显卡与iGPU的离线模式(空帧缓存)必须是这样的:注意事项10.15+
在特殊的iGPU的情况下,IMEI和HDEF设备位置,gfxutil可以使用:gfxutil -f IGPU
,gfxutil -f IMEI
,gfxutil -f HDEF
。IGPU和IMEI设备位置-通常是标准位置。
附
件
下
载
文件名称:https://github.com/acidanthera/WhateverGreen
更新日期:最近
文件大小:4.7M
提示:如遇问题或者链接失效请联系站长,欢迎捐赠本站以及广告合作!