黑苹果的基本知识

黑苹果的基本知识。

Mac OS X支持列表

列表如下。其中EFI32/64指需要使用32/64位的引导器,32/64位内核空间支持需要32/64位的kexts。

10.10及更低版本可能无法使用超过24个线程启动,出现mp_cpus_call_wait() timeout的panic。10.11和更高版本的线程限制为64。在启动参数添加cpus=1可解决该问题。

系统名称 系统版本 版本号 内核号 发布日期 最后更新日期 兼容性 PowerPC支持 Intel架构支持 ARM架构支持 EFI32位支持 EFI64位支持 CPU32位支持 CPU64位支持 32位内核空间支持 64位内核空间支持 内核架构支持 最低指令集要求 系统盘格式 备注
Big Sur 11.0 11.2.3-20D91
11.2.2-20D80
11.2.1-20D75/20D74
11.2-20D64
11.1-20C69
11.0.1-20B50/20B29
11.0-20A2411
20 2020-11-12 2013年上半年发布的MacBook Air - 支持 支持 - 支持 - 支持 - 支持 x86_64 SSE4.2 APFS 11.0仅适用于M1 CPU
Catalina 10.15 10.15.7-19H15/19H4/19H2
10.15.6-19G2021/19G73
10.15.5-19F101/19F96
10.15.4-19E287/19E266
10.15.3-19D76
10.15.2-19C57
10.15.1-19B88
10.15-19A603/19A602/19A583
Golden Master-19A582a
Developer Beta 10-19A578c
Developer Beta 9-19A573a
Developer Beta 8-19A558d
Developer Beta 7-19A546d
Developer Beta 6-19A536g
Developer Beta 5-19A526h
Developer Beta 4-19A512f
Developer Beta 3-19A501i
Developer Beta 2-19A487l
Developer Beta 1-19A471t
19 2019-10-07 2010年的iMac Pro和2012年下半年发布的所有Mac - 支持 - - 支持 - 支持 - 支持 x86_64 SSE4.2 APFS
Mojave 10.14 10.14.6-18G103/18G95/18G87/18G84
10.14.5-18F132
10.14.4-18E226
10.14.3-18D109/18D43/18D42
10.14.2-18C54
10.14.1-18B57c/18B50c/18B45d
10.14-18A391/18A389/18A384a/18A377a/18A371a/18A365a/18A353d/18A347e/18A336e/18A326h/18A326g/18A314h/18A293u
18 2018-09-24 2019-12-10 2010年的iMac Pro和2012年下半年发布的所有Mac - 支持 - - 支持 - 支持 - 支持 x86_64 SSE4.2 APFS
High Sierra 10.13 10.13.6-17G4015/17G3025/17G2208/17G65
10.13.5-17F77
10.13.4-17E202/17E199
10.13.3-17D2102/17D102/17D2047/17D47
10.13.2-17C2205/17C205/17C89/17C88
10.13.1-17B1003/17B1002/17B48
10.13-17A405/17A365
17 2017-09-25 2019-12-10 2009年下半年发布的iMac和MacBook - 支持 - - 支持 - 支持 - 支持 x86_64 SSE4 HFS+
Sierra 10.12 10.12.6-16G29
10.12.5-16F73
10.12.4-16E191a
10.12.3-16D32
10.12.2-16C63a
10.12.1-16B2657/16B2555
10.12-16A323
16 2016-09-20 2019-09-26 2009年下半年发布的iMac和MacBook - 支持 - - 支持 - 支持 - 支持 x86_64 SSE4 HFS+
El Capitan 10.11 10.11.6-15G22010/15G21013/15G20015/15G19009/15G18013/15G17023/15G1611/15G1510/15G1421/15G1217/15G1212/15G1108/15G1011/15G1004/15G31
10.11.5-15F34
10.11.4-15E65
10.11.3-15D21
10.11.2-15C50
10.11.1-15B42
10.11-15A284
15 2015-09-30 2018-07-09 2007年及以后的iMac和MacBook Pro - 支持 - - 支持 - 支持 - 支持 x86_64 SSSE3 HFS
Yosemite 10.10 10.10.5-14F2511/14F2411/14F2315/14F2109/14F2009/14F1912/14F1909/14F1808/14F1713/14F1605/14F1509/14F1505/14F1021/14F27
10.10.4-14E46
10.10.3-14D136/14D131
10.10.2-14C2513/14C2043/14C1514/14C1510/14C109
10.10.1-14B25
10.10-14A389
14 2014-10-16 2015-08-15 2007年及以后的iMac和MacBook Pro - 支持 - - 支持 - 支持 - 支持 x86_64 SSSE3 HFS
Mavericks 10.9 10.9.5-13F1077/13F1066/13F34
10.9.4-13E28
10.9.3-13D65
10.9.2-13C64
10.9.1-13B42
10.9-13A603
13 2013-10-22 2014-09-17 - 支持 - - 支持 - 支持 - 支持 x86_64 SSSE3 HFS 需要OpenPartitionDxe.efi来启动恢复分区
至少需要2GB内存
Mountain Lion 10.8 10.8.5-12F2560/12F2542/12F2518/12F2501/12F45/12F37
10.8.4-12E4022/12E3067/12E55
10.8.3-12D78
10.8.2-12C3104/12C2034/12C60/12C54
10.8.1-12B19
10.8-12A269
12 2012-07-25 2013-09-12 - 支持 - - 支持 - 支持 - 支持 x86_64 SSSE3 HFS 需要OpenPartitionDxe.efi来启动恢复分区
Lion 10.7 10.7.5-11G63
10.7.4-11E53
10.7.3-11D50b/11D50
10.7.2-11C74
10.7.1-11B2118/11B26
10.7-11A2063/11A2061/11A511
11 2011-07-20 2012-09-19 - 支持 - 支持 支持 支持(至10.7.5) 支持 支持 支持 i386
x86_64
SSSE3 HFS 第一个支持SSD TRIM,且不再提供安装光盘的版本
需要OpenPartitionDxe.efi来启动恢复分区
Snow Leopard 10.6 10.6.8-10K549/10K540
10.6.7-10J869
10.6.6-10J567
10.6.5-10H574
10.6.4-10F569
10.6.3-10D578/10D575/10D573
10.6.2-10C540
10.6.1-10B504
10.6-10A433/10A432
10 2009-08-28 2011-07-15 - 支持 - 支持 支持 支持 支持 支持 支持 i386
i386-user32
x86_64
SSE3(32位)
SSSE3(64位)
HFS
Leopard 10.5 10.5.8-9L30
10.5.7-9J61
10.5.6-9G66/9G55
10.5.5-9F33
10.5.4-9E17
10.5.3-9D34
10.5.2-9C31
10.5.1-9B18
10.5-9A581
9 2007-10-26 2009-08-12 支持 支持 - 支持 支持 支持 支持 支持 - i386
i386-user32
SSE3(32位)
SSSE3(64位)
HFS
Tiger 10.4 10.4.11-8S165(PowerPC)/8S2167(Intel)
10.4.10-8R218(PowerPC)/8R2218(Intel)
10.4.9-8P135(PowerPC)/8P2137(Intel)
10.4.8-8L127(PowerPC)/8L2127(Intel)
10.4.7-8N5107/8K1079/8J135(PowerPC)/8J2135a(Intel)
10.4.6-8I127(PowerPC)/8I1119(Intel)
10.4.5-8H14(PowerPC)/8G1454(Intel)
10.4.4-8G32(PowerPC)/8G1165(Intel)
10.4.3-8F46
10.4.2-8E90/8E45/8E102/8C64
10.4.1-8B15
10.4-8A428
8 2005-04-29 2007-11-14 支持 支持(从10.4.4起) - 支持 支持(从10.4.8起) 支持 支持 支持 - i386
i386-user32
SSE3(32位)
SSSE3(64位)
HFS
Panther 10.3 10.3.9-7W98
10.3.8-7U16
10.3.7-7S215
10.3.6-7R28
10.3.5-7M34
10.3.4-7H63
10.3.3-7F44
10.3.2-7D24
10.3.1-C107
10.3-7B85
7 2003-10-24 2005-04-15 支持 - -
Jaguar 10.2 10.2.8-6R73
10.2.7-6R65
10.2.6-6L60
10.2.5-6L29
10.2.4-6I32
10.2.3-6G30
10.2.2-6F21
10.2.1-6D52
10.2-6C115
6 2002-08-23 2003-10-03 支持 - - 首次有普通版/服务器版之分
10.2.7仅用于G5s/G4s
Puma 10.1 10.1.5-5S60
10.1.4-5Q125
10.1.3-5Q45
10.1.2-5P48
10.1.1-5M28
10.1-5G64
5 2001-09-25 2002-06-05 支持 - -
Cheetah 10.0 10.0.4-4Q12
10.0.3-4P13
10.0.2-4P12
10.0.1-4L13
10.0-4K78
4 2000-03-24 2002-06-22 支持 - -
Kodiak (Public Beta) 10.0β 10.0β-1H39 2000-09-13 2000-09-13 支持 - - 有四个不同的版本

硬件兼容

CPU

Intel支持列表

Wolfdale (Intel Core2 Duo series)和Yorkfield (Intel Core2 Quad series)太旧,不推荐使用。

注意,对于消费级的Ivy Bridge(0x0306A9),苹果针对它禁用了XCPM,并推荐用户使用传统的电源管理。如果要使用XCPM,需要手动添加_xcpm_patch二进制修补以强制启用。

各型号兼容性列表如下。

1
https://sites.google.com/view/hardhack/cpu
架构 最早支持版本 最后支持版本 备注 CPUID
Pentium 4 10.4.1 10.5.8 仅在开发套件中使用,需要Fake CPUID,iGPU不工作 0x0F41
Celerons 不支持,需要Fake CPUID,iGPU不工作
Atoms 10.6需要修补内核,无GPU加速 0x0106C2
Yonah 10.4.4 10.6.8 32位
CPUID适用于10.4-10.7
0x0006E6
Woodcrest 10.4.7 10.7.5
Clovertown 10.4.9 10.7.5
Conroe/Merom 10.4.7 10.11.6 无SSE4
若带有GMA950/X3100显卡,由于32位显卡驱动限制,仅可到10.7.5
0x0006F2
Penryn 10.4.10 10.13.6 无SSE4.2
若带有X3100显卡,由于32位显卡驱动限制,仅可到10.7.5
CPUID适用于10.5-10.13
0x010676
XeonMP CPUID适用于10.6 0x0106D0
Harpertown 10.5.1 10.11.6
Wolfdale 10.6.1 10.13.6
Nehalem 10.5.6 至今 0x0106A2
Lynnfield/Clarksfield 10.6.3 至今 10.14+中无iGPU支持 0x0106E0
Havendale 10.6.3 至今 0x0106F0
Westmere/Clarkdale/Arrandale 10.6.4 至今 10.14+中无iGPU支持 0x020650(Clarkdale)
0x0206C0(Westmere)
AtomSandy 不支持 0x020660
Lincroft 不支持 0x020670
Sandy Bridge 10.6.7 至今 10.14+中无iGPU支持 0x0206A0(M/H)
Jaketown 0x0206D0
NehalemEx 0x0206E0
WestmereEx 0x0206F0
Atom2000 0x030660
Ivy Bridge 10.7.3 至今 11+中无iGPU支持 0x0306A0(M/H/G)
Ivy Bridge-E5 10.9.2 至今 取决于dGPU,需要FakeID 0x0306E0
Haswell 10.8.5 至今 0x0306C0(S)
Broadwell 10.10.0 至今 0x0306D4(U/Y)
HaswellMB 0x0306F0
HaswellULT 0x040650
CrystalWell 0x040660
Broadwell-E 10.10.2 至今 取决于dGPU,需要FakeID
Skylake 10.11.0 至今 0x0506E3(H/S)
0x0406E3(U/Y)
Skylake-X/W 10.13.3 至今 取决于dGPU
Kaby Lake 10.12.4 至今 0x0906E9(H/S/G)
0x0806E9(U/Y)
Coffee Lake 10.12.6 至今 推荐10.14+ 0x0906EA(S/H/E)
0x0806EA(U)
Amber/Whiskey/Comet Lake 10.14.1 至今 0x0806E0(U/Y)
Cascade Lake-SP/W 10.15.0 至今 取决于dGPU
Comet Lake 10.15.4 至今 八代与九代一致 0x0906E0(S/H)
Ice Lake 10.15.4 至今 0x0706E5(U)
Tiger Lake 未测试 0x0806C0(U)
Rocket Lake 0x0906EB

CPU指令集仿真

旧CPU仿真

可用OpcodeEmulator.kext,用于Intel Haswell Pentium/Celeron系列或较旧的处理器扩展指令集仿真。

1
https://www.insanelymac.com/forum/topic/329704-opcode-emulator-opemu-plug-in-project/

SSE4.2仿真

对于Intel CPU,可用telemetrap.kext在SSE4.1 CPU下运行要求为SSE 4.2的系统,下载链接如下。

1
https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/page-4?post=28447707#post-28447707

旧版白苹果

对于其它架构,也可尝试使用macOS Patcher,链接如下。

1
https://github.com/rmc-team/macos-patcher

GPU

Intel支持列表

Mac支持绝大多数的GT2 Intel GPU和少数的GT3e Intel GPU,不支持GT1 Intel GPU(Pentium/Celeron/Atoms)。

各型号兼容性列表如下。

1
https://sites.google.com/view/hardhack/videocards/intel-hd-graphics
架构 最早支持版本 最后支持版本 型号 备注
Atom/Celeron/Pentium 不支持
第三代GMA 10.4.1 10.7.5 GMA 950(Lion)
GMA 900(Snow Leopard)
GMA 3150
GMA 3100
需要32位内核和补丁
第四代GMA 10.5.0 10.7.5 GMA X3100(Lion) 需要32位内核和补丁
GMA X4500HD、GMA X4500、GMA 4500MHD、GMA 4500、GMA X3500、GMA X3000、GMA 3000不支持
Westmere(i3/5/7-xxx) 10.6 10.13.6 HD Graphics
Arrendale(HD Graphics) 10.6.4 10.13.6 仅支持LVDS,不支持eDP和外部输出
可用显卡kexts地址https://www.insanelymac.com/forum/files/file/208-1st-gen-intel-hd-graphics-kexts/
Sandy Bridge(HD 3000) 10.7 10.13.6 HD 2000
HD 3000
HD P3000
HD 2000只能用于Quicksync,不能完全加速
Ivy Bridge(HD 4000) 10.7.3 10.15.7 HD 2500
HD 4000
HD P4000
HD 2500只能用于Quicksync
Haswell(HD 4XXX/5XXX) 10.8.5 至今 HD 4200
HD 4400
HD 4600
HD 5000
HD 5100
HD P4600
HD P4700
HD4400需要仿冒ID为HD4600
HD4600有CI但无QE,HD4400具有QE/CI
Broadwell(5XXX/6XXX) 10.10.2 至今 HD 5300
HD 5500
HD 5600
HD 6000
HD 6100
HD 6200
HD P5700
Iris Pro P6300
HD 400和HD 405不支持
Skylake(HD 5XX) 10.11.4 至今 HD 515
HD 520
HD 530
HD P530
Iris 540
Iris 550
Iris Pro 580
Iris Pro P555
Iris Pro P580
HD 510不支持
Kaby Lake(HD 6XX) 10.12.6 至今 HD 615
HD 620
HD 630
Iris Plus 640
Iris Plus 650
HD 610不支持
Coffee Lake(UHD 6XX) 10.13.6 至今 UHD 615
UHD 617
UHD 620
UHD 630
Iris Plus 645
Iris Plus 655
i3 8100和8350k使用不同的UHD 630
UHD 610不支持
Comet Lake(UHD 6XX) 10.15.4 至今
Ice Lake(Gx) 10.15.4 至今 Iris Plus G7
Iris Plus G4
需要启动参数-igfxcdc和-igfxdvmt
GT1不支持
Apollo Lake HD 500
HD 505
无可用驱动
Gemini Lake UHD 600
UHD 605
无可用驱动
Tiger Lake(Xe) 无可用驱动

Intel platform ID列表

某些SKL/KBL台式机驱动4K显示器时,可尝试0x193b0005这一ig-platform-id。

通用属性列表如下。

属性 类型
enable-hdmi20 Data 01000000
framebuffer-fbmem Data 00009000
framebuffer-patch-enable Data 01000000
framebuffer-stolenmem Data 00003001
framebuffer-unifiedmem Data 00000080
hda-gfx String onboard-1

Arrandale

适用于10.6.4-10.13.6。仅支持带有LVDS显示屏的笔记本。注意需要将SMBIOS设置为MacBookPro6,1或MacBookPro6,2。

支持的DevID如下。

1
2
0x0042
0x0046

设备属性要求有framebuffer-patch-enableframebuffer-singlelink,不需要AAPL,ig-platform-id。配置参数含义如下。

参数 含义
Semantic
framebuffer-patch-enable 启用修补
framebuffer-linkwidth 指定链接宽度,默认为1
framebuffer-singlelink 启用单链接模式
FBCControl
framebuffer-fbccontrol-allzero 将所有属性设置为零(下面的属性将被覆盖)
framebuffer-fbccontrol-compression
FeatureControl
framebuffer-featurecontrol-allzero 将所有属性设置为零(下面的属性将被覆盖)
framebuffer-featurecontrol-fbc
framebuffer-featurecontrol-gpuinterrupthandling
framebuffer-featurecontrol-gamma
framebuffer-featurecontrol-maximumselfrefreshlevel
framebuffer-featurecontrol-powerstates
framebuffer-featurecontrol-rstimertest
framebuffer-featurecontrol-renderstandby
framebuffer-featurecontrol-watermarks

对于10.8及以上系统,直接使用WhateverGreen即可正确处理,无需进行以下操作。

对于10.6.4-10.7,安装过程中需要将ig-platform-id设置为0x12345678以禁用显卡,安装完成后需要使用以下kext补丁。

Stride patch如下,用于修复分辨率大于1024x768时的情况。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 10.6 x86
Name: AppleIntelHDGraphicsFB::hwSetCRTC
Find: 0F8547FEFFFF66B80020
Replace: 90909090909066B80020

# 10.6 x64
Name: AppleIntelHDGraphicsFB::hwSetCRTC
Find: 0F8575FEFFFFE96BFEFFFF
Replace: 909090909090E96BFEFFFF

# 10.7 x86
Name: AppleIntelHDGraphicsFB::hwSetCRTC
Find: 0F45C8898C3E
Replace: 909090898C3E

# 10.7 x64 & 10.8+
Name: AppleIntelHDGraphicsFB::hwSetCRTC
Find: 0F45C842898C
Replace: 90909042898C

Single link patch 1如下,用于开启single link模式。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 10.6 x86
Name: AppleIntelHDGraphicsFB::hwGetPanelProperties
Find: C70301000000C7432000000000
Replace: C70300000000C7432000000000

# 10.6 x64
Name: AppleIntelHDGraphicsFB::hwGetPanelProperties
Find: C70201000000C7422000000000
Replace: C70200000000C7422000000000

# 10.7 x86
Name: AppleIntelHDGraphicsFB::hwGetPanelProperties
Find: C70601000000C7462000000000
Replace: C70600000000C7462000000000

# 10.7 x64 & 10.8-10.9
Name: AppleIntelHDGraphicsFB::hwGetPanelProperties
Find: C70301000000C7432000000000
Replace: C70300000000C7432000000000

# 10.10
Name: AppleIntelHDGraphicsFB::hwGetPanelProperties
Find: 49C7070100000041C7472000000000
Replace: 49C7070000000041C7472000000000

# 10.11-10.13
Name: AppleIntelHDGraphicsFB::hwGetPanelProperties
Find: 48C7030100000048B80A000000D0070000
Replace: 48C7030000000048B80A000000D0070000

Single link patch 2如下,用于将除数改变到14。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 10.6 x86
Name: AppleIntelHDGraphicsFB::hwRegsNeedUpdate
Find: BB00000009
Replace: BB00000008

# 10.6 x64
Name: AppleIntelHDGraphicsFB::hwRegsNeedUpdate
Find: BE00000009
Replace: BE00000008

# 10.7 x64
Name: AppleIntelHDGraphicsFB::hwRegsNeedUpdate
Find: B800000009
Replace: B800000008

# 10.7 x86 & 10.8
Name: AppleIntelHDGraphicsFB::hwRegsNeedUpdate
Find: B900000009
Replace: B900000008

# 10.9
Name: AppleIntelHDGraphicsFB::hwRegsNeedUpdate
Find: 41B900600009
Replace: 41B900600008

# 10.10-10.12
Name: AppleIntelHDGraphicsFB::hwRegsNeedUpdate
Find: B800600009
Replace: B800600008

# 10.13
Name: AppleIntelHDGraphicsFB::hwRegsNeedUpdate
Find: BA00600009
Replace: BA00600008

Single link patch 3如下,用于关闭CLKB,修复像素化图像。

1
2
3
Name: AppleIntelHDGraphicsFB::hwRegsNeedUpdate
Find: 3C033080
Replace: 00033080

Link width patch如下,用于设置链路宽度。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# 10.6 x86
Name: AppleIntelHDGraphicsFB::TrainFDI
Find: 8B87380500000FB64018C1E0130B466C89466C8B575889820C000F008B87380500000FB64018C1E0130B4668
## Link width = 1
Replace: 8B466C25FFFFC7FF0D0000000090909089466C8B575889820C000F008B466825FFFFC7FF0D00000000909090
## Link width = 2
Replace: 8B466C25FFFFC7FF0D0000080090909089466C8B575889820C000F008B466825FFFFC7FF0D00000800909090
## Link width = 3
Replace: 8B466C25FFFFC7FF0D0000100090909089466C8B575889820C000F008B466825FFFFC7FF0D00001000909090
## Link width = 4
Replace: 8B466C25FFFFC7FF0D0000180090909089466C8B575889820C000F008B466825FFFFC7FF0D00001800909090

# 10.6 x64
Name: AppleIntelHDGraphicsFB::TrainFDI
Find: 498B85980600000FB64018C1E013410B44246C418944246C498B959800000089820C000F00498B85980600000FB64018C1E013410B442468
## Link width = 1
Replace: 418B44246C25FFFFC7FF0D00000000909090909090909090498B959800000089820C000F00418B44246825FFFFC7FF0D0000000090909090
## Link width = 2
Replace: 418B44246C25FFFFC7FF0D00000800909090909090909090498B959800000089820C000F00418B44246825FFFFC7FF0D0000080090909090
## Link width = 3
Replace: 418B44246C25FFFFC7FF0D00001000909090909090909090498B959800000089820C000F00418B44246825FFFFC7FF0D0000100090909090
## Link width = 4
Replace: 418B44246C25FFFFC7FF0D00001800909090909090909090498B959800000089820C000F00418B44246825FFFFC7FF0D0000180090909090

# 10.7 x86
Name: AppleIntelHDGraphicsFB::TrainFDI
Find: 8B86380500000FB64018C1E0130B476C89476C8B4E5889810C000F008B86380500000FB64018C1E0130B4768
## Link width = 1
Replace: 8B476C25FFFFC7FF0D0000000090909089476C8B4E5889810C000F008B476825FFFFC7FF0D00000000909090
## Link width = 2
Replace: 8B476C25FFFFC7FF0D0000080090909089476C8B4E5889810C000F008B476825FFFFC7FF0D00000800909090
## Link width = 3
Replace: 8B476C25FFFFC7FF0D0000100090909089476C8B4E5889810C000F008B476825FFFFC7FF0D00001000909090
## Link width = 4
Replace: 8B476C25FFFFC7FF0D0000180090909089476C8B4E5889810C000F008B476825FFFFC7FF0D00001800909090

# 10.7 x64
Name: AppleIntelHDGraphicsFB::TrainFDI
Find: 498B86980600000FB64018C1E0130B436C89436C498B8E9800000089810C000F00498B86980600000FB64018C1E0130B4368
## Link width = 1
Replace: 8B436C25FFFFC7FF0D000000009090909089436C498B8E9800000089810C000F008B436825FFFFC7FF0D0000000090909090
## Link width = 2
Replace: 8B436C25FFFFC7FF0D000008009090909089436C498B8E9800000089810C000F008B436825FFFFC7FF0D0000080090909090
## Link width = 3
Replace: 8B436C25FFFFC7FF0D000010009090909089436C498B8E9800000089810C000F008B436825FFFFC7FF0D0000100090909090
## Link width = 4
Replace: 8B436C25FFFFC7FF0D000018009090909089436C498B8E9800000089810C000F008B436825FFFFC7FF0D0000180090909090

# 10.8-10.11
Name: AppleIntelHDGraphicsFB::TrainFDI
Find: 498B8424980600000FB64018C1E013410B466C4189466C498B8C249800000089810C000F00498B8424980600000FB64018C1E013410B4668
## Link width = 1
Replace: 418B466C25FFFFC7FF0D0000000090909090904189466C498B8C249800000089810C000F00418B466825FFFFC7FF0D000000009090909090
## Link width = 2
Replace: 418B466C25FFFFC7FF0D0000080090909090904189466C498B8C249800000089810C000F00418B466825FFFFC7FF0D000008009090909090
## Link width = 3
Replace: 418B466C25FFFFC7FF0D0000100090909090904189466C498B8C249800000089810C000F00418B466825FFFFC7FF0D000010009090909090
## Link width = 4
Replace: 418B466C25FFFFC7FF0D0000180090909090904189466C498B8C249800000089810C000F00418B466825FFFFC7FF0D000018009090909090

# 10.12-10.13
Name: AppleIntelHDGraphicsFB::TrainFDI
Find: 41894E6C498B84249800000089880C000F00498B8C24980600000FB65118C1E213418B766C09D64189766C89B00C000F00410B5668
## Link width = 1
Replace: BBFFFFC7FFBA0000000021D909D141894E6C498B84249800000089880C000F00418B4E6821D909D189CA909090498B8C2498060000
## Link width = 2
Replace: BBFFFFC7FFBA0000080021D909D141894E6C498B84249800000089880C000F00418B4E6821D909D189CA909090498B8C2498060000
## Link width = 3
Replace: BBFFFFC7FFBA0000100021D909D141894E6C498B84249800000089880C000F00418B4E6821D909D189CA909090498B8C2498060000
## Link width = 4
Replace: BBFFFFC7FFBA0000180021D909D141894E6C498B84249800000089880C000F00418B4E6821D909D189CA909090498B8C2498060000

FBCControl patch如下,通过将FBCControl替换为XXXControl,防止读取Info.plist中的FBCControl设置,这与将FBCControl部分中的所有值设置为零具有相同的效果。

1
2
3
Name: FBCControl
Find: 464243436F6E74726F6C00
Replace: 585858436F6E74726F6C00

FeatureControl patch如下,通过将FeatureControl替换为XXXtureControl,防止读取Info.plist中的FeatureControl设置,这与将FeatureControl部分中的所有值设置为零具有相同的效果。

1
2
3
Name: FeatureControl
Find: 46656174757265436F6E74726F6C00
Replace: 58585874757265436F6E74726F6C00

Sandy Bridge

适用于10.7-10.13.6。

可通过以下脚本,在Mojave中启用Sandy Bridge GPU。

1
https://github.com/Andrej-Antipov/SNBGraphicsMojaveInstaller

推荐的帧缓冲区加粗显示。

显卡型号 platform-id 机型 接口 LVDS DP HDMI 总STOLEN内存 备注
Intel HD Graphics 3000 0x00010000 MacBookPro8,1
MacBookPro8,2
MacBookPro8,3
4 1 3 32MB? 笔记本,默认
Intel HD Graphics 3000 0x00020000 1 1 32MB? 笔记本
Intel HD Graphics 3000 0x00030010 Macmini5,1
Macmini5,3
3 2 1 32MB? 台式机,默认
Intel HD Graphics 3000 0x00030020 Macmini5,1
Macmini5,3
3 2 1 32MB? 台式机
Intel HD Graphics 3000 0x00030030 Macmini5,2 0 32MB? 台式机
Intel HD Graphics 3000 0x00040000 MacBookAir4,1
MacBookAir4,2
3 1 2 32MB? 笔记本
Intel HD Graphics 3000 0x00050000 iMac12,1/iMac12,2 0 32MB? 台式机,默认
空Framebuffer,可用于HD2000

支持的DevID如下。

1
2
3
4
5
6
0x0106
0x1106
0x1601
0x0116
0x0126
0x0102

Sandy Bridge一般不需要指定帧缓冲区。若使用非Sandy Brige Mac型号,则需要指定帧缓冲区。

一般需要添加以下属性。

属性 类型 备注
AAPL,snb-platform-id Data 10000300 根据台式机/笔记本更换值
device-id Data / 需要仿冒时使用

注意,对于台式机,需要伪造device-id为26010000。

对于HD4400,需要伪造device-id为12040000。

对于6系列芯片组的HD2000/3000,需要伪造device-id为02010000。

对于7系列芯片组的HD2000/3000,需要伪造device-id为3A1C0000,并添加SSDT-IMEI,下载链接如下。

1
https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/Source/SSDT-IMEI.dsl

对于6系列芯片组的HD2500/4000,需要伪造device-id为3A1E0000,并添加SSDT-IMEI。

【进阶】HD2000/3000所需文件

对于HD2000,需要以下文件。

1
2
3
4
AppleIntelHDGraphicsFB.kext
AppleIntelHDGraphicsGA.plugin
AppleIntelHDGraphicsGLDriver.bundle
AppleIntelHDGraphicsVADriver.bundle

对于HD3000,需要以下文件。

1
2
3
4
5
6
AppleIntelHD3000Graphics.kext
AppleIntelHD3000GraphicsGA.plugin
AppleIntelHD3000GraphicsGLDriver.bundle
AppleIntelHD3000GraphicsVADriver.bundle
AppleIntelSNBGraphicsFB.kext
AppleIntelSNBVA.bundle
【进阶】HD 3000接口故障修复

用于High Sierra。若仅将Sandy用于IQSV,以下补丁没有作用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<dict>
<key>Comment</key>
<string>hd3000 Fix</string>
<key>Find</key>
<data>
AQIEABAHAAAQBw==
</data>
<key>Name</key>
<string>com.apple.driver.AppleIntelSNBGraphicsFB</string>
<key>Replace</key>
<data>
AAEEgBAHAAAQBw==
</data>
</dict>
<dict>
<key>Comment</key>
<string>HD3000 384 -&gt; 2048</string>
<key>Find</key>
<data>
0AAAABg=
</data>
<key>Name</key>
<string>com.apple.driver.AppleIntelSNBGraphicsFB</string>
<key>Replace</key>
<data>
0AAAAIA=
</data>
</dict>
<dict>
<key>Comment</key>
<string>HD3000 512 -&gt; 2048</string>
<key>Find</key>
<data>
0AAAACA=
</data>
<key>Name</key>
<string>com.apple.driver.AppleIntelSNBGraphicsFB</string>
<key>Replace</key>
<data>
0AAAAIA=
</data>
</dict>

Ivy Bridge

适用于10.8至今。在10.8.2及更高版本上不可能提供VGA支持。

型号 platform-id 机型 接口 LVDS DP HDMI 总STOLEN内存 备注
Intel HD Graphics 4000 0x01660000 4 1 3 24MB 台式机
Intel HD Graphics 4000 0x01660001 MacBookPro10,2 4 1 2 1 24MB 笔记本
Intel HD Graphics 4000 0x01660002 MacBookPro10,1 1 1 24MB 笔记本
Intel HD Graphics 4000 0x01660003 MacBookPro9,2 4 1 3 16MB 笔记本,默认
分辨率1600x900及更高
Intel HD Graphics 4000 0x01660004 MacBookPro9,1 1 1 16MB 笔记本
eDP/自动侦测
Intel HD Graphics 4000 0x01660005 3 3 16MB 台式机
Intel HD Graphics 4000 0x01660006 iMac13,1 0 0bytes 台式机
Intel HD Graphics 4000 0x01660007 iMac13,2 0 0bytes 台式机,默认
空Framebuffer,可用于HD 2500
Intel HD Graphics 4000 0x01660008 MacBookAir5,1 3 1 2 16MB 笔记本
Intel HD Graphics 4000 0x01660009 MacBookAir5,2 3 1 2 16MB 笔记本
分辨率1366x768
Intel HD Graphics 4000 0x0166000A Macmini6,1 3 2 1 16MB 台式机,默认
Intel HD Graphics 4000 0x0166000b Macmini6,2 3 2 1 16MB 台式机

支持的DevID如下。

1
2
3
4
0x0152
0x0156
0x0162
0x0166

对于6系列芯片组的HD2500/4000,需要伪造device-id为3A1E0000,并添加SSDT-IMEI,下载链接同Sandy Bridge。

Haswell

适用于10.9至今。

显卡型号 platform-id 机型 接口 LVDS DP eDP HDMI 总STOLEN内存 备注
0x04060000 3 1 1 1 209MB 台式机
0x0c060000 3 1 1 1 209MB 台式机
Intel HD Graphics 4600 0x04160000 3 1 1 1 209MB 台式机
Intel HD Graphics 4400 0x0a160000 3 1 1 1 209MB 台式机/笔记本,默认
0x0c160000 3 1 1 1 209MB 台式机
Intel HD Graphics 5000 0x04260000 3 1 1 1 209MB 台式机
Intel HD Graphics 5000 0x0a260000 3 1 1 1 209MB 台式机
0x0c260000 3 1 1 1 209MB 台式机
Intel Iris Pro Graphics 5200 0x0d260000 3 1 1 1 209MB 台式机
0x0a26000d 2 131MB 台式机
0x0d220003 iMac14,1
iMac14,4
3 1 2 52MB 台式机,默认
Intel HD Graphics 4600 0x04120004 0 1MB 台式机,默认
空Framebuffer
0x0412000b 0 1MB 台式机
Intel HD Graphics 5000 0x0a260005 3 1 2 52MB 笔记本
Intel HD Graphics 5000 0x0a260006 MacBookAir6,1
MacBookAir6,2
Macmini7,1
3 1 2 52MB 笔记本
Intel Iris Pro Graphics 5200 0x0d260007 MacBookPro11,2
MacBookPro11,3
4 1 2 1 99MB 笔记本
0x0d260009 1 99MB 笔记本
0x0d26000a 3 52MB 台式机
0x0d26000e 4 131MB 笔记本
0x0d26000f 1 131MB 笔记本
Intel Iris Graphics 5100 0x0a2e0008 MacBookPro11,1 3 1 2 99MB 笔记本
0x0a2e000a 3 52MB 台式机
0x0a2e000d 2 131MB 台式机
Intel HD Graphics 4600 0x0412000b iMac15,1 0
0x0a16000c 3 99MB 笔记本

支持的DevID如下。

1
2
3
4
5
0x0d26
0x0a26
0x0a2e
0x0d22
0x0412

对于台式机HD4400和笔记本HD4200/4400/4600,需要伪造device-id为12040000,列表如下。

属性 类型
AAPL,ig-platform-id Data 0600260A
device-id Data 12040000
framebuffer-cursormem Data 00009000
framebuffer-patch-enable Integer 1
hda-gfx String onboard-1

Broadwell

适用于10.10.2至今。

显卡型号 platform-id 机型 接口 LVDS DP eDP HDMI 总STOLEN内存 备注
0x16060000 3 1 1 1 32MB 台式机
0x160e0000 3 32MB 台式机
0x160e0001 3 1 2 60MB 笔记本
Intel HD Graphics 5500 0x16160000 3 1 1 1 32MB 台式机
Intel HD Graphics 5300 0x161e0000 3 1 1 1 32MB 台式机
Intel Iris Pro Graphics 6200 0x16220000 3 1 1 1 32MB 台式机
Intel HD Graphics 6000 0x16260000 3 1 1 1 32MB 台式机
Intel Iris Graphics 6100 0x162b0000 3 1 1 1
Intel HD Graphics 5300 0x161e0001 MacBook8,1 3 1 2 60MB 笔记本
0x16060002 3 1 2 56MB 笔记本
Intel HD Graphics 5500 0x16160002 3 1 2 56MB 笔记本
Intel Iris Pro Graphics 6200 0x16220002 3 1 2 56MB 笔记本
Intel HD Graphics 6000 0x16260002 3 1 2 56MB 笔记本
0x162b0000 3 32MB 台式机
Intel Iris Graphics 6100 0x162b0002 MacBookPro12,1 3 1 2 56MB 笔记本
Intel HD Graphics 5600 0x16120003 4 1 2 56MB 笔记本
Intel HD Graphics 6000 0x16260004 3 1 2 56MB 台式机
Intel Iris Graphics 6100 0x162b0004 3 1 2 56MB 台式机
Intel HD Graphics 6000 0x16260005 3 1 2 56MB 笔记本
Intel HD Graphics 6000 0x16260006 iMac16,1
MacBookAir7,1
MacBookAir7,2
3 1 2 56MB 笔记本,默认
Intel Iris Pro Graphics6200 0x16220007 iMac16,2 3 1 2 77MB 台式机,默认
Intel HD Graphics 6000 0x16200008 2 1 1
Intel Iris Graphics 6100 0x162b0008 2 1 2 69MB 台式机
0x16260008 2 69MB 台式机

支持的DevID如下。

1
2
3
4
5
6
7
8
9
10
11
0x0BD1
0x0BD2
0x0BD3
0x1606
0x160e
0x1616
0x161e
0x1626
0x1622
0x1612
0x162b

对于HD5000/HD5100/HD5200,属性列表如下。

属性 类型
AAPL,ig-platform-id Data 0600260A
framebuffer-cursormem Data 00009000
framebuffer-patch-enable Integer 1
hda-gfx String onboard-1

对于HD5300/HD5500/HD6000,属性列表如下。

属性 类型
AAPL,ig-platform-id Data 06002616
framebuffer-fbmem Data 00009000
framebuffer-patch-enable Integer 1
framebuffer-stolenmem Data 00003001
hda-gfx String onboard-1

对于HD5600,属性列表如下。

属性 类型
AAPL,ig-platform-id Data 06002616
device-id Data 26160000
framebuffer-fbmem Data 00009000
framebuffer-patch-enable Integer 1
framebuffer-stolenmem Data 00003001
hda-gfx String onboard-1

Skylake

适用于10.11.4至今。

显卡型号 platform-id 机型 接口 LVDS DP HDMI 总STOLEN内存 备注
Intel HD Graphics 530 0x19120000 3 3 56MB 台式机/笔记本,默认
Intel HD Graphics 520 0x19160000 3 1 2 56MB 笔记本,默认
Intel Iris Graphics 540 0x19260000 3 1 2 56MB 笔记本
Intel Iris Graphics 550 0x19270000 3 1 2 56MB 笔记本
Intel HD Graphics 530 0x191b0000 MacBookPro13,3 3 1 2 56MB 笔记本
Intel HD Graphics 515 0x191e0000 3 1 2 56MB 笔记本
Intel Iris Pro Graphics 580 0x193b0000 3 1 1 1 56MB 笔记本
Intel HD Graphics 530/4K* 0x193b0005 MacBookPro13,1 4 1 3 35MB 笔记本
Intel HD Graphics 510 0x19020001 0 1MB 台式机
Intel HD Graphics 530 0x19120001 0 1MB 台式机,默认
空Framebuffer
0x19170001 0 1MB 台式机
Intel Iris Pro Graphics 580 0x19320001 0 1MB 台式机
Intel HD Graphics 520 0x19160002 3 1 2 58MB 笔记本
Intel Iris Graphics 540 0x19260002 MacBookPro13,1 3 1 2 58MB 笔记本
Intel HD Graphics 515 0x191e0003 MacBook9,1 3 1 2 41MB 笔记本
Intel Iris Graphics 540 0x19260004 3 1 2 35MB 笔记本
Intel Iris Graphics 550 0x19270004 MacBookPro13,2 3 1 2 58MB 笔记本
Intel HD Graphics 530 0x191b0006 1 39MB 笔记本
Intel Iris Graphics 540 0x19260007 3 1 2 35MB 笔记本

支持的DevID如下。

1
2
3
4
5
6
7
8
9
10
0x1916
0x191E
0x1926
0x1927
0x1912
0x1932
0x1902
0x1917
0x193B
0x191B

对于HD515/HD520/HD530/HD540(第六代),属性列表如下。

属性 类型
AAPL,GfxYTile Data 01000000
AAPL,ig-platform-id Data 00001B19
framebuffer-cursormem Data 00009000
framebuffer-patch-enable Integer 1
framebuffer-stolenmem Data 00003001
hda-gfx String onboard-1

对于HD550/P530,属性列表如下。

属性 类型
AAPL,GfxYTile Data 01000000
AAPL,ig-platform-id Data 00002619
device-id Data 26190000
framebuffer-cursormem Data 00009000
framebuffer-patch-enable Integer 1
framebuffer-stolenmem Data 00003001
hda-gfx String onboard-1

Kaby Lake & Amber Lake Y

适用于10.12.6至今。UHD617 Amber Lake Y适用于10.14至今。

显卡型号 platform-id 机型 接口 LVDS DP HDMI 总STOLEN内存 备注
Intel HD Graphics 630 0x59120000 iMac18,2
iMac18,3
3 3 39MB 台式机
Intel HD Graphics 630 0x59120003 FCPX加速用 0 台式机,默认
空Framebuffer
Intel HD Graphics 620 0x59160000 MacBookPro14,2 3 1 2 35MB 台式机/笔记本,默认
Intel HD Graphics 620 0x59160009 3 1 2 39MB 笔记本
0x59180002 0 1MB 笔记本
0x59180003 0 1MB 笔记本
Intel HD Graphics 630 0x591b0000 MacBookPro14,3 3 1 2 39MB 笔记本,默认
Intel HD Graphics 630 0x591b0006 1 1 39MB 笔记本
0x591c0005 3 1 2 58MB 笔记本
Intel HD Graphics 615 0x591e0000 3 1 2 35MB 笔记本
Intel HD Graphics 615 0x591e0001 MacBook10,1 3 1 2 39MB 笔记本
Intel HD Graphics 635 0x59230000 3 1 2 39MB 台式机
Intel Iris Plus Graphics 640 0x59260000 3 1 2 39MB 台式机
Intel Iris Plus Graphics 640 0x59260002 MacBookPro14,1
iMac18,1
3 1 2 58MB 笔记本
Intel Iris Plus Graphics 640 0x59260007 3 1 2 79MB 台式机
Intel Iris Plus Graphics 650 0x59270000 3 1 2 39MB 台式机
Intel Iris Plus Graphics 650 0x59270004 MacBookPro14,2 3 1 2 58MB 笔记本
Intel Iris Plus Graphics 650 0x59270009 3 1 2 39MB 笔记本
Intel UHD Graphics 617 0x87c00000 3 1 2 35MB 笔记本
Intel UHD Graphics 617 0x87c00005 MacBookAir8,1 3 1 2 58MB 笔记本

支持的DevID如下。

1
2
3
4
5
6
7
8
9
10
11
12
# KBL
0x5912
0x5916
0x591B
0x591C
0x591E
0x5926
0x5927
0x5923

# ABL
0x87C0

对于UHD620,需要伪造device-id为16590000。

对于HD615/HD620/HD630/HD640/HD650(第七代),属性列表如下。

属性 类型
AAPL,GfxYTile Data 01000000
AAPL,ig-platform-id Data 00001B59
device-id Data 16590000
framebuffer-fbmem Data 00009000
framebuffer-patch-enable Integer 1
framebuffer-stolenmem Data 00003001
hda-gfx String onboard-1

Coffee Lake & Comet Lake

适用于10.14至今。UHD630 Comet Lake适用于10.15.4至今。

显卡型号 platform-id 机型 接口 LVDS DP 总STOLEN内存 备注
0x3E000000 3 1 2 58MB 笔记本
Intel UHD Graphics 630 0x3E910003 FCPX加速用 0 1MB 台式机,默认
空Framebuffer
Intel UHD Graphics 630 0x3E920000 3 1 2 58MB 笔记本
Intel UHD Graphics 630 0x3E920003 FCPX加速用 0 1MB 台式机
Intel UHD Graphics 630 0x3E920009 1 1 58MB 笔记本
Intel UHD Graphics 630 0x3E980003 iMac19,1
FCPX加速用
0 1MB 台式机
Intel UHD Graphics 630 0x3E9B0000 3 1 2 58MB 笔记本
Intel UHD Graphics 630 0x3E9B0006 MacBookPro15,1 1 1 39MB 笔记本
Intel UHD Graphics 630 0x3E9B0007 Macmini8,1
iMac19,2
3 3 58MB 台式机
若在Catalina中收到黑屏,则换用0x3E9B0000或0x3E920003
Intel UHD Graphics 630 0x3E9B0008 1 1 58MB 笔记本
Intel UHD Graphics 630 0x3E9B0009 3 1 2 58MB 笔记本
Intel UHD Graphics 630 0x3EC40003
Intel UHD Graphics 630 0x3EC50003
Intel UHD Graphics 630 0x3EC80003
Intel Iris Plus Graphics 655 0x3EA50000 3 1 2 58MB 台式机/笔记本,默认
Intel Iris Plus Graphics 655 0x3EA50004 MacBookPro15,2 3 1 2 58MB 笔记本
Intel Iris Plus Graphics 655 0x3EA50005 3 1 2 58MB 笔记本
Intel Iris Plus Graphics 655 0x3EA50009 3 1 2 58MB 笔记本,默认
Intel Iris Plus Graphics 655 0x3EA60005 3 1 2 58MB 笔记本
0x9BC80003 0 1MB 台式机,默认
空Framebuffer
0x9BC50003 0 1MB 台式机
0x9BC40003 0 1MB 台式机

支持的DevID如下。

1
2
3
4
5
6
7
8
9
10
11
12
# CFL
0x3E9B
0x3EA5
0x3EA6
0x3E92
0x3E91
0x3E98

# CML
0x9BC8
0x9BC5
0x9BC4

对于9代Coffee Lake Refresh,需要伪造device-id为923E0000。10.14.4无需该修补。

对于(U)HD620/(U)HD630(第八代),需要伪造device-id为A53E0000。属性列表如下。

属性 类型
AAPL,GfxYTile Data 01000000
AAPL,ig-platform-id Data 0900A53E
device-id Data A53E0000
framebuffer-fbmem Data 00009000
framebuffer-patch-enable Integer 1
framebuffer-stolenmem Data 00003001
hda-gfx String onboard-1

对于HD620/HD630(第九代),属性列表如下。

属性 类型
igfxfw Data 02000000
hda-gfx String onboard-1
framebuffer-stolenmem Data 00003001
framebuffer-patch-enable Integer 1
AAPL,GfxYTile Data 01000000
AAPL,ig-platform-id Data 09009B3E
device-id Data 9B3E0000
framebuffer-fbmem Data 00009000

Ice Lake

适用于10.15.4至今。

显卡型号 platform-id 机型 接口 LVDS DP STOLEN 备注
Intel HD Graphics ICL SIM 0xFF050000 3 1 2 193MB? 笔记本
Intel HD Graphics ICL RVP 0x8A710000 6 1 5 193MB? 笔记本
Intel HD Graphics ICL RVP 0x8A700000 6 1 5 193MB? 笔记本
Intel HD Graphics ICL RVP 0x8A510000 6 1 5 193MB? 笔记本
Intel HD Graphics ICL RVP 0x8A5C0000 6 1 5 193MB? 笔记本
Intel HD Graphics ICL RVP 0x8A5D0000 6 1 5 193MB? 笔记本
Intel HD Graphics ICL RVP 0x8A520000 6 1 5 193MB? 笔记本,默认
Intel HD Graphics ICL RVP 0x8A530000 6 1 5 193MB? 笔记本
Intel HD Graphics ICL RVP 0x8A5A0000 6 1 5 193MB? 笔记本
Intel HD Graphics ICL RVP 0x8A5B0000 6 1 5 193MB? 笔记本
Intel HD Graphics ICL RVP BigSur 0x8A710001 5 1 4 193MB? 笔记本
Intel HD Graphics ICL RVP BigSur 0x8A700001 5 1 4 193MB? 笔记本
Intel HD Graphics ICL RVP BigSur 0x8A510001 3 1 2 193MB? 笔记本
Intel HD Graphics ICL RVP BigSur 0x8A5C0001 3 1 2 193MB? 笔记本
Intel HD Graphics ICL RVP BigSur 0x8A5D0001 3 1 2 193MB? 笔记本
Intel HD Graphics ICL RVP BigSur 0x8A520001 5 1 4 193MB? 笔记本
Intel HD Graphics ICL RVP BigSur 0x8A530001 5 1 4 193MB? 笔记本
Intel HD Graphics ICL RVP BigSur 0x8A5A0001 5 1 4 193MB? 笔记本
Intel HD Graphics ICL RVP BigSur 0x8A5B0001 5 1 4 193MB? 笔记本
Intel Iris Plus Graphics 0x8A510002 3 1 2 193MB? 笔记本
Intel Iris Plus Graphics 0x8A5C0002 3 1 2 193MB? 笔记本
Intel Iris Plus Graphics 0x8A520002 5 1 4 193MB? 笔记本
Intel Iris Plus Graphics 0x8A530002 5 1 4 193MB? 笔记本

支持的DevID如下。

1
2
3
4
5
6
7
8
9
10
0xff05
0x8A70
0x8A71
0x8A51
0x8A5C
0x8A5D
0x8A52
0x8A53
0x8A5A
0x8A5B

对于第十代显卡,属性列表如下。

属性 类型
AAPL,GfxYTile Data 01000000
AAPL,ig-platform-id Data 0900528A
device-id Data 528A0000
disable-external-gpu Data 01000000
enable-hdmi20 Data 01000000
framebuffer-fbmem Data 00009000
framebuffer-patch-enable Data 01000000
framebuffer-stolenmem Data 00003001
framebuffer-unifiedmem Data 00000080
hda-gfx String onboard-1
igfxfw Data 02000000

AMD支持列表

一般而言,对于AMD,最新版本的Mac支持基于GCN的AMD CPU。

各型号兼容性列表如下。

1
https://sites.google.com/view/hardhack/videocards/amd-radeon-graphics

若使用MSI Navi 5700XT,安装Catalina时将会崩溃。可在OpenCore临时使用以下补丁处理。

1
2
3
4
Find: 41 54 59 2C 52  6F 6D 23 00
Replace: 41 4D 44 2C 52 6F 6D 23 00
Identifier: com.apple.kext.AMDRadeonX6000Framebuffer
Count: 1
架构 最早支持版本 最后支持版本 型号 备注
X800 10.3.x 10.7.5 需要32位内核
X1000 10.4.x 10.7.5 X1900 XT
X1600
X1300
Terascale 10.4.x 10.13.6
Terascale 2/3 10.6.x 10.13.6
GCN 1 10.8.3 至今
GCN 2/3 10.10.x 至今
HD 2000 Series(2xxx) 10.4 10.13.6 HD 2600 XT
HD 2400 XT
HD 3000 Series(3xxx) 10.4 10.13.6 HD 3870
HD 4000 Series(4xxx) 10.6 10.13.6 HD 4870
HD 5000 Series(5xxx) 10.6 10.13.6 HD 5450
HD 5470
HD 5570
HD 5630
HD 5670
HD 5690
HD 5730
HD 5770
HD 5850
HD 5870
HD 6000 Series(6xxx) 10.6 10.13.6 HD 6230
HD 6250
HD 6350
HD 6450
HD 6570
HD 6510
HD 6610
HD 6670
HD 6790
HD 6850
HD 6870
HD 6950
HD 6970
FirePro V7900
HD 7000 Series(7xxx) 10.8 至今 Dual AMD FirePro D300
Dual AMD FirePro D500
Dual AMD FirePro D700
FirePro W5100(FakeID needed)
FirePro W7000
FirePro W900s0
HD 7700
HD 7730
HD 7750
HD 7770
HD 7790
HD 7850
HD 7870
HD 7870 XT
HD 7950
HD 7970
HD 7990
启动标志radpg=15用于HD 7730/7750/7770,R7 250,R7 250X GPU初始化
HD 8000 Series(8xxx) 10.8 至今 HD 8740
HD 8760
HD 8770
HD 8850
HD 8870
HD 8890
HD 8950
HD 8970
Radeon R7/R9 10.10.x 至今 R9 Fury X
R9 Fury
R9 Nano
R9 390(需要FakeID)
R9 290X/390X
R9 290/390(需要FakeID)
R9 280/380(需要FakeID)
R9 270X/370X
R7 270/370(需要FakeID)
R7 265
R7 260x/360x
R9 260/360(某些机器需要FakeID)
R9 255
R7 250X
R7 250(需要FakeID)
R7 240(需要FakeID)
Sapphire卡对Big Sur的兼容性最好
R9 280x/380x不支持Big Sur
启动标志radpg=15用于HD 7730/7750/7770,R7 250,R7 250X GPU初始化
启动标志-raddvi用于在290X/370上修复DVI
Polaris 10/20 10.12.1 至今 RX 480
RX 470D
RX 470
RX 460
RX 590
RX 580X
RX 580
RX 570X
RX 570
RX 560X
RX 560
WX 5100
WX 4100
E9550
不要使用XFX
Vega 10 10.12.6 至今 Vega 64 Liquid
Vega 64
Vega 56
Vega Frontier Edition
Radeon Pro WX 9100
Radeon Pro WX 7100
不要使用XFX
Vega 20 10.14.5 至今 Radeon VII
Navi 10 10.15.1 至今 RX 5500
RX 5500 XT
RX 5600
RX 5600 XT
RX 5700
RX 5700 XT
RX 5700 XT 50周年纪念版
Radeon Pro W5500
Radeon Pro W5700
需要启动参数agdpmod=pikera
若使用MSI Navi 5700XT,在安装Catalina时将会崩溃,Big Sur中该问题已修复
Navi 20 11.4 RX 6800
RX 6800 XT
RX 6900 XT
需要启动参数agdpmod=pikera
Lexa WX 3100
WX 2100
RX 550X
RX 550
RX 540X
RX 540
无可用驱动
对于RX 550,Lexa内核不支持(Stream Processors 512 (CUs 8)、Memory Speed 1750MHz (7000Mz effective)、Reference Clock 1183MHz),Baffin内核则支持(Stream Processors 640 (CUs 10)、Memory Speed 1500MHz (6000Mz effective)、Reference Clock 1071MHz)
AMD APU Vega 11(Zen)
Vega 8(Zen)
GCN 3(Escavator Gen 2, Steamroller)
GCN 2(Escavator Gen 1, Puma, Puma +)
无可用驱动

AMD PCI ID列表

Vendor ID Device ID Name Note
1002 0048
1002 1002
1002 1300
1002 1301
1002 1302
1002 1304 Kaveri
1002 1305 Kaveri
1002 1306 Kaveri
1002 1307 Kaveri
1002 1308 Kaveri HDMI/DP Audio Controller
1002 1309 Kaveri [Radeon R6/R7 Graphics]
1002 130a Kaveri [Radeon R6 Graphics]
1002 130b Kaveri [Radeon R4 Graphics]
1002 130c Kaveri [Radeon R7 Graphics]
1002 130d Kaveri [Radeon R6 Graphics]
1002 130e Kaveri [Radeon R5 Graphics]
1002 130f Kaveri [Radeon R7 Graphics]
1002 1310 Kaveri
1002 1311 Kaveri
1002 1312 Kaveri
1002 1313 Kaveri [Radeon R7 Graphics]
1002 1314 Wrestler HDMI Audio
1002 1315 Kaveri [Radeon R5 Graphics]
1002 1316 Kaveri [Radeon R5 Graphics]
1002 1317 Kaveri
1002 1318 Kaveri [Radeon R5 Graphics]
1002 131b Kaveri [Radeon R4 Graphics]
1002 131c Kaveri [Radeon R7 Graphics]
1002 131d Kaveri [Radeon R6 Graphics]
1002 1320
1002 1321
1002 1322
1002 1323
1002 1324
1002 1325
1002 1326
1002 1327
1002 1328
1002 1329
1002 132a
1002 132b
1002 132c
1002 132d
1002 132f
1002 13e9 Ariel
1002 145b
1002 1478 Navi 10 XL Upstream Port of PCI Express Switch
1002 1479 Navi 10 XL Downstream Port of PCI Express Switch
1002 154c Kryptos [Radeon RX 350]
1002 154e Garfield
1002 1551 Arlene
1002 1552 Pooky
1002 1561 Anubis
1002 15d8 Picasso
1002 15dd Raven Ridge [Radeon Vega Series / Radeon Vega Mobile Series]
1002 15de Raven/Raven2/Fenghuang HDMI/DP Audio Controller
1002 15df Raven/Raven2/Fenghuang/Renoir Cryptographic Coprocessor
1002 15ff Fenghuang [Zhongshan Subor Z+]
1002 1607 Arden
1002 1636 Renoir
1002 1638 Cezanne
1002 163f VanGogh
1002 164c Lucienne
1002 1714 BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series]
1002 2191
1002 3150 RV380/M24 [Mobility Radeon X600]
1002 3151 RV380 GL [FireMV 2400]
1002 3152 RV370/M22 [Mobility Radeon X300]
1002 3154 RV380/M24 GL [Mobility FireGL V3200]
1002 3155 RV380 GL [FireMV 2400]
1002 3171 RV380 GL [FireMV 2400] (Secondary)
1002 3e50 RV380 [Radeon X550/X600]
1002 3e54 RV380 GL [FireGL V3200]
1002 3e70 RV380 [Radeon X550/X600] (Secondary)
1002 4136 RS100 [Mobility IGP 320M]
1002 4137 RS200 [Radeon IGP 340]
1002 4144 R300 [Radeon 9500]
1002 4145
1002 4146 R300 [Radeon 9700 PRO]
1002 4147 R300 GL [FireGL Z1]
1002 4148 R350 [Radeon 9800/9800 SE]
1002 4149
1002 414a
1002 414b
1002 4150 RV350 [Radeon 9550/9600/X1050 Series]
1002 4151 RV350 [Radeon 9600 Series]
1002 4152 RV360 [Radeon 9600/X1050 Series]
1002 4153 RV350 [Radeon 9550]
1002 4154 RV350 GL [FireGL T2]
1002 4155 RV350 [Radeon 9600]
1002 4156
1002 4157 RV350 GL [FireGL T2]
1002 4158 68800AX [Graphics Ultra Pro PCI]
1002 4164 R300 [Radeon 9500 PRO] (Secondary)
1002 4165 R300 [Radeon 9700 PRO] (Secondary)
1002 4166 R300 [Radeon 9700 PRO] (Secondary)
1002 4168 RV350 [Radeon 9800 SE] (Secondary)
1002 4170 RV350 [Radeon 9550/9600/X1050 Series] (Secondary)
1002 4171 RV350 [Radeon 9600] (Secondary)
1002 4172 RV350 [Radeon 9600/X1050 Series] (Secondary)
1002 4173 RV350 [Radeon 9550] (Secondary)
1002 4237
1002 4242 R200 [All-In-Wonder Radeon 8500 DV]
1002 4243 R200 PCI Bridge [All-in-Wonder Radeon 8500DV]
1002 4336 RS100 [Radeon IGP 320M]
1002 4337 RS200M [Radeon IGP 330M/340M/345M/350M]
1002 4341 SB200 AC97 Audio Controller
1002 4342 SB200 PCI to PCI Bridge
1002 4345 SB200 EHCI USB Controller
1002 4346 Crayola 6 [XENOS Parent Die (XBOX 360)]
1002 4347 SB200 OHCI USB Controller #1
1002 4348 SB200 OHCI USB Controller #2
1002 4349 SB200 IDE Controller
1002 434c SB200 PCI to LPC Bridge
1002 434d SB200 AC97 Modem Controller
1002 4353 SB200 SMBus Controller
1002 4354 215CT [Mach64 CT PCI]
1002 4358 Mach64 CX [Graphics Xpression]
1002 4361 SB300 AC’97 Audio Controller
1002 4362 SB300 PCI to PCI Bridge
1002 4363 SB300 SMBus Controller
1002 4365 SB300 USB Controller (EHCI)
1002 4367 SB300 USB Controller (EHCI)
1002 4368 SB300 USB Controller (EHCI)
1002 4369 SB300 IDE Controller
1002 436c SB300 PCI to LPC Bridge
1002 436d SB300 AC97 Modem Controller
1002 436e SB300 Serial ATA Controller
1002 4370 IXP SB400 AC’97 Audio Controller
1002 4371 IXP SB4x0 PCI-PCI Bridge
1002 4372 IXP SB4x0 SMBus Controller
1002 4373 IXP SB4x0 USB2 Host Controller
1002 4374 IXP SB4x0 USB Host Controller
1002 4375 IXP SB4x0 USB Host Controller
1002 4376 IXP SB4x0 IDE Controller
1002 4377 IXP SB4x0 PCI-ISA Bridge
1002 4378 IXP SB400 AC’97 Modem Controller
1002 4379 IXP SB4x0 Serial ATA Controller
1002 437a IXP SB400 Serial ATA Controller
1002 437b IXP SB4x0 High Definition Audio Controller
1002 4380 SB600 Non-Raid-5 SATA
1002 4381 SB600 SATA Controller (RAID 5 mode)
1002 4382 SB600 AC97 Audio
1002 4383 SBx00 Azalia (Intel HDA)
1002 4384 SBx00 PCI to PCI Bridge
1002 4385 SBx00 SMBus Controller
1002 4386 SB600 USB Controller (EHCI)
1002 4387 SB600 USB (OHCI0)
1002 4388 SB600 USB (OHCI1)
1002 4389 SB600 USB (OHCI2)
1002 438a SB600 USB (OHCI3)
1002 438b SB600 USB (OHCI4)
1002 438c SB600 IDE
1002 438d SB600 PCI to LPC Bridge
1002 438e SB600 AC97 Modem
1002 4390 SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode]
1002 4391 SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]
1002 4392 SB7x0/SB8x0/SB9x0 SATA Controller [Non-RAID5 mode]
1002 4393 SB7x0/SB8x0/SB9x0 SATA Controller [RAID5 mode]
1002 4394 SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]
1002 4395 SB8x0/SB9x0 SATA Controller [Storage mode]
1002 4396 SB7x0/SB8x0/SB9x0 USB EHCI Controller
1002 4397 SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
1002 4398 SB7x0 USB OHCI1 Controller
1002 4399 SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
1002 439c SB7x0/SB8x0/SB9x0 IDE Controller
1002 439d SB7x0/SB8x0/SB9x0 LPC host controller
1002 43a0 SB700/SB800/SB900 PCI to PCI bridge (PCIE port 0)
1002 43a1 SB700/SB800/SB900 PCI to PCI bridge (PCIE port 1)
1002 43a2 SB900 PCI to PCI bridge (PCIE port 2)
1002 43a3 SB900 PCI to PCI bridge (PCIE port 3)
1002 4437 RS250 [Mobility Radeon 7000 IGP]
1002 4554 210888ET [Mach64 ET]
1002 4630 XENOS Parent Die (XBOX 360)
1002 4631 XENOS Daughter Die (XBOX 360)
1002 4654 Mach64 VT
1002 4742 Rage 3 [3D Rage PRO AGP 2X]
1002 4744 Rage 3 [3D Rage PRO AGP 1X]
1002 4747
1002 4748
1002 4749 3D Rage PRO PCI
1002 474c
1002 474d Rage XL AGP 2X
1002 474e Rage XC AGP
1002 474f Rage XL
1002 4750 3D Rage Pro PCI
1002 4751
1002 4752 Rage 3 [Rage XL PCI]
1002 4753 Rage XC
1002 4754 Mach64 GT/GT-B [3D Rage I/II]
1002 4755 Mach64 GT-B [3D Rage II+ DVD]
1002 4756 Rage 2 [3D Rage IIC PCI]
1002 4757 Rage 2 [3D Rage IIC AGP]
1002 4758 Mach64 GX [WinTurbo]
1002 4759 Rage 3 [3D Rage IIC PCI]
1002 475a 3D Rage IIC AGP
1002 4845 Xilleon 220 HBIU for HDTV2
1002 4846 Xilleon 220 IDE for HDTV2
1002 4847 Xilleon 220 USB for HDTV2
1002 4848 Xilleon 220 DAIO-0 for HDTV2
1002 4849 Xilleon 220 DAIO-1 for HDTV2
1002 484a Xilleon 220 LPC for HDTV2
1002 4850 Xilleon 215 HBIU for X215
1002 4851 Xilleon 215 IDE for X215
1002 4852 Xilleon 215 USB for X215
1002 4853 Xilleon 215 DAIO-0 for X215
1002 4854 Xilleon 215 DAIO-1 for X215
1002 4855 Xilleon 225 HBIU for X225
1002 4856 Xilleon 225 IDE for X225
1002 4857 Xilleon 225 USB for X225
1002 4858 Xilleon 225 DAIO-0 for X225
1002 4859 Xilleon 225 DAIO-1 for X225
1002 4860 Xilleon 210 HBIU for X210
1002 4861 Xilleon 210 IDE for X210
1002 4862 Xilleon 210 USB for X210
1002 4863 Xilleon 210 DAIO-0 for X210
1002 4864 Xilleon 210 DAIO-1 for X210
1002 4865 Xilleon 226 HBIU for X226
1002 4866 Xilleon 226 IDE for X226
1002 4867 Xilleon 226 USB for X226
1002 4868 Xilleon 226 DAIO-0 for X226
1002 4869 Xilleon 226 DAIO-1 for X226
1002 486a Xilleon 240S HBIU for X240S
1002 486b Xilleon 240H HBIU for X240H
1002 486c Xilleon 240S USB for X240S
1002 486d Xilleon 240H USB for X240H
1002 486e Xilleon 250 USB 1.1 for X250
1002 486f Xilleon 260 USB 1.1 for X260
1002 4870 Xilleon 250 HBIU for X250
1002 4871 Xilleon 250 IDE for X250
1002 4872 Xilleon 234/235 HBIU for X234/X235
1002 4873 Xilleon 244/245 HBIU for X244/X245
1002 4874 Xilleon 234/235 USB 1.1 for X234/X235
1002 4875 Xilleon 260 HBIU for X260
1002 4876 Xilleon 260 IDE for X260
1002 4877 Xilleon 244/245 USB 1.1 for X244/X245
1002 4878 Xilleon 270 HBIU for X270
1002 487b Xilleon 242 HBIU for X242
1002 487d Xilleon 242 USB 1.1 for X242
1002 4880 Xilleon 254 HBIU for X254
1002 4881 Xilleon 254 USB 1.1 for X254
1002 4882 Xilleon 255 HBIU for X255
1002 4883 Xilleon 255 USB 1.1 for X255
1002 4884 Xilleon 243 HBIU for X243
1002 4885 Xilleon 243 USB 1.1 for X243
1002 4886 Xilleon 233 HBIU for X233
1002 4887 Xilleon 233 USB 1.1 for X233
1002 4888 Xilleon 143 HBIU for X143
1002 4889 Xilleon 143 HBIU for X143L
1002 488a Xilleon 143 HBIU for X143S
1002 4964
1002 4965
1002 4966 RV250 [Radeon 9000 Series]
1002 4967
1002 496e RV250 [Radeon 9000] (Secondary)
1002 4a48
1002 4a49 R420 [Radeon X800 PRO/GTO AGP]
1002 4a4a R420 [Radeon X800 GT AGP]
1002 4a4b R420 [Radeon X800 AGP Series]
1002 4a4c
1002 4a4d R420 GL [FireGL X3-256]
1002 4a4e RV420/M18 [Mobility Radeon 9800]
1002 4a4f R420 [Radeon X850 AGP]
1002 4a50 R420 [Radeon X800 XT Platinum Edition AGP]
1002 4a54 R420 [Radeon X800 VE AGP]
1002 4a69 R420 [Radeon X800 PRO/GTO] (Secondary)
1002 4a6a R420 [Radeon X800] (Secondary)
1002 4a6b R420 [Radeon X800 XT AGP] (Secondary)
1002 4a70 R420 [Radeon X800 XT Platinum Edition AGP] (Secondary)
1002 4a74 R420 [Radeon X800 VE] (Secondary)
1002 4b48
1002 4b49 R481 [Radeon X850 XT AGP]
1002 4b4a
1002 4b4b R481 [Radeon X850 PRO AGP]
1002 4b4c R481 [Radeon X850 XT Platinum Edition AGP]
1002 4b69 R481 [Radeon X850 XT AGP] (Secondary)
1002 4b6b R481 [Radeon X850 PRO AGP] (Secondary)
1002 4b6c R481 [Radeon X850 XT Platinum Edition AGP] (Secondary)
1002 4c42 Mach64 LT [3D Rage LT PRO AGP]
1002 4c44
1002 4c45
1002 4c46 Rage Mobility 128 AGP 2X/Mobility M3
1002 4c47 3D Rage IIC PCI / Mobility Radeon 7500/7500C
1002 4c49 3D Rage LT PRO PCI
1002 4c4d Rage Mobility AGP 2x Series
1002 4c4e
1002 4c50 Rage 3 LT [3D Rage LT PRO PCI]
1002 4c51
1002 4c52 M1 [Rage Mobility-M1 PCI]
1002 4c53
1002 4c54 264LT [Mach64 LT]
1002 4c57 RV200/M7 [Mobility Radeon 7500]
1002 4c58 RV200/M7 GL [Mobility FireGL 7800]
1002 4c59 RV100/M6 [Rage/Radeon Mobility Series]
1002 4c5a
1002 4c64
1002 4c65
1002 4c66 RV250/M9 GL [Mobility FireGL 9000/Radeon 9000]
1002 4c67
1002 4c6e RV250/M9 [Mobility Radeon 9000] (Secondary)
1002 4d46 Rage Mobility 128 AGP 4X/Mobility M4
1002 4d4c
1002 4d52 Theater 550 PRO PCI [ATI TV Wonder 550]
1002 4d53 Theater 550 PRO PCIe
1002 4e44 R300 [Radeon 9700/9700 PRO]
1002 4e45 R300 [Radeon 9500 PRO/9700]
1002 4e46 R300 [Radeon 9600 TX]
1002 4e47 R300 GL [FireGL X1]
1002 4e48 R350 [Radeon 9800 Series]
1002 4e49 R350 [Radeon 9800]
1002 4e4a R360 [Radeon 9800 XXL/XT]
1002 4e4b R350 GL [FireGL X2 AGP Pro]
1002 4e50 RV350/M10 / RV360/M11 [Mobility Radeon 9600 (PRO) / 9700]
1002 4e51 RV350 [Radeon 9550/9600/X1050 Series]
1002 4e52 RV350/M10 [Mobility Radeon 9500/9700 SE]
1002 4e53
1002 4e54 RV350/M10 GL [Mobility FireGL T2]
1002 4e56 RV360/M12 [Mobility Radeon 9550]
1002 4e64 R300 [Radeon 9700 PRO] (Secondary)
1002 4e65 R300 [Radeon 9500 PRO] (Secondary)
1002 4e66 RV350 [Radeon 9600] (Secondary)
1002 4e67 R300 GL [FireGL X1] (Secondary)
1002 4e68 R350 [Radeon 9800 PRO] (Secondary)
1002 4e69 R350 [Radeon 9800] (Secondary)
1002 4e6a RV350 [Radeon 9800 XT] (Secondary)
1002 4e71 RV350/M10 [Mobility Radeon 9600] (Secondary)
1002 4f72 RV250 [Radeon 9000 Series]
1002 4f73 RV250 [Radeon 9000 Series] (Secondary)
1002 5041
1002 5042
1002 5043
1002 5044 All-In-Wonder 128 PCI
1002 5045
1002 5046 Rage 4 [Rage 128 PRO AGP 4X]
1002 5047
1002 5048
1002 5049
1002 504a
1002 504b
1002 504c
1002 504d
1002 504e
1002 504f
1002 5050 Rage 4 [Rage 128 PRO PCI / Xpert 128 PCI]
1002 5051
1002 5052 Rage 4 [Rage 128 PRO AGP 4X]
1002 5053
1002 5054
1002 5055
1002 5056
1002 5057
1002 5058
1002 5144 R100 [Radeon 7200 / All-In-Wonder Radeon]
1002 5145
1002 5146
1002 5147
1002 5148 R200 GL [FireGL 8800]
1002 5149
1002 514a
1002 514b
1002 514c R200 [Radeon 8500/8500 LE]
1002 514d R200 [Radeon 9100]
1002 514e
1002 514f
1002 5154
1002 5155
1002 5157 RV200 [Radeon 7500/7500 LE]
1002 5158
1002 5159 RV100 [Radeon 7000 / Radeon VE]
1002 515a
1002 515e ES1000
1002 515f
1002 5168
1002 5169
1002 516a
1002 516b
1002 516c
1002 5245 Rage 128 GL PCI
1002 5246 Rage 128 (Rage 4) series
1002 5247
1002 524b Rage 128 VR PCI
1002 524c Rage 128 VR AGP
1002 5345
1002 5346
1002 5347
1002 5348
1002 534b
1002 534c
1002 534d Rage 128 4X AGP 4x
1002 534e
1002 5354 Mach 64 VT
1002 5446 Rage 128 PRO Ultra AGP 4x
1002 544c
1002 5452 Rage 128 PRO Ultra4XL VR-R AGP
1002 5453
1002 5454
1002 5455
1002 5460 RV370/M22 [Mobility Radeon X300]
1002 5461 RV370/M22 [Mobility Radeon X300]
1002 5462 RV380/M24C [Mobility Radeon X600 SE]
1002 5464 RV370/M22 GL [Mobility FireGL V3100]
1002 5548
1002 5549 R423 [Radeon X800 GTO]
1002 554a R423 [Radeon X800 XT Platinum Edition]
1002 554b R423 [Radeon X800 GT/SE]
1002 554c
1002 554d R480 [Radeon X800 GTO2/XL]
1002 554e R430 [All-In-Wonder X800 GT]
1002 554f R430 [Radeon X800]
1002 5550 R423 GL [FireGL V7100]
1002 5551 R423 GL [FireGL V5100]
1002 5552
1002 5554
1002 5555
1002 5569 R423 [Radeon X800 PRO] (Secondary)
1002 556b R423 [Radeon X800 GT] (Secondary)
1002 556d R480 [Radeon X800 GTO2/XL] (Secondary)
1002 556f R430 [Radeon X800] (Secondary)
1002 5571 R423 GL [FireGL V5100] (Secondary)
1002 564a
1002 564b RV410/M26 GL [Mobility FireGL V5000]
1002 564f RV410/M26 [Mobility Radeon X700 XL]
1002 5652 RV410/M26 [Mobility Radeon X700]
1002 5653 RV410/M26 [Mobility Radeon X700]
1002 5654 Mach64 VT [Video Xpression]
1002 5655 264VT3 [Mach64 VT3]
1002 5656 Mach64 VT4 [Video Xpression+]
1002 5657 RV410 [Radeon X550 XTX / X700]
1002 5830 RS300 Host Bridge
1002 5831 RS300 Host Bridge
1002 5832 RS300 Host Bridge
1002 5833 RS300 Host Bridge
1002 5834 RS300 [Radeon 9100 IGP]
1002 5835 RS300M [Mobility Radeon 9100 IGP]
1002 5838 RS300 AGP Bridge
1002 5854 RS480 [Radeon Xpress 200 Series] (Secondary)
1002 5874 RS480 [Radeon Xpress 1150] (Secondary)
1002 5940 RV280 [Radeon 9200 PRO] (Secondary)
1002 5941 RV280 [Radeon 9200] (Secondary)
1002 5944 RV280 [Radeon 9200 SE PCI]
1002 5950 RS480/RS482/RS485 Host Bridge
1002 5951 RX480/RX482 Host Bridge
1002 5952 RD580 Host Bridge
1002 5954 RS480 [Radeon Xpress 200 Series]
1002 5955 RS480M [Mobility Radeon Xpress 200]
1002 5956 RD790 Host Bridge
1002 5957 RX780/RX790 Host Bridge
1002 5958 RD780 Host Bridge
1002 5960 RV280 [Radeon 9200 PRO / 9250]
1002 5961 RV280 [Radeon 9200]
1002 5962 RV280 [Radeon 9200]
1002 5964 RV280 [Radeon 9200 SE]
1002 5965 RV280 GL [FireMV 2200 PCI]
1002 5969
1002 5974 RS482/RS485 [Radeon Xpress 1100/1150]
1002 5975 RS482M [Mobility Radeon Xpress 200]
1002 5978 RX780/RD790 PCI to PCI bridge (external gfx0 port A)
1002 5979 RD790 PCI to PCI bridge (external gfx0 port B)
1002 597a RD790 PCI to PCI bridge (PCI express gpp port A)
1002 597b RX780/RD790 PCI to PCI bridge (PCI express gpp port B)
1002 597c RD790 PCI to PCI bridge (PCI express gpp port C)
1002 597d RX780/RD790 PCI to PCI bridge (PCI express gpp port D)
1002 597e RD790 PCI to PCI bridge (PCI express gpp port E)
1002 597f RD790 PCI to PCI bridge (PCI express gpp port F)
1002 5980 RD790 PCI to PCI bridge (external gfx1 port A)
1002 5981 RD790 PCI to PCI bridge (external gfx1 port B)
1002 5982 RD790 PCI to PCI bridge (NB-SB link)
1002 5a10 RD890 Northbridge only dual slot (2x16) PCI-e GFX Hydra part
1002 5a11 RD890 Northbridge only single slot PCI-e GFX Hydra part
1002 5a12 RD890 Northbridge only dual slot (2x8) PCI-e GFX Hydra part
1002 5a13 RD890S/SR5650 Host Bridge
1002 5a14 RD9x0/RX980 Host Bridge
1002 5a15 RD890 PCI to PCI bridge (PCI express gpp port A)
1002 5a16 RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GFX port 0)
1002 5a17 RD890/RD9x0 PCI to PCI bridge (PCI Express GFX port 1)
1002 5a18 RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 0)
1002 5a19 RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 1)
1002 5a1a RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 2)
1002 5a1b RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 3)
1002 5a1c RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 4)
1002 5a1d RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 5)
1002 5a1e RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP2 Port 0)
1002 5a1f RD890/RD990 PCI to PCI bridge (PCI Express GFX2 port 0)
1002 5a20 RD890/RD990 PCI to PCI bridge (PCI Express GFX2 port 1)
1002 5a23 RD890S/RD990 I/O Memory Management Unit (IOMMU)
1002 5a31 RC410 Host Bridge
1002 5a33 RS400 Host Bridge
1002 5a34 RS4xx PCI Express Port [ext gfx]
1002 5a36 RC4xx/RS4xx PCI Express Port 1
1002 5a37 RC4xx/RS4xx PCI Express Port 2
1002 5a38 RC4xx/RS4xx PCI Express Port 3
1002 5a39 RC4xx/RS4xx PCI Express Port 4
1002 5a3f RC4xx/RS4xx PCI Bridge [int gfx]
1002 5a41 RS400 [Radeon Xpress 200]
1002 5a42 RS400M [Radeon Xpress 200M]
1002 5a43
1002 5a61 RC410 [Radeon Xpress 200/1100]
1002 5a62 RC410M [Mobility Radeon Xpress 200M]
1002 5a63
1002 5b60 RV370 [Radeon X300]
1002 5b62 RV370 [Radeon X600/X600 SE]
1002 5b63 RV370 [Radeon X300/X550/X1050 Series]
1002 5b64 RV370 GL [FireGL V3100]
1002 5b65 RV370 GL [FireMV 2200]
1002 5b66 RV370X
1002 5b70 RV370 [Radeon X300 SE]
1002 5b72 RV380 [Radeon X300/X550/X1050 Series] (Secondary)
1002 5b73 RV370 [Radeon X300/X550/X1050 Series] (Secondary)
1002 5b74 RV370 GL [FireGL V3100] (Secondary)
1002 5b75 RV370 GL [FireMV 2200] (Secondary)
1002 5c61 RV280/M9+ [Mobility Radeon 9200 AGP]
1002 5c63 RV280/M9+ [Mobility Radeon 9200 AGP]
1002 5d44 RV280 [Radeon 9200 SE] (Secondary)
1002 5d45 RV280 GL [FireMV 2200 PCI] (Secondary)
1002 5d48 R423/M28 [Mobility Radeon X800 XT]
1002 5d49 R423/M28 GL [Mobility FireGL V5100]
1002 5d4a R423/M28 [Mobility Radeon X800]
1002 5d4c
1002 5d4d R480 [Radeon X850 XT Platinum Edition]
1002 5d4e R480 [Radeon X850 SE]
1002 5d4f R480 [Radeon X800 GTO]
1002 5d50 R480 GL [FireGL V7200]
1002 5d51
1002 5d52 R480 [Radeon X850 XT]
1002 5d57 R423 [Radeon X800 XT]
1002 5d6d R480 [Radeon X850 XT Platinum Edition] (Secondary)
1002 5d6f R480 [Radeon X800 GTO] (Secondary)
1002 5d72 R480 [Radeon X850 XT] (Secondary)
1002 5d77 R423 [Radeon X800 XT] (Secondary)
1002 5e48 RV410 GL [FireGL V5000]
1002 5e49 RV410 [Radeon X700 Series]
1002 5e4a RV410 [Radeon X700 XT]
1002 5e4b RV410 [Radeon X700 PRO]
1002 5e4c RV410 [Radeon X700 SE]
1002 5e4d RV410 [Radeon X700]
1002 5e4f RV410 [Radeon X700]
1002 5e6b RV410 [Radeon X700 PRO] (Secondary)
1002 5e6d RV410 [Radeon X700] (Secondary)
1002 5f57 R423 [Radeon X800 XT]
1002 6600 Mars [Radeon HD 8670A/8670M/8750M / R7 M370]
1002 6601 Mars [Radeon HD 8730M]
1002 6602
1002 6603
1002 6604 Opal XT [Radeon R7 M265/M365X/M465]
1002 6605 Opal PRO [Radeon R7 M260X]
1002 6606 Mars XTX [Radeon HD 8790M]
1002 6607 Mars LE [Radeon HD 8530M / R5 M240]
1002 6608 Oland GL [FirePro W2100]
1002 6609 Oland GL [FirePro W2100 / Barco MXRT 2600]
1002 6610 Oland XT [Radeon HD 8670 / R5 340X OEM / R7 250/350/350X OEM]
1002 6611 Oland [Radeon HD 8570 / R5 430 OEM / R7 240/340 / Radeon 520 OEM]
1002 6613 Oland PRO [Radeon R7 240/340]
1002 6620
1002 6621
1002 6623
1002 6631 Oland
1002 6640 Saturn XT [FirePro M6100]
1002 6641 Saturn PRO [Radeon HD 8930M]
1002 6646 Bonaire XT [Radeon R9 M280X]
1002 6647 Saturn PRO/XT [Radeon R9 M270X/M280X]
1002 6649 Bonaire [FirePro W5100]
1002 664d Bonaire [FirePro W5100 / Barco MXRT-5600]
1002 6650 Bonaire
1002 6651 Bonaire
1002 6658 Bonaire XTX [Radeon R7 260X/360]
1002 665c Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM]
1002 665d Bonaire [Radeon R7 200 Series]
1002 665f Tobago PRO [Radeon R7 360 / R9 360 OEM]
1002 6660 Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430 / Radeon 520 Mobile]
1002 6663 Sun PRO [Radeon HD 8570A/8570M]
1002 6664 Jet XT [Radeon R5 M240]
1002 6665 Jet PRO [Radeon R5 M230 / R7 M260DX / Radeon 520 Mobile]
1002 6667 Jet ULT [Radeon R5 M230]
1002 666f Sun LE [Radeon HD 8550M / R5 M230]
1002 6670
1002 66a0 Vega 20 [Radeon Instinct]
1002 66a1 Vega 20 WKS GL-XE [Radeon Pro VII]
1002 66a2 Vega 20
1002 66a3 Vega 20 [Radeon Pro Vega II/Radeon Pro Vega II Duo]
1002 66a7 Vega 20 [Radeon Pro Vega 20]
1002 66af Vega 20 [Radeon VII]
1002 6700
1002 6701
1002 6702
1002 6703
1002 6704 Cayman PRO GL [FirePro V7900]
1002 6705
1002 6706
1002 6707 Cayman LE GL [FirePro V5900]
1002 6708
1002 6709
1002 6718 Cayman XT [Radeon HD 6970]
1002 6719 Cayman PRO [Radeon HD 6950]
1002 671c Antilles [Radeon HD 6990]
1002 671d Antilles [Radeon HD 6990]
1002 671f Cayman CE [Radeon HD 6930]
1002 6720 Blackcomb [Radeon HD 6970M/6990M]
1002 6721
1002 6722
1002 6723
1002 6724
1002 6725
1002 6726
1002 6727
1002 6728
1002 6729
1002 6738 Barts XT [Radeon HD 6870]
1002 6739 Barts PRO [Radeon HD 6850]
1002 673e Barts LE [Radeon HD 6790]
1002 6740 Whistler [Radeon HD 6730M/6770M/7690M XT]
1002 6741 Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M]
1002 6742 Whistler LE [Radeon HD 6610M/7610M]
1002 6743 Whistler [Radeon E6760]
1002 6744
1002 6745
1002 6746
1002 6747
1002 6748
1002 6749 Turks GL [FirePro V4900]
1002 674a Turks GL [FirePro V3900]
1002 6750 Onega [Radeon HD 6650A/7650A]
1002 6751 Turks [Radeon HD 7650A/7670A]
1002 6758 Turks XT [Radeon HD 6670/7670]
1002 6759 Turks PRO [Radeon HD 6570/7570/8550 / R5 230]
1002 675b Turks [Radeon HD 7600 Series]
1002 675d Turks PRO [Radeon HD 7570]
1002 675f Turks LE [Radeon HD 5570/6510/7510/8510]
1002 6760 Seymour [Radeon HD 6400M/7400M Series]
1002 6761 Seymour LP [Radeon HD 6430M]
1002 6762
1002 6763 Seymour [Radeon E6460]
1002 6764 Seymour [Radeon HD 6400M Series]
1002 6765 Seymour [Radeon HD 6400M Series]
1002 6766 Caicos
1002 6767 Caicos
1002 6768 Caicos
1002 6770 Caicos [Radeon HD 6450A/7450A]
1002 6771 Caicos XTX [Radeon HD 8490 / R5 235X OEM]
1002 6772 Caicos [Radeon HD 7450A]
1002 6778 Caicos XT [Radeon HD 7470/8470 / R5 235/310 OEM]
1002 6779 Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM]
1002 677b Caicos PRO [Radeon HD 7450]
1002 6780 Tahiti XT GL [FirePro W9000]
1002 6784 Tahiti [FirePro Series Graphics Adapter]
1002 6788 Tahiti [FirePro Series Graphics Adapter]
1002 678a Tahiti PRO GL [FirePro Series]
1002 6790
1002 6791
1002 6792
1002 6798 Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X]
1002 6799
1002 679a Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280]
1002 679b Malta [Radeon HD 7990/8990 OEM]
1002 679e Tahiti LE [Radeon HD 7870 XT]
1002 679f Tahiti
1002 67a0 Hawaii XT GL [FirePro W9100]
1002 67a1 Hawaii PRO GL [FirePro W8100]
1002 67a2 Hawaii GL
1002 67a8 Hawaii
1002 67a9 Hawaii
1002 67aa Hawaii
1002 67b0 Hawaii XT / Grenada XT [Radeon R9 290X/390X]
1002 67b1 Hawaii PRO [Radeon R9 290/390]
1002 67b8 Hawaii XT [Radeon R9 290X Engineering Sample]
1002 67b9 Vesuvius [Radeon R9 295X2]
1002 67ba
1002 67be Hawaii LE
1002 67c0 Ellesmere [Radeon Pro WX 7100 Mobile]
1002 67c2 Ellesmere [Radeon Pro V7300X / V7350x2]
1002 67c4 Ellesmere [Radeon Pro WX 7100]
1002 67c7 Ellesmere [Radeon Pro WX 5100]
1002 67ca Ellesmere [Polaris10]
1002 67cc Ellesmere [Polaris10]
1002 67cf Ellesmere [Polaris10]
1002 67d0 Ellesmere [Radeon Pro V7300X / V7350x2]
1002 67d7 Ellesmere [Radeon Pro WX 5100 / Barco MXRT-6700]
1002 67df Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]
1002 67e0 Baffin [Radeon Pro WX 4170]
1002 67e1 Baffin [Polaris11]
1002 67e3 Baffin [Radeon Pro WX 4100]
1002 67e8 Baffin [Radeon Pro WX 4130/4150]
1002 67e9 Baffin [Polaris11]
1002 67eb Baffin [Radeon Pro V5300X]
1002 67ef Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X]
1002 67ff Baffin [Radeon RX 550 640SP / RX 560/560X]
1002 6800 Wimbledon XT [Radeon HD 7970M]
1002 6801 Neptune XT [Radeon HD 8970M]
1002 6802 Wimbledon
1002 6806 Neptune
1002 6808 Pitcairn XT GL [FirePro W7000]
1002 6809 Pitcairn LE GL [FirePro W5000]
1002 6810 Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]
1002 6811 Curacao PRO [Radeon R7 370 / R9 270/370 OEM]
1002 6816 Pitcairn
1002 6817 Pitcairn
1002 6818 Pitcairn XT [Radeon HD 7870 GHz Edition]
1002 6819 Pitcairn PRO [Radeon HD 7850 / R7 265 / R9 270 1024SP]
1002 6820 Venus XTX [Radeon HD 8890M / R9 M275X/M375X]
1002 6821 Venus XT [Radeon HD 8870M / R9 M270X/M370X]
1002 6822 Venus PRO [Radeon E8860]
1002 6823 Venus PRO [Radeon HD 8850M / R9 M265X]
1002 6824
1002 6825 Heathrow XT [Radeon HD 7870M]
1002 6826 Chelsea LP [Radeon HD 7700M Series]
1002 6827 Heathrow PRO [Radeon HD 7850M/8850M]
1002 6828 Cape Verde PRO [FirePro W600]
1002 6829 Cape Verde
1002 682a Venus PRO
1002 682b Cape Verde PRO / Venus LE / Tropo PRO-L [Radeon HD 8830M / R7 250 / R7 M465X]
1002 682c Cape Verde GL [FirePro W4100]
1002 682d Chelsea XT GL [FirePro M4000]
1002 682f Chelsea LP [Radeon HD 7730M]
1002 6830
1002 6831
1002 6835 Cape Verde PRX [Radeon R9 255 OEM]
1002 6837 Cape Verde LE [Radeon HD 7730/8730]
1002 6838
1002 6839
1002 683b
1002 683d Cape Verde XT [Radeon HD 7770/8760 / R7 250X]
1002 683f Cape Verde PRO [Radeon HD 7750/8740 / R7 250E]
1002 6840 Thames [Radeon HD 7500M/7600M Series]
1002 6841 Thames [Radeon HD 7550M/7570M/7650M]
1002 6842 Thames LE [Radeon HD 7000M Series]
1002 6843 Thames [Radeon HD 7670M]
1002 6849
1002 684c
1002 6850
1002 6858
1002 6859
1002 6860 Vega 10 [Radeon Instinct MI25]
1002 6861 Vega 10 XT [Radeon PRO WX 9100]
1002 6862 Vega 10 XT [Radeon PRO SSG]
1002 6863 Vega 10 XTX [Radeon Vega Frontier Edition]
1002 6864 Vega 10 [Radeon Pro V340]
1002 6867 Vega 10 XL [Radeon Pro Vega 56]
1002 6868 Vega 10 [Radeon PRO WX 8100/8200]
1002 6869 Vega 10 XGA [Radeon Pro Vega 48]
1002 686a Vega 10 LEA
1002 686b Vega 10 XTXA [Radeon Pro Vega 64X]
1002 686c Vega 10 [Radeon Instinct MI25 MxGPU]
1002 686d Vega 10 GLXTA
1002 686e Vega 10 GLXLA
1002 687f Vega 10 XL/XT [Radeon RX Vega 56/64]
1002 6880 Lexington [Radeon HD 6550M]
1002 6888 Cypress XT [FirePro V8800]
1002 6889 Cypress PRO [FirePro V7800]
1002 688a Cypress XT [FirePro V9800]
1002 688c Cypress XT GL [FireStream 9370]
1002 688d Cypress PRO GL [FireStream 9350]
1002 6898 Cypress XT [Radeon HD 5870]
1002 6899 Cypress PRO [Radeon HD 5850]
1002 689b Cypress PRO [Radeon HD 6800 Series]
1002 689c Hemlock [Radeon HD 5970]
1002 689d Hemlock [Radeon HD 5970]
1002 689e Cypress LE [Radeon HD 5830]
1002 68a0 Broadway XT [Mobility Radeon HD 5870]
1002 68a1 Broadway PRO [Mobility Radeon HD 5850]
1002 68a8 Granville [Radeon HD 6850M/6870M]
1002 68a9 Juniper XT [FirePro V5800]
1002 68b8 Juniper XT [Radeon HD 5770]
1002 68b9 Juniper LE [Radeon HD 5670 640SP Edition]
1002 68ba Juniper XT [Radeon HD 6770]
1002 68be Juniper PRO [Radeon HD 5750]
1002 68bf Juniper PRO [Radeon HD 6750]
1002 68c0 Madison [Mobility Radeon HD 5730 / 6570M]
1002 68c1 Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M]
1002 68c7 Pinewood [Mobility Radeon HD 5570/6550A]
1002 68c8 Redwood XT GL [FirePro V4800]
1002 68c9 Redwood PRO GL [FirePro V3800]
1002 68d8 Redwood XT [Radeon HD 5670/5690/5730]
1002 68d9 Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570]
1002 68da Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570]
1002 68de Redwood
1002 68e0 Park [Mobility Radeon HD 5430/5450/5470]
1002 68e1 Park [Mobility Radeon HD 5430]
1002 68e4 Robson CE [Radeon HD 6370M/7370M]
1002 68e5 Robson LE [Radeon HD 6330M]
1002 68e8 Cedar
1002 68e9 Cedar [ATI FirePro (FireGL) Graphics Adapter]
1002 68f1 Cedar GL [FirePro 2460]
1002 68f2 Cedar GL [FirePro 2270]
1002 68f8 Cedar [Radeon HD 7300 Series]
1002 68f9 Cedar [Radeon HD 5000/6000/7350/8350 Series]
1002 68fa Cedar [Radeon HD 7350/8350 / R5 220]
1002 68fe Cedar LE
1002 6900 Topaz XT [Radeon R7 M260/M265 / M340/M360 / M440/M445 / 530/535 / 620/625 Mobile]
1002 6901 Topaz PRO [Radeon R5 M255]
1002 6907 Meso XT [Radeon R5 M315]
1002 6920 Amethyst [Radeon R9 M395/ M395X Mac Edition]
1002 6921 Amethyst XT [Radeon R9 M295X / M390X]
1002 6929 Tonga XT GL [FirePro S7150]
1002 692b Tonga PRO GL [FirePro W7100]
1002 692f Tonga XTV GL [FirePro S7150V]
1002 6938 Tonga XT / Amethyst XT [Radeon R9 380X / R9 M295X]
1002 6939 Tonga PRO [Radeon R9 285/380]
1002 693b Tonga PRO GL [FirePro W7100 / Barco MXRT-7600]
1002 694c Polaris 22 XT [Radeon RX Vega M GH]
1002 694e Polaris 22 XL [Radeon RX Vega M GL]
1002 694f Polaris 22 MGL XL [Radeon Pro WX Vega M GL]
1002 6980 Polaris12
1002 6981 Lexa XT [Radeon PRO WX 3200]
1002 6985 Lexa XT [Radeon PRO WX 3100]
1002 6986 Polaris12
1002 6987 Lexa [Radeon 540X/550X/630 / RX 640 / E9171 MCM]
1002 6995 Lexa XT [Radeon PRO WX 2100]
1002 699f Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X]
1002 69a0 Vega 12
1002 69a1 Vega 12
1002 69a2 Vega 12
1002 69a3 Vega 12
1002 69af Vega 12 [Radeon Pro Vega 20]
1002 6b76
1002 6fdf Polaris 20 XL [Radeon RX 580 2048SP]
1002 700f RS100 AGP Bridge
1002 7010 RS200/RS250 AGP Bridge
1002 7100 R520 [Radeon X1800 XT]
1002 7101 R520/M58 [Mobility Radeon X1800 XT]
1002 7102 R520/M58 [Mobility Radeon X1800]
1002 7103
1002 7104 R520 GL [FireGL V7200 / Barco MXTR-5100]
1002 7105
1002 7106
1002 7108
1002 7109 R520 [Radeon X1800 XL]
1002 710a R520 [Radeon X1800 GTO]
1002 710b R520 [Radeon X1800 GTO]
1002 710c
1002 710e R520 GL [FireGL V7300]
1002 710f R520 GL [FireGL V7350]
1002 7120 R520 [Radeon X1800] (Secondary)
1002 7124 R520 GL [FireGL V7200] (Secondary)
1002 7129 R520 [Radeon X1800] (Secondary)
1002 712e R520 GL [FireGL V7300] (Secondary)
1002 712f R520 GL [FireGL V7350] (Secondary)
1002 7140 RV515 [Radeon X1300/X1550/X1600 Series]
1002 7142 RV515 PRO [Radeon X1300/X1550 Series]
1002 7143 RV505 [Radeon X1300/X1550 Series]
1002 7145 RV515/M54 [Mobility Radeon X1400]
1002 7146 RV515 [Radeon X1300/X1550]
1002 7147 RV505 [Radeon X1550 64-bit]
1002 7149 RV515/M52 [Mobility Radeon X1300]
1002 714a RV515/M52 [Mobility Radeon X1300]
1002 714b
1002 714c
1002 714d
1002 714e
1002 7152 RV515 GL [FireGL V3300]
1002 7153 RV515 GL [FireGL V3350]
1002 715e
1002 715f RV505 CE [Radeon X1550 64-bit]
1002 7162 RV515 PRO [Radeon X1300/X1550 Series] (Secondary)
1002 7163 RV505 [Radeon X1550 Series] (Secondary)
1002 7166 RV515 [Radeon X1300/X1550 Series] (Secondary)
1002 7167 RV515 [Radeon X1550 64-bit] (Secondary)
1002 716e
1002 7172 RV515 GL [FireGL V3300] (Secondary)
1002 7173 RV515 GL [FireGL V3350] (Secondary)
1002 7180
1002 7181 RV516 [Radeon X1600/X1650 Series]
1002 7183 RV516 [Radeon X1300/X1550 Series]
1002 7186 RV516/M64 [Mobility Radeon X1450]
1002 7187 RV516 [Radeon X1300/X1550 Series]
1002 7188 RV516/M64-S [Mobility Radeon X2300]
1002 718a RV516/M64 [Mobility Radeon X2300]
1002 718b RV516/M62 [Mobility Radeon X1350]
1002 718c RV516/M62-CSP64 [Mobility Radeon X1350]
1002 718d RV516/M64-CSP128 [Mobility Radeon X1450]
1002 7193 RV516 [Radeon X1550 Series]
1002 7196 RV516/M62-S [Mobility Radeon X1350]
1002 719b RV516 GL [FireMV 2250]
1002 719f RV516 [Radeon X1550 Series]
1002 71a0 RV516 [Radeon X1300/X1550 Series] (Secondary)
1002 71a1 RV516 [Radeon X1600/X1650 Series] (Secondary)
1002 71a3 RV516 [Radeon X1300/X1550 Series] (Secondary)
1002 71a7 RV516 [Radeon X1300/X1550 Series] (Secondary)
1002 71bb RV516 GL [FireMV 2250] (Secondary)
1002 71c0 RV530 [Radeon X1600 XT/X1650 GTO]
1002 71c1 RV535 [Radeon X1650 PRO]
1002 71c2 RV530 [Radeon X1600 PRO]
1002 71c3 RV530 [Radeon X1600 PRO]
1002 71c4 RV530/M56 GL [Mobility FireGL V5200]
1002 71c5 RV530/M56-P [Mobility Radeon X1600]
1002 71c6 RV530LE [Radeon X1600/X1650 PRO]
1002 71c7 RV535 [Radeon X1650 PRO]
1002 71ce RV530 [Radeon X1300 XT/X1600 PRO]
1002 71d2 RV530 GL [FireGL V3400]
1002 71d4 RV530/M66 GL [Mobility FireGL V5250]
1002 71d5 RV530/M66-P [Mobility Radeon X1700]
1002 71d6 RV530/M66-XT [Mobility Radeon X1700]
1002 71de RV530/M66 [Mobility Radeon X1700/X2500]
1002 71e0 RV530 [Radeon X1600] (Secondary)
1002 71e1 RV535 [Radeon X1650 PRO] (Secondary)
1002 71e2 RV530 [Radeon X1600] (Secondary)
1002 71e6 RV530 [Radeon X1650] (Secondary)
1002 71e7 RV535 [Radeon X1650 PRO] (Secondary)
1002 71f2 RV530 GL [FireGL V3400] (Secondary)
1002 7210 RV550/M71 [Mobility Radeon HD 2300]
1002 7211 RV550/M71 [Mobility Radeon X2300 HD]
1002 7240 R580+ [Radeon X1950 XTX]
1002 7241
1002 7242
1002 7243
1002 7244 R580+ [Radeon X1950 XT]
1002 7245
1002 7246
1002 7247
1002 7248 R580 [Radeon X1950]
1002 7249 R580 [Radeon X1900 XT]
1002 724a
1002 724b R580 [Radeon X1900 GT]
1002 724c
1002 724d
1002 724e R580 GL [FireGL V7350]
1002 7269 R580 [Radeon X1900 XT] (Secondary)
1002 726b R580 [Radeon X1900 GT] (Secondary)
1002 726e R580 [AMD Stream Processor] (Secondary)
1002 7280 RV570 [Radeon X1950 PRO]
1002 7288 RV570 [Radeon X1950 GT]
1002 7291 RV560 [Radeon X1650 XT]
1002 7293 RV560 [Radeon X1650 GT]
1002 72a0 RV570 [Radeon X1950 PRO] (Secondary)
1002 72a8 RV570 [Radeon X1950 GT] (Secondary)
1002 72b1 RV560 [Radeon X1650 XT] (Secondary)
1002 72b3 RV560 [Radeon X1650 GT] (Secondary)
1002 7300 Fiji [Radeon R9 FURY / NANO Series]
1002 7310 Navi 10 [Radeon Pro W5700X]
1002 7312 Navi 10 [Radeon Pro W5700]
1002 7314 Navi 10 USB
1002 731f Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT]
1002 7340 Navi 14 [Radeon RX 5500/5500M / Pro 5500M]
1002 7341 Navi 14 [Radeon Pro W5500]
1002 7347 Navi 14 [Radeon Pro W5500M]
1002 734f Navi 14 [Radeon Pro W5300M]
1002 7360 Navi 12 [Radeon Pro 5600M / V520]
1002 7362 Navi 12 [Radeon Pro V520]
1002 7388 Arcturus GL-XL
1002 738c Arcturus GL-XL [AMD Instinct MI100]
1002 738e Arcturus GL-XL
1002 73a4 Navi 21 USB
1002 73af Navi 21 [Radeon RX 6900 XT]
1002 73bf Navi 21 [Radeon RX 6800/6800 XT / 6900 XT]
1002 73c3 Navi 22
1002 73c4 Navi 22 USB
1002 73df Navi 22 [Radeon RX 6700/6700 XT / 6800M]
1002 73e0 Navi 23
1002 73e1 Navi 23
1002 73e4 Navi 23 USB
1002 73ff Navi 23 [Radeon RX 6600/6600 XT]
1002 7833 RS350 Host Bridge
1002 7834 RS350 [Radeon 9100 PRO/XT IGP]
1002 7835 RS350M [Mobility Radeon 9000 IGP]
1002 7838 RS350 AGP Bridge
1002 7910 RS690 Host Bridge
1002 7911 RS690/RS740 Host Bridge
1002 7912 RS690/RS740 PCI to PCI Bridge (Internal gfx)
1002 7913 RS690 PCI to PCI Bridge (PCI Express Graphics Port 0)
1002 7915 RS690 PCI to PCI Bridge (PCI Express Port 1)
1002 7916 RS690 PCI to PCI Bridge (PCI Express Port 2)
1002 7917 RS690 PCI to PCI Bridge (PCI Express Port 3)
1002 7919 RS690 HDMI Audio [Radeon Xpress 1200 Series]
1002 791e RS690 [Radeon X1200]
1002 791f RS690M [Radeon Xpress 1200/1250/1270]
1002 7930 RS600 Host Bridge
1002 7932 RS600 PCI to PCI Bridge (Internal gfx)
1002 7933 RS600 PCI to PCI Bridge (PCI Express Graphics Port 0)
1002 7935 RS600 PCI to PCI Bridge (PCI Express Port 1)
1002 7936 RS600 PCI to PCI Bridge (PCI Express Port 2)
1002 7937 RS690 PCI to PCI Bridge (PCI Express Port 3)
1002 793b RS600 HDMI Audio [Radeon Xpress 1250]
1002 793f RS690M [Radeon Xpress 1200/1250/1270] (Secondary)
1002 7941 RS600 [Radeon Xpress 1250]
1002 7942 RS600M [Radeon Xpress 1250]
1002 796c
1002 796d
1002 796e RS740 [Radeon 2100]
1002 796f
1002 7c37
1002 9400 R600 [Radeon HD 2900 PRO/XT]
1002 9401 R600 [Radeon HD 2900 XT]
1002 9402
1002 9403 R600 [Radeon HD 2900 PRO]
1002 9405 R600 [Radeon HD 2900 GT]
1002 940a R600 GL [FireGL V8650]
1002 940b R600 GL [FireGL V8600]
1002 940f R600 GL [FireGL V7600]
1002 9440 RV770 [Radeon HD 4870]
1002 9441 R700 [Radeon HD 4870 X2]
1002 9442 RV770 [Radeon HD 4850]
1002 9443 R700 [Radeon HD 4850 X2]
1002 9444 RV770 GL [FirePro V8750]
1002 9446 RV770 GL [FirePro V7760]
1002 944a RV770/M98L [Mobility Radeon HD 4850]
1002 944b RV770/M98 [Mobility Radeon HD 4850 X2]
1002 944c RV770 LE [Radeon HD 4830]
1002 944e RV770 CE [Radeon HD 4710]
1002 9450 RV770 GL [FireStream 9270]
1002 9452 RV770 GL [FireStream 9250]
1002 9456 RV770 GL [FirePro V8700]
1002 945a RV770/M98-XT [Mobility Radeon HD 4870]
1002 945b
1002 945e
1002 9460 RV790 [Radeon HD 4890]
1002 9462 RV790 [Radeon HD 4860]
1002 946a RV770 GL [FirePro M7750]
1002 946b
1002 947a
1002 947b
1002 9480 RV730/M96 [Mobility Radeon HD 4650/5165]
1002 9485
1002 9487
1002 9488 RV730/M96-XT [Mobility Radeon HD 4670]
1002 9489 RV730/M96 GL [Mobility FireGL V5725]
1002 948a
1002 948f
1002 9490 RV730 XT [Radeon HD 4670]
1002 9491 RV730/M96-CSP [Radeon E4690]
1002 9495 RV730 [Radeon HD 4600 AGP Series]
1002 9498 RV730 PRO [Radeon HD 4650]
1002 949c RV730 GL [FirePro V7750]
1002 949e RV730 GL [FirePro V5700]
1002 949f RV730 GL [FirePro V3750]
1002 94a0 RV740/M97 [Mobility Radeon HD 4830]
1002 94a1 RV740/M97-XT [Mobility Radeon HD 4860]
1002 94a3 RV740/M97 GL [FirePro M7740]
1002 94b1
1002 94b3 RV740 PRO [Radeon HD 4770]
1002 94b4 RV740 PRO [Radeon HD 4750]
1002 94b5
1002 94b9
1002 94c0
1002 94c1 RV610 [Radeon HD 2400 PRO/XT]
1002 94c3 RV610 [Radeon HD 2400 PRO]
1002 94c4 RV610 LE [Radeon HD 2400 PRO AGP]
1002 94c5 RV610 [Radeon HD 2400 LE]
1002 94c6
1002 94c7 RV610 [Radeon HD 2350]
1002 94c8 RV610/M74 [Mobility Radeon HD 2400 XT]
1002 94c9 RV610/M72-S [Mobility Radeon HD 2400]
1002 94cb RV610 [Radeon E2400]
1002 94cc RV610 LE [Radeon HD 2400 PRO PCI]
1002 94cd
1002 9500 RV670 [Radeon HD 3850 X2]
1002 9501 RV670 [Radeon HD 3870]
1002 9504 RV670/M88 [Mobility Radeon HD 3850]
1002 9505 RV670 [Radeon HD 3690/3850]
1002 9506 RV670/M88 [Mobility Radeon HD 3850 X2]
1002 9507 RV670 [Radeon HD 3830]
1002 9508 RV670/M88-XT [Mobility Radeon HD 3870]
1002 9509 RV670/M88 [Mobility Radeon HD 3870 X2]
1002 950f R680 [Radeon HD 3870 X2]
1002 9511 RV670 GL [FireGL V7700]
1002 9513 RV670 [Radeon HD 3850 X2]
1002 9515 RV670 PRO [Radeon HD 3850 AGP]
1002 9517
1002 9519 RV670 GL [FireStream 9170]
1002 9540 RV710 [Radeon HD 4550]
1002 9541
1002 9542
1002 954e
1002 954f RV710 [Radeon HD 4350/4550]
1002 9552 RV710/M92 [Mobility Radeon HD 4330/4350/4550]
1002 9553 RV710/M92 [Mobility Radeon HD 4530/4570/545v]
1002 9555 RV710/M92 [Mobility Radeon HD 4350/4550]
1002 9557 RV711 GL [FirePro RG220]
1002 9559
1002 955f RV710/M92 [Mobility Radeon HD 4330]
1002 9580 RV630 [Radeon HD 2600 PRO]
1002 9581 RV630/M76 [Mobility Radeon HD 2600]
1002 9583 RV630/M76 [Mobility Radeon HD 2600 XT/2700]
1002 9586 RV630 XT [Radeon HD 2600 XT AGP]
1002 9587 RV630 PRO [Radeon HD 2600 PRO AGP]
1002 9588 RV630 XT [Radeon HD 2600 XT]
1002 9589 RV630 PRO [Radeon HD 2600 PRO]
1002 958a RV630 [Radeon HD 2600 X2]
1002 958b RV630/M76 [Mobility Radeon HD 2600 XT]
1002 958c RV630 GL [FireGL V5600]
1002 958d RV630 GL [FireGL V3600]
1002 958e
1002 958f
1002 9590
1002 9591 RV635/M86 [Mobility Radeon HD 3650]
1002 9593 RV635/M86 [Mobility Radeon HD 3670]
1002 9595 RV635/M86 GL [Mobility FireGL V5700]
1002 9596 RV635 PRO [Radeon HD 3650 AGP]
1002 9597 RV635 PRO [Radeon HD 3650 AGP]
1002 9598 RV635 [Radeon HD 3650/3750/4570/4580]
1002 9599 RV635 PRO [Radeon HD 3650 AGP]
1002 959b
1002 95c0 RV620 PRO [Radeon HD 3470]
1002 95c2 RV620/M82 [Mobility Radeon HD 3410/3430]
1002 95c4 RV620/M82 [Mobility Radeon HD 3450/3470]
1002 95c5 RV620 LE [Radeon HD 3450]
1002 95c6 RV620 LE [Radeon HD 3450 AGP]
1002 95c7
1002 95c9 RV620 LE [Radeon HD 3450 PCI]
1002 95cc RV620 GL [FirePro V3700]
1002 95cd RV620 GL [FirePro 2450]
1002 95ce
1002 95cf RV620 GL [FirePro 2260]
1002 960f RS780 HDMI Audio [Radeon 3000/3100 / HD 3200/3300]
1002 9610 RS780 [Radeon HD 3200]
1002 9611 RS780C [Radeon 3100]
1002 9612 RS780M [Mobility Radeon HD 3200]
1002 9613 RS780MC [Mobility Radeon HD 3100]
1002 9614 RS780D [Radeon HD 3300]
1002 9615 RS780E [Radeon HD 3200]
1002 9616 RS780L [Radeon 3000]
1002 9640 Sumo [Radeon HD 6550D]
1002 9641 Sumo [Radeon HD 6620G]
1002 9642 SuperSumo [Radeon HD 6370D]
1002 9643 SuperSumo [Radeon HD 6380G]
1002 9644 SuperSumo [Radeon HD 6410D]
1002 9645 SuperSumo [Radeon HD 6410D]
1002 9647 Sumo [Radeon HD 6520G]
1002 9648 Sumo [Radeon HD 6480G]
1002 9649 SuperSumo [Radeon HD 6480G]
1002 964a Sumo [Radeon HD 6530D]
1002 964b Sumo
1002 964c Sumo
1002 964e Sumo
1002 964f Sumo
1002 970f RS880 HDMI Audio [Radeon HD 4200 Series]
1002 9710 RS880 [Radeon HD 4200]
1002 9711
1002 9712 RS880M [Mobility Radeon HD 4225/4250]
1002 9713 RS880M [Mobility Radeon HD 4100]
1002 9714 RS880 [Radeon HD 4290]
1002 9715 RS880 [Radeon HD 4250]
1002 9723
1002 9802 Wrestler [Radeon HD 6310] Radeon HD 6250 too?
1002 9803 Wrestler [Radeon HD 6310]
1002 9804 Wrestler [Radeon HD 6250]
1002 9805 Wrestler [Radeon HD 6250]
1002 9806 Wrestler [Radeon HD 6320]
1002 9807 Wrestler [Radeon HD 6290]
1002 9808 Wrestler [Radeon HD 7340]
1002 9809 Wrestler [Radeon HD 7310]
1002 980a Wrestler [Radeon HD 7290]
1002 9830 Kabini [Radeon HD 8400 / R3 Series]
1002 9831 Kabini [Radeon HD 8400E]
1002 9832 Kabini [Radeon HD 8330]
1002 9833 Kabini [Radeon HD 8330E]
1002 9834 Kabini [Radeon HD 8210]
1002 9835 Kabini [Radeon HD 8310E]
1002 9836 Kabini [Radeon HD 8280 / R3 Series]
1002 9837 Kabini [Radeon HD 8280E]
1002 9838 Kabini [Radeon HD 8240 / R3 Series]
1002 9839 Kabini [Radeon HD 8180]
1002 983a
1002 983b
1002 983c
1002 983d Temash [Radeon HD 8250/8280G]
1002 983e
1002 983f
1002 9840 Kabini HDMI/DP Audio
1002 9850 Mullins [Radeon R3 Graphics]
1002 9851 Mullins [Radeon R4/R5 Graphics]
1002 9852 Mullins [Radeon R2 Graphics]
1002 9853 Mullins [Radeon R2 Graphics]
1002 9854 Mullins [Radeon R3E Graphics]
1002 9855 Mullins [Radeon R6 Graphics]
1002 9856 Mullins [Radeon R1E/R2E Graphics]
1002 9857 Mullins [Radeon APU XX-2200M with R2 Graphics]
1002 9858 Mullins
1002 9859 Mullins
1002 985a Mullins
1002 985b Mullins
1002 985c Mullins
1002 985d Mullins
1002 985e Mullins
1002 985f Mullins
1002 9874 Wani [Radeon R5/R6/R7 Graphics]
1002 9890 Amur
1002 98c0 Nolan
1002 98e4 Stoney [Radeon R2/R3/R4/R5 Graphics]
1002 9900 Trinity [Radeon HD 7660G]
1002 9901 Trinity [Radeon HD 7660D] AMD A10-5800K CPU
1002 9902 Trinity HDMI Audio Controller
1002 9903 Trinity [Radeon HD 7640G]
1002 9904 Trinity [Radeon HD 7560D]
1002 9905 Trinity GL [FirePro A300]
1002 9906 Trinity GL [FirePro A320]
1002 9907 Trinity [Radeon HD 7620G]
1002 9908 Trinity [Radeon HD 7600G]
1002 9909 Trinity [Radeon HD 7500G]
1002 990a Trinity [Radeon HD 7500G]
1002 990b Richland [Radeon HD 8650G]
1002 990c Richland [Radeon HD 8670D]
1002 990d Richland [Radeon HD 8550G]
1002 990e Richland [Radeon HD 8570D]
1002 990f Richland [Radeon HD 8610G]
1002 9910 Trinity [Radeon HD 7660G]
1002 9913 Trinity [Radeon HD 7640G]
1002 9917 Trinity [Radeon HD 7620G]
1002 9918 Trinity [Radeon HD 7600G]
1002 9919 Trinity [Radeon HD 7500G]
1002 991e Bishop [Xbox One S APU]
1002 9920 Liverpool [Playstation 4 APU]
1002 9921 Liverpool HDMI/DP Audio Controller
1002 9922 Starshp
1002 9923 Starsha2 [Kingston/Clayton]
1002 9924 Gladius
1002 9925 Kingston/Clayton/Jupiter/Gladius/Montego HDMI Controller
1002 9926 Jupiter
1002 9927
1002 9928
1002 9929
1002 992a
1002 992b
1002 992c
1002 992d
1002 992e
1002 992f
1002 9930
1002 9931
1002 9932
1002 9933
1002 9934
1002 9935
1002 9936
1002 9937
1002 9938
1002 9939
1002 993a
1002 993b
1002 993c
1002 993d
1002 993e
1002 993f
1002 9990 Trinity 2 [Radeon HD 7520G]
1002 9991 Trinity 2 [Radeon HD 7540D]
1002 9992 Trinity 2 [Radeon HD 7420G]
1002 9993 Trinity 2 [Radeon HD 7480D]
1002 9994 Trinity 2 [Radeon HD 7400G]
1002 9995 Richland [Radeon HD 8450G]
1002 9996 Richland [Radeon HD 8470D]
1002 9997 Richland [Radeon HD 8350G]
1002 9998 Richland [Radeon HD 8370D]
1002 9999 Richland [Radeon HD 8510G]
1002 999a Richland [Radeon HD 8410G]
1002 999b Richland [Radeon HD 8310G]
1002 999c Richland [Radeon HD 8650D]
1002 999d Richland [Radeon HD 8550D] AMD Quad-Core A8-Series APU A8-6500T with Radeon HD 8550D
1002 99a0 Trinity 2 [Radeon HD 7520G]
1002 99a2 Trinity 2 [Radeon HD 7420G]
1002 99a4 Trinity 2 [Radeon HD 7400G]
1002 aa00 R600 HDMI Audio [Radeon HD 2900 GT/PRO/XT]
1002 aa01 RV635 HDMI Audio [Radeon HD 3650/3730/3750]
1002 aa08 RV630 HDMI Audio [Radeon HD 2600 PRO/XT / HD 3610]
1002 aa10 RV610 HDMI Audio [Radeon HD 2350 PRO / 2400 PRO/XT / HD 3410]
1002 aa18 RV670/680 HDMI Audio [Radeon HD 3690/3800 Series]
1002 aa20 RV635 HDMI Audio [Radeon HD 3650/3730/3750]
1002 aa28 RV620 HDMI Audio [Radeon HD 3450/3470/3550/3570]
1002 aa30 RV770 HDMI Audio [Radeon HD 4850/4870]
1002 aa38 RV710/730 HDMI Audio [Radeon HD 4000 series]
1002 aa50 Cypress HDMI Audio [Radeon HD 5830/5850/5870 / 6850/6870 Rebrand]
1002 aa58 Juniper HDMI Audio [Radeon HD 5700 Series]
1002 aa60 Redwood HDMI Audio [Radeon HD 5000 Series] 5500, 5600 and mobile 5700 series
1002 aa68 Cedar HDMI Audio [Radeon HD 5400/6300/7300 Series]
1002 aa80 Cayman/Antilles HDMI Audio [Radeon HD 6930/6950/6970/6990]
1002 aa88 Barts HDMI Audio [Radeon HD 6790/6850/6870 / 7720 OEM]
1002 aa90 Turks HDMI Audio [Radeon HD 6500/6600 / 6700M Series]
1002 aa98 Caicos HDMI Audio [Radeon HD 6450 / 7450/8450/8490 OEM / R5 230/235/235X OEM]
1002 aaa0 Tahiti HDMI Audio [Radeon HD 7870 XT / 7950/7970]
1002 aab0 Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series]
1002 aab8 Tiran HDMI Audio
1002 aac0 Tobago HDMI Audio [Radeon R7 360 / R9 360 OEM]
1002 aac8 Hawaii HDMI Audio [Radeon R9 290/290X / 390/390X]
1002 aad8 Tonga HDMI Audio [Radeon R9 285/380]
1002 aae0 Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X]
1002 aae8 Fiji HDMI/DP Audio [Radeon R9 Nano / FURY/FURY X]
1002 aaf0 Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590]
1002 aaf8 Vega 10 HDMI Audio [Radeon Vega 56/64]
1002 ab00 Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X]
1002 ab08 Polaris 22 HDMI Audio
1002 ab10 Lexa HDMI Audio
1002 ab18 Vega 12 HDMI Audio
1002 ab20 Vega 20 HDMI Audio [Radeon VII]
1002 ab38 Navi 10 HDMI Audio
1002 ac00 Theater 506 World-Wide Analog Decoder
1002 ac01 Theater 506 World-Wide Analog Decoder
1002 ac02 TV Wonder HD 600 PCIe
1002 ac03 Theater 506 PCIe
1002 ac04 Theater 506 USB
1002 ac05 Theater 506 USB
1002 ac06 Theater 506 External USB
1002 ac07 Theater 506 External USB
1002 ac08 Theater 506A World-Wide Analog Decoder + Demodulator
1002 ac09 Theater 506A World-Wide Analog Decoder + Demodulator
1002 ac0a Theater 506A PCIe
1002 ac0b Theater 506A PCIe
1002 ac0c Theater 506A USB
1002 ac0d Theater 506A USB
1002 ac0e Theater 506A External USB
1002 ac0f Theater 506A External USB
1002 ac12 Theater HD T507 (DVB-T) TV tuner/capture device
1002 ad08
1002 ad10
1002 ad18
1002 ad20
1002 ad28
1002 ad30
1002 ad38
1002 ad40
1002 ad48
1002 ad50
1002 ad58
1002 ad68
1002 ad70
1002 ad78
1002 ad80
1002 ad98
1002 cab0 RS100 Host Bridge
1002 cab2 RS200 Host Bridge
1002 cab3 RS250 Host Bridge
1002 cbb2 RS200 Host Bridge

AMD kext支持列表

AMD7000Controller

原生驱动显卡列表如下。

1
0x67901002 0x67981002 0x679A1002 0x679E1002 0x67801002 0x68201002 0x68211002 0x68231002 0x68251002 0x68271002 0x682B1002 0x682D1002 0x682F1002 0x68351002 0x68391002 0x683B1002 0x683D1002 0x683F1002 0x68001002 0x68011002 0x68061002 0x68081002 0x68101002 0x68181002 0x68191002

通过Fake ID可驱动的显卡列表如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
0x67901002: Unknown
0x68391002: Unknown
0x683B1002: Unknown
0x67981002: Tahiti XT ( Radeon HD 7970, 8970, R9 280X )
0x679A1002: Tahiti PRO ( Radeon HD 7950, 8950, R9 280 )
0x679E1002: Tahiti LE ( Radeon HD 7870 XT )
0x67801002: Tahiti XT GL ( FirePro W9000 )
0x68201002: Venus XTX ( Radeon HD 8890M, R9 M275X / M375X )
0x68211002: Venus XT ( Radeon HD 8870M, R9 M270X / M370X )
0x68231002: Venus PRO ( Radeon HD 8850M, R9 M265X )
0x68251002: Heathrow XT ( Radeon HD 7870M )
0x69271002: Heathrow PRO ( Radeon HD 7850M / 8850M )
0x682B1002: Cape Verde PRO / Venus LE / Tropo PRO-L ( Radeon HD 8830M, R7 250, R7 M465X )
0x682D1002: Chelsea XT GL ( FirePro M4000 )
0x682F1002: Chelsea LP ( Radeon HD 7730M )
0x68351002: Cape Verde PRX ( Radeon R9 255 )
0x683D1002: Cape Verde XT ( Radeon HD 7770, 8760, R7 250X )
0x683F1002: Cape Verde PRO ( Radeon HD 7750, 8740, R7 250E )
0x68001002: Wimbledon XT ( Radeon HD 7970M )
0x68011002: Neptune XT ( Radeon HD 8970M )
0x68061002: Neptune
0x68081002: Pitcairn XT GL ( FirePro W7000 )
0x68101002: Curacao XT / Trinidad XT ( Radeon R7 370, R9 270X / 370X )
0x68181002: Pitcairn XT ( Radeon HD 7870 GHz Edition )
0x68191002: Pitcairn PRO ( Radeon HD 7850, R7 265, R9 270 - 1024 Stream Processor )

AMD8000Controller

原生驱动显卡列表如下。

1
0x66401002 0x66411002 0x66461002 0x66471002 0x66501002 0x66511002 0x665C1002 0x665D1002 0x67B01002

通过Fake ID可驱动的显卡列表如下。

1
2
3
4
5
6
7
8
9
0x66401002: Saturn XT ( FirePro M6100 )
0x66411002: Saturn PRO ( Radeon HD 8930M )
0x66461002: Bonaire XT ( Radeon R9 M280X )
0x66471002: Bonaire PRO ( Radeon R9 M270X )
0x66501002: Bonaire
0x66511002: Bonaire
0x665C1002: Bonaire XT ( Radeon HD 7790, 8770, R7 360, R9 260 / 360 )
0x665D1002: Bonaire ( Radeon R7 200 series )
0x67B01002: Hawaii XT / Grenada XT ( Radeon R9 290X / 390X )

AMD9000Controller

原生驱动显卡列表如下。

1
0x69201002 0x69211002 0x69301002 0x69381002 0x69391002 0x73001002 0x730F1002

通过Fake ID可驱动的显卡列表如下。

1
2
3
4
5
6
7
0x69201002: Unknown
0x69211002: Amethyst XT ( Radeon R9 M295X )
0x69301002: Unknown
0x69381002: Tonga XT / Amethyst XT ( Radeon R9 380X, R9 M295X )
0x69391002: Tonga PRO ( Radeon R9 285 / 380 )
0x73001002: Fiji ( Radeon R9 FURY / NANO Series )
0x730F1002: Unknown

AMD9500Controller

原生驱动显卡列表如下。

1
0x67E01002 0x67E31002 0x67E81002 0x67EB1002 0x67EF1002 0x67FF1002 0x67E11002 0x67E71002 0x67E91002 0x67C01002 0x67C11002 0x67C21002 0x67C41002 0x67C71002 0x67DF1002 0x67D01002 0x67C81002 0x67C91002 0x67CA1002 0x67CC1002 0x67CF1002

通过Fake ID可驱动的显卡列表如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
0x67E01002: Baffin ( Radeon PRO WX 4170 )
0x67E31002: Baffin ( Radeon PRO WX 4100 )
0x67E81002: Baffin ( Radeon PRO WX 4130 / 4150 )
0x67EB1002: Baffin ( Radeon Pro V5300X )
0x67EF1002: Baffin ( Radeon RX 460, 560D, Pro 450, 455, 460, 555, 555X, 560, 560X )
0x67FF1002: Baffin ( Radeon RX 550 640 Stream Processor, RX 560, 560X )
0x67E11002: Baffin ( Polaris11 )
0x67E71002: Unknown
0x67E91002: Baffin ( Polaris11 )
0x67C01002: Ellesmere ( Radeon PRO WX 7100 )
0x67C11002: Unknown
0x67C21002: Ellesmere ( Radeon PRO V7300X )
0x67C41002: Ellesmere ( Radeon PRO WX 7100 )
0x67C71002: Ellesmere ( Radeon PRO WX 5100 )
0x67DF1002: Ellesmere ( Radeon RX 470, 480, 570, 570X 580, 580X )
0x67D01002: Ellesmere ( Radeon PRO V7300X / V7350x2 )
0x67C81002: Unknown
0x67C91002: Unknown
0x67CA1002: Ellesmere ( Polaris10 )
0x67CC1002: Ellesmere ( Polaris10 )
0x67CF1002: Ellesmere ( Polaris10 )

AMD10000Controller

原生驱动显卡列表如下。

1
0x68601002 0x68611002 0x68621002 0x68631002 0x68641002 0x68671002 0x68681002 0x68691002 0x686A1002 0x686B1002 0x686C1002 0x686D1002 0x686E1002 0x687F1002 0x69A01002 0x69A11002 0x69A21002 0x69A31002 0x69AF1002 0x66A01002 0x66A11002 0x66A21002 0x66A31002 0x66A71002 0x66AF1002

通过Fake ID可驱动的显卡列表如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
0x68601002: Vega 10 ( Radeon Instinct MI25 )
0x68611002: Vega 10 XT ( Radeon PRO WX 9100 )
0x68621002: Vega 10 XT ( Radeon PRO SSG )
0x68631002: Vega 10 XTX ( Radeon Vega Frontier Edition )
0x68641002: Vega
0x68671002: Vega 10 XL ( Radeon Pro Vega 56 )
0x68681002: Vega 10 ( Radeon PRO WX 8100 )
0x68691002: Unknown
0x686A1002: Unknown
0x686B1002: Unknown
0x686C1002: Vega 10 ( Radeon Instinct MI25 MxGPU )
0x686D1002: Unknown
0x686E1002: Unknown
0x687F1002: Vega 10 XL/XT ( Radeon RX Vega 56 / 64 )
0x69A01002: Vega 12
0x69A11002: Vega 12
0x69A21002: Vega 12
0x69A31002: Vega 12
0x69AF1002: Vega 12
0x66A01002 Vega 20 ( Radeon Instinct )
0x66A11002: Vega 20
0x66A21002: Vega 20
0x66A31002: Vega 20
0x66A71002: Vega 20 ( Radeon Pro Vega 20 )
0x66AF1002: Vega 20

AMDRadeonX4000

原生驱动显卡列表如下。

1
0x67E01002 0x67E31002 0x67E81002 0x67EB1002 0x67EF1002 0x67FF1002 0x67E11002 0x67E71002 0x67E91002

通过Fake ID可驱动的显卡列表如下。

1
2
3
4
5
6
7
8
9
0x67E01002: Baffin ( Radeon PRO WX 4170 )
0x67E31002: Baffin ( Radeon PRO WX 4100 )
0x67E81002: Baffin ( Radeon PRO WX 4130 / 4150 )
0x67EB1002: Baffin ( Radeon Pro V5300X )
0x67EF1002: Baffin ( Radeon RX 460, 560D, Pro 450, 455, 460, 555, 555X, 560, 560X )
0x67FF1002: Baffin ( Radeon RX 550 640 Stream Processor, RX 560, 560X )
0x67E11002: Baffin ( Polaris11 )
0x67E71002: Unknown
0x67E91002: Baffin ( Polaris11 )

AMDRadeonX5000

原生驱动显卡列表如下。

1
0x68601002 0x68611002 0x68621002 0x68631002 0x68641002 0x68671002 0x68681002 0x68691002 0x686A1002 0x686B1002 0x686D1002 0x686E1002 0x687F1002 0x686C1002

通过Fake ID可驱动的显卡列表如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
0x68601002: Vega 10 ( Radeon Instinct MI25 )
0x68611002: Vega 10 XT ( Radeon PRO WX 9100 )
0x68621002: Vega 10 XT ( Radeon PRO SSG )
0x68631002: Vega 10 XTX ( Radeon Vega Frontier Edition )
0x68641002: Vega
0x68671002: Vega 10 XL ( Radeon Pro Vega 56 )
0x68681002: Vega 10 ( Radeon PRO WX 8100 )
0x68691002: Unknown
0x686A1002: Unknown
0x686B1002: Unknown
0x686C1002: Vega 10 ( Radeon Instinct MI25 MxGPU )
0x686D1002: Unknown
0x686E1002: Unknown
0x687F1002: Vega 10 XL/XT ( Radeon RX Vega 56 / 64 )

Nvidia支持列表

Turing和Volta GPU在任何版本的macOS中均不支持。Pascal和Maxwell在High Sierra中停止支持,同时它们需要WebDriver。

各型号兼容性列表如下。

1
https://sites.google.com/view/hardhack/videocards/nvidia-graphics
架构 最早支持版本 最后支持版本 型号 备注
GeForce 6 (6xxx) 10.2.x 10.7.5 6600 GT 需要32位内核和NVCAP修补
GeForce 7 (7xxx) 10.4.x 10.7.5 7600 GT
7300 GT
FX 4500
需要32位内核和NVCAP修补
GeForce 8 (8xxx) 10.5 10.13.6 GeForce 8800
FX 5600
GeForce 9 (9xxx) 10.5 10.13.6 9800 GT
9600 GT
9400 GT
9300 GT
Tesla (1xx, 2xx, 3xx) 10.4.x 10.13.6 GT 340
GT 330
GT 320
GTX 285
GTX 280
GTX 275
GTX 260
GT 240
GT 230
GT 220
GT 140
GT 130
GT 120
需要NVCAP修补
Tesla (8XXX) 10.13.6
Tesla (7XXX) 10.11.6
Tesla V2 10.5.x 10.13.6 需要NVCAP修补
Fermi(GF108/GF117/GF119, 4xx, 5xx) 10.7.x 10.13.6 GT 730(GF108变体)
GT 720A
GT 710(GF119变体)
GT 705
GT 640(GF108和GF116)
GT 630(GF108变体
GT 620
GT 610
GTX 570
GTX 470
需要NVCAP修补
大部分只可到10.12
Kepler(6XX/7XX) 10.7.x 至今 GTX Titan(GK 110 Maxwell内核)
GTX Titan Black(GK 110 Maxwell内核)
GTX Titan Z(双核显卡,但仅有单核可用)
GTX 780 Ti
GTX 780
GTX 770
GTX 760 Ti
GTX 760
GT 740(GK107变体)
GT 730(GK208变体)
GT 720
GT 710(GK208变体)
GTX 690(双核显卡,但仅有单核可用)
GTX 680
GTX 670
GTX 660 Ti
GTX 660(必须运行GK 104内核而非GK 106)
GTX 650(GK107变体)
GT 640(Kepler版,GK 107/208内核)
GT 635
GT 630(Kepler版,GK 107/208内核)
Quadro K6000
Quadro K5200
Quadro K5000
Quadro K4200
Quadro K2000D
Quadro K2000
Quadro K600
Quadro K420
Quadro 410
NVS 510
启动参数shikigva=40将boardID设置为iMac14,2,以获得更好的Nvidia支持
Kepler V2 10.8.x 至今
Maxwell(9XX, 745, 750/ti) 10.10.x 10.13.6 GTX Titan X(GM 200 Maxwell内核)
GTX 980 Ti
GTX 980
GTX 970
GTX 960
GTX 950
GTX 750 Ti
GTX 750
GTX 745
Quadro M6000
Quadro M5000
Quadro M4000
Quadro M2000
Quadro K2200
Quadro K1200
Quadro K620
需要WebDriver
启动参数shikigva=40将boardID设置为iMac14,2,以获得更好的Nvidia支持
启动参数nvda_drv=1以启用WebDriver
Pascal(10XX) 10.12.4 10.13.6 GTX Titan X(GP 102-400 Pascal内核)
GTX Titan Xp(GP 102-450 Pascal内核)
GTX 1080 Ti
GTX 1080
GTX 1070 Ti
GTX 1070
GTX 1060(GP104/GDDR5X不支持WebDriver)
GTX 1050 Ti
GTX 1050
GT 1030
Quadro GP100
Quadro P6000
Quadro P5000
Quadro P4000
Quadro P2000
Quadro P1000
Quadro P620
Quadro P600
Quadro P400
需要WebDriver
启动参数shikigva=40将boardID设置为iMac14,2,以获得更好的Nvidia支持
启动参数nvda_drv=1以启用WebDriver
Kepler(GK106变体) GT 740(GK106变体)
GTX 660
GTX 650 Ti
GTX 650
GTX 645
K4000
具有严重的有关VRAM泄漏的问题,出现失真和整体不稳定的情况
Volta Titan V
Titan V CEO版
无可用驱动
Turing(20XX/16XX) Titan RTX
RTX 2080 Ti
RTX 2080 Super
RTX 2080
RTX 2070 Super
RTX 2070
RTX 2060 Super
RTX 2060
GTX 1660 Ti
GTX 1660
GTX 1650
Quadro RTX 8000
Quadro RTX 6000
Quadro RTX 5000
Quadro RTX 4000
无可用驱动
Ampere(30XX) RTX 3090
RTX 3080
RTX 3070
无可用驱动

不支持列表

不应使用HIS和VisionTek的所有显卡,XFX的VEGA和590/560/460型号,Powercolor,MSI的Navi型号(Vega和Polaris均可用)。XFX可在CSM/Legacy模式关闭时使用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# 完全不支持
# Ampere
RTX 3090
RTX 3080
RTX 3070

# Turing
Titan RTX
RTX 2080 Ti
RTX 2080 Super
RTX 2080
RTX 2070 Super
RTX 2070
RTX 2060 Super
RTX 2060
GTX 1660 Ti
GTX 1660
GTX 1650
Quadro RTX 8000
Quadro RTX 6000
Quadro RTX 5000
Quadro RTX 4000

# Volta
Titan V
Titan V CEO Edition
Quadro GV100

# Lexa
RX 540/X
RX 550/X

# 尽量避免
# Pascal
GTX Titan X(GP 102-400 Pascal core)
GTX Titan Xp(GP 102-450 Pascal core)
GTX 1080/Ti
GTX 1070/Ti
GTX 1060
GTX 1050/Ti
GT 1030
Quadro P400
Quadro P600
Quadro P620
Quadro P1000
Quadro P2000
Quadro P4000
Quadro P5000
Quadro P6000
Quadro GP100

# Maxwell
GTX Titan X(GM 200 Maxwell core)
GTX 980/ti
GTX 970
GTX 960
GTX 950
GTX 750/ti
GTX 745
Quadro K620
Quadro K1200
Quadro K220
Quadro M2000
Quadro M4000
Quadro M5000
Quadro M6000

声卡

AppleALC编码器支持

AppleALC支持的编码器如下。注意,编解码器一般不为ALC 3XXX,如ALC3601的真实名称为ALC 671。

生产商 型号 Revision和layout 最早支持版本 最后支持版本
AnalogDevices AD1984 0x100400, layout 11 10.9
AnalogDevices AD1984A 0x100400, layout 11, 13, 44 10.9
AnalogDevices AD1988A layout 12 10.9
AnalogDevices AD1988B layout 5, 7, 12 10.9
AnalogDevices AD2000B layout 5, 7 10.9
Creative CA0132 0x100918 layout 0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 99 10.9
CirrusLogic CS4210 0x100101 layout 13 10.9
CirrusLogic CS4213 0x100100 layout 28 10.9
Conexant CX8050 layout 3, 13 10.12
Conexant CX8070/CX11880 layout 15 10.9
Conexant CX8150 layout 21, 22 10.9
Conexant CX8200 layout 3, 15, 21, 23, 80 10.12
Conexant CX8400 layout 12 10.9
Conexant CX20561 0x100000, layout 11 10.9
Conexant CX20583 layout 3 10.9
Conexant CX20585 layout 3, 13 10.9
Conexant CX20588 layout 3 10.9
Conexant CX20590 0x100000, 0x100002, 0x100003, layout 3, 12, 13, 14, 28 10.9
Conexant CX20632 layout 20, 23, 28 10.9
Conexant CX20641 layout 11, 13 10.9
Conexant CX20642 layout 11, 13 10.9
Conexant CX20722 layout 3 10.12
Conexant CX20724 layout 3, 13 10.9
Conexant CX20751/CX20752 layout 3, 21, 28 10.9
Conexant CX20753/CX20754 layout 3, 14, 15, 21 10.12
Conexant CX20755 layout 3 10.9
Conexant CX20756 layout 3, 13 10.9
Conexant CX20757 layout 3, 28 10.9
IDT IDT92HD66C3/65 layout 3 10.9
IDT IDT92HD71B7X layout 3 10.9
IDT IDT92HD73C1X5 layout 19, 21 10.9
IDT IDT92HD73E1X5 layout 15 10.9
IDT IDT92HD75B2X5 layout 3 10.9
IDT IDT92HD75B3X5 layout 3, 11 10.9
IDT IDT92HD99BXX layout 3 10.9
IDT IDT92HD87B1 layout 3 10.9
IDT IDT92HD81B1C5 layout 3, 11 10.9
IDT IDT92HD81B1X5 layout 3, 11, 12, 20, 21, 28 10.9
IDT IDT92HD87B1 layout 3 10.9
IDT IDT92HD87B1/3 layout 12, 13 10.9
IDT IDT92HD87B2/4 layout 13 10.9
IDT IDT92HD90BXX layout 3, 12 10.9
IDT IDT92HD91BXX 0x100102, 0x100303 layout 3, 12, 13, 33, 84 10.9
IDT IDT92HD93BXX 0x100203, layout 12 10.9
IDT IDT92HD95 layout 11, 12 10.9
IDT IDT92HD99BXX layout 3 10.9
Realtek ALC215 layout 18 10.9 -
Realtek ALC221 layout 11, 15, 88 10.8
Realtek ALC222 layout 11 10.8 -
Realtek ALC225/ALC3253 layout 28, 30, 33 10.9
Realtek ALC230 layout 13, 20 10.9
Realtek ALC233/ALC3236 layout 3, 4, 5, 13, 21, 27, 28, 29, 32, 33 10.9
Realtek ALC235 layout 3, 11, 12, 14, 15, 16, 17, 21, 22, 24, 28, 35, 37, 99 10.9
Realtek ALC236 0x100001, 0x100002 layout 3, 11, 12, 13, 14, 15, 16, 18, 54, 99 10.9
Realtek ALC245 layout 11, 12, 13 10.9 -
Realtek ALC255/ALC3234 layout 3, 11, 13, 15, 17, 18, 20, 21, 27, 28, 29, 30, 31, 66, 71, 86, 99, 100 10.9
Realtek ALC256/ALC3246 layout 5, 11, 13, 14, 16, 17, 19, 21, 22, 23, 28, 56, 57, 66, 67, 69, 76, 97 10.9
Realtek ALC257 layout 11, 18, 86, 99, 100 10.9
Realtek ALC260 layout 11, 12 10.9
Realtek ALC262 0x100202 layout 7, 11, 12, 13, 28, 66 10.9
Realtek ALC268 layout 3 10.9
Realtek ALC269/ALC271X 0x100004, 0x100100, 0x100202, 0x100203 layout 1-24, 27-33, 35, 40, 44, 45, 47, 55, 58, 66, 76, 77, 88, 91, 93, 99, 100, 127, 188 10.8
Realtek ALC270 0x100100, layout 3, 4, 21, 27, 28 10.9
Realtek ALC272 0x100001, layout 3, 11, 12, 18, 21 10.9
Realtek ALC274 0x100004, layout 21 10.9
Realtek ALC275 0x100005, 0x100008, layout 3, 13, 28 10.9
Realtek ALC280 layout 3, 4, 11, 13, 15, 16, 17, 21 10.9
Realtek ALC282 0x100003, layout 3, 4, 13, 22, 27, 28, 29, 41, 43, 51, 76, 86, 127 10.8
Realtek ALC283 layout 1, 3, 11, 13, 15, 44, 45, 66, 88 10.9
Realtek ALC284 layout 3 10.9
Realtek ALC285 layout 11, 21, 31, 52, 61, 71 10.9
Realtek ALC286 0x100002, 0x100003 layout 3, 11 10.9
Realtek ALC287 layout 11 10.9 -
Realtek ALC288 layout 3, 13, 23 10.9
Realtek ALC289 layout 11, 23 10.9
Realtek ALC290/ALC3241 layout 3, 4, 10, 15, 28 10.9
Realtek ALC292 layout 12, 15, 18, 28, 32, 55 10.9
Realtek ALC293 layout 11, 28, 29 10.9
Realtek ALC294 layout 11, 12, 13, 21, 22, 28, 66 10.9
Realtek ALC295 layout 1, 3, 13, 14, 15, 21, 22, 23, 24, 28, 77 10.9
Realtek ALC298 0x100101, 0x100103 layout 3, 11, 13, 16, 21, 22, 28, 29, 30, 32, 47, 66, 72, 99 10.9
Realtek ALC299 0x100002 layout 21, 22 10.9
Realtek ALC662 0x100101, 0x100300 layout 5, 7, 11, 12, 13, 15, 16, 17, 18, 66 10.9
Realtek ALC663 0x100001, 0x100002, layout 3, 4, 15, 28, 99 10.9
Realtek ALC665 layout 12, 13 10.9
Realtek ALC668 0x100003, layout 3, 20, 27, 28, 29 10.9
Realtek ALC670 0x100002, layout 12 10.9
Realtek ALC671 layout 12, 15, 16, 88 10.9
Realtek ALC700 layout 11 10.9
Realtek ALC882 0x100101, layout 5, 7 10.9
Realtek ALC883 0x100002, layout 7 10.9
Realtek ALC885 0x100101, 0x100103 layout 1, 12, 15 10.9
Realtek ALC887 0x100202, 0x100302, layout 1, 2, 3, 5, 7, 11, 12, 13, 17, 18, 20, 33, 40, 50, 52, 53, 87, 99 10.9
Realtek ALC888/ALC1200 0x100101, 0x100001, 0x100202, 0x100302 layout 1, 2, 3, 4, 5, 7, 11, 27, 28, 29 10.9
Realtek ALC889 0x100004, layout 1, 2, 3, 11, 12 10.9
Realtek ALC891/ALC867 0x100002, layout 11, 13 10.9
Realtek ALC892 0x100302, layout 1, 2, 3, 4, 5, 7, 12, 15, 16, 17, 18, 20, 22, 28, 31, 90, 92, 97, 99, 100 10.9
Realtek ALC898/ALC899 0x100003, layout 1, 2, 3, 5, 7, 11, 13, 65, 66, 98, 99, 101 10.9
Realtek ALC1150 0x100001, layout 1, 2, 3, 5, 7, 11, 99 10.8
Realtek ALC1220 0x100003, layout 1, 2, 3, 5, 7, 11, 13, 15, 16, 21, 27, 28, 29, 30, 34, 99 10.11
Realtek ALCS1200A layout 1, 2, 3, 11, 49, 50, 51 10.8
Realtek ALCS1220A layout 1, 2, 3, 5, 7, 11, 20, 21 10.11
SigmaTel STAC9200 0x102201, layout 11 10.8
SigmaTel STAC9872AK 0x100201, layout 12 10.8
VIA VT1705 0x100000, layout 21 10.9
VIA VT1802 0x100000, layout 3, 33, 65 10.9
VIA VT2020/VT2021 0x100100, layout 5, 7, 9, 13 10.9
AMD Radeon 290/290X 10.11
AMD Radeon R9 Fury/R9 Fury X 10.11
AMD Vega-M 10.11
AMDZEN Controller 0x1457
AMDZEN Controller 0x1487
AMDZEN Controller 0x15E3
Intel HD4600 10.9
Intel Atom Z36xxx/Z37xxx 10.9
Intel Z97 controller 10.9
Intel X99 controller 0x8D20 10.9
Intel X99 controller 0x8D21 10.9
Intel WhiskeyLake 10.12
Intel 200 Series Mobile 10.12
Intel 200 Series 10.12
Intel 300 Series 10.12
Nvidia GK208 10.13.4
Nvidia GM200 10.13.4
Nvidia GM204 10.13.4
Nvidia GM206 10.13.4
Nvidia GP102 10.13.4
Nvidia GP104 10.13.4
Nvidia GP106 10.13.4
Nvidia GP107 10.13.4
Nvidia GP108 10.13.4
Nvidia GTX860M 10.13

硬盘

无线网卡

Broadcom

低版本支持高版本系统的无线网卡。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 11(+)
BCM943602
BCM94360
BCM94352
BCM94350

# 10.15(+)
BCM943224
BCM94331

# 10.14(+)
BCM94322

# 10.13(+)
AR242x
AR542x
AR5416
AR5418
AR9280-AR5BHB92
AR9285-AR5B95
AR9287-AR5B97
AR9380-AR5BXB112

# 10.11(+)
BCM4311
BCM4318
BCM4306
BCM4309
BCM4321
BCM4322

不支持列表

1
2
3
4
5
6
7
8
9
# Broadcom
BCM4312
BCM4313
BCM4356
BCM43142
BCM43228

# Atheros
AR5424

其它硬件

指纹识别、Windows Hello人脸识别、英特尔智能声音技术将无法工作。

SMBIOS列表

CPU层级表示如下。

字母 类型
Y 移动端(低端)
U/M 移动端(中端)
H/QM/HQ 移动端(高端)
S 桌面端
EP/SP/W/X HEDT/服务器端

注意,主板号board-id仅适用于Intel Mac,不适用于PowerPC和ARM。

Apple CPU不依赖ACPI/UEFI,固件中不包含DeviceProperties,将iPad8,6用于iOS/iPadOS应用程序。

MacBook Pro

OpenCore不支持MacBookPro17,1。

型号标识符 描述 发布日期 CPU Family GPU(/为双显卡,,为单显卡) 最低macOS版本 最高macOS版本 部件号 主板号 BIOS版本 备注
MacBookPro17,1 MacBook Pro 13寸 2020年 M1 2020年11月 Apple M1 八核Apple图形卡 11.0.0(20A2411) 至今 MYD83xx/A
MYD92xx/A
MYDA2xx/A
MYDC2xx/A
Apple M1芯片,型号标识符J293
MacBookPro16,3 MacBook Pro 13寸 2020年初 2端口 2020年05月 Coffee Lake(U) Intel Iris Plus Graphics 645 10.15.4(19E2269) 至今 MXK32xx/A
MXK52xx/A
MXK62xx/A
MXK72xx/A
Mac-E7203C0F68AA0004
MacBookPro16,2 MacBook Pro 13寸 2020年初 4端口 2020年05月 Ice Lake(U) Intel Iris Plus Graphics 10.15.4(19E2269) 至今 MWP42xx/A
MWP52xx/A
MWP62xx/A
MWP72xx/A
MWP82xx/A
Mac-5F9802EFE386AA28
MacBookPro16,4 MacBook Pro 16寸 2019年末 2019年11月 Coffee Lake(H) AMD Radeon Pro 5600M 10.15.1(19B2093) 至今 MVVJ2xx/A
MVVK2xx/A
MVVL2xx/A
MVVM2xx/A
Mac-A61BADE1FDAD7B05
MacBookPro16,1 MacBook Pro 16寸 2019年末 2019年11月 Caffee Lake(H) Intel UHD Graphics 630, AMD Radeon Pro 5300M/5500M 10.15.1(19B2093) 至今 MVVJ2xx/A
MVVK2xx/A
MVVL2xx/A
MVVM2xx/A
Mac-E1008331FDC96864
MacBookPro15,4 MacBook Pro 13寸 2019年中期 2端口 2019年7月 Coffee Lake(U) Intel Iris Plus Graphics 645 10.14.5(18F2058) 至今 MUHN2xx/A
MUHP2xx/a
MUHQ2xx/A
MUHR2xx/A
MUHR2xx/B
Mac-53FDB3D8DB8CA971
MacBookPro15,3 MacBook Pro 15寸 2019年中期 2019年5月 Coffee Lake(H) UHD630/Radeon Pro555X/560X, Radeon Pro Vega 16/20 10.14.1(18B3094) 至今 MV902xx/A
MV912xx/A
MV922xx/A
MV932xx/A
MV942xx/A
MV952xx/A
Mac-1E7E29AD0135F9BC
MacBookPro15,2 MacBook Pro 13寸 2019年中期 4端口 2019年5月 Coffee Lake(U) Intel Iris Plus Graphics 655 10.14.6 至今 MV962xx/A
MV972xx/A
MV982xx/A
MV992xx/A
MV9A2xx/A
Mac-827FB448E656EC26
MacBookPro15,1 MacBook Pro 15寸 2019年中期 2019年5月 Coffee Lake(H) Intel UHD Graphics 630 10.14.6 至今 MV902xx/A
MV912xx/A
MV922xx/A
MV932xx/A
MV942xx/A
MV952xx/A
Mac-937A206F2EE63C01
MacBookPro15,2 MacBook Pro 13寸 有触控条 2018年中期 2018年6月 Coffee Lake(U) Intel Iris Plus Graphics 655 10.13.6(17G2112) 至今 MR9Q2xx/A
MR9R2xx/A
MR9T2xx/A
MR9U2xx/A
MR9V2xx/A
Mac-827FB448E656EC26 最低要求 10.13.6 17G2208
MacBookPro15,1 MacBook Pro 15寸 有触控条 2018年中期 2018年6月 Coffee Lake(H) Intel UHD Graphics 630 10.13.6(17G2112) 至今 MR932xx/A
MR942xx/A
MR952xx/A
MR962xx/A
MR972xx/A
MUQH2xx/A
Mac-937A206F2EE63C01 最低要求 10.13.6 17G2208
MacBookPro14,3 MacBook Pro 15寸 有触控条 2017年 2017年6月 Kaby Lake(H) HDs 630/Radeon Pro 555(/560) 10.12.5(16F2073) 至今 MPTR2xx/A
MPTT2xx/A
MPTU2xx/A
MPTV2xx/A
MPTW2xx/A
MPTX2xx/A
Mac-551B86E5744E2388
MacBookPro14,2 MacBook Pro 13寸 有触控条 2017年 2017年6月 Kaby Lake(U) Iris Plus 650 10.12.5(16F2073) 至今 MPXV2xx/A
MPXW2xx/A
MPXX2xx/A
MPXY2xx/A
MQ002xx/A
MQ012xx/A
Mac-CAD6701F7CEA0921
MacBookPro14,1 MacBook Pro 13寸 无触控条 2017年 2017年6月 Kaby Lake(U) Iris Plus 640 10.12.5(16F2073) 至今 MPXQ2xx/A
MPXR2xx/A
MPXT2xx/A
MPXU2xx/A
Mac-B4831CEBD52A0C4C
MacBookPro13,3 MacBook Pro 15寸 2016年末 2016年11月 Skylake(H) HD 530/Radeon Pro 450(/455/460) 10.12.1(16B2659) 至今 MLH32xx/A
MLH42xx/A
MLH52xx/A
MLW72xx/A
MLW82xx/A
MLW92xx/A
Mac-A5C67F76ED83108C
MacBookPro13,2 MacBook Pro 13寸 2016年末 有触控条 2016年11月 Skylake(U) Iris 550 10.12.1(16B2657) 至今 MLH12xx/A
MLVP2xx/A
MNQF2xx/A
MNQG2xx/A
MPDK2xx/A
MPDL2xx/A
Mac-66E35819EE2D0D05
MacBookPro13,1 MacBook Pro 13寸 2016年末 无触控条 2016年10月 Skylake(U) Iris 540 10.12(16A2323a) 至今 MLL42xx/A
MLUQ2xx/A
Mac-473D31EABEB93F9B
MacBookPro11,5 MacBook Pro 15寸 2015年中 2015年5月 Haswell(HQ) Iris Pro 5200/Radeon R9 M370X 10.10.3(14D2134) 至今 MJLQ2xx/A
MJLT2xx/A
MJLU2xx/A
Mac-06F11F11946D27C5
MacBookPro11,4 MacBook Pro 15寸 2015年中 2015年5月 Haswell(HQ) Iris Pro 5200 10.10.3(14D2134) 至今 MJLQ2xx/A
MJLT2xx/A
MJLU2xx/A
Mac-06F11FD93F0323C5
MacBookPro12,1 MacBook Pro 13寸 2015年初 2015年3月 Broadwell(U) Iris 6100 10.10.2(14C2507) 至今 MF839xx/A
MF840xx/A
MF841xx/A
MF843xx/A
Mac-E43C1C25D4880AD6
MacBookPro11,3 MacBook Pro 15寸 2014年中 2014年7月 Haswell(HQ) Iris Pro 5200/GeForce GT 750M 10.9(13A3017) 至今 MGXC2xx/A
MGXA2xx/A
Mac-2BD1B31983FE1663
MacBookPro11,2 MacBook Pro 15寸 2014年中 2014年7月 Haswell(HQ) Iris Pro 5200 10.9(13A3017) 至今 MGXC2xx/A
MGXA2xx/A
Mac-3CBD00234E554E41
MacBookPro11,1 MacBook Pro 13寸 2014年中 2014年7月 Haswell(U) Iris 5100 10.9(13A2093) 至今 MGX72xx/A
MGX82xx/A
MGX92xx/A
Mac-189A3D4F975D5FFC
MacBookPro11,3 MacBook Pro 15寸 2013年末 2013年10月 Haswell(HQ) Iris Pro 5200/GeForce GT 750M 10.9(13A3017) 至今 ME293xx/A
ME294xx/A
Mac-2BD1B31983FE1663
MacBookPro11,2 MacBook Pro 15寸 2013年末 2013年10月 Haswell(HQ) Iris Pro 5200 10.9(13A3017) 至今 ME293xx/A
ME294xx/A
Mac-3CBD00234E554E41
MacBookPro11,1 MacBook Pro 13寸 2013年末 2013年10月 Haswell(U) Iris 5100 10.9(13A2093) 至今 ME864xx/A
ME865xx/A
ME866xx/A
Mac-189A3D4F975D5FFC
MacBookPro10,2 MacBook Pro 13寸 2013年初 2013年2月 Ivy Bridge(M) HD 4000 10.8.5 至今 MD212xx/A
ME662xx/A
Mac-AFD8A9D944EA4843
MacBookPro10,1 MacBook Pro 15寸 2013年初 2013年2月 Ivy Bridge(QM) HD 4000/GeForce GT 650M 10.8.5 至今 ME664xx/A
ME665xx/A
Mac-C3EC7CD22292981F
MacBookPro10,2 MacBook Pro 13寸 Retina 2012年末 2012年10月 Ivy Bridge(M) HD 4000 10.8.2(12C2034) 10.15.7 MD212xx/A
MD213xx/A
Mac-AFD8A9D944EA4843
MacBookPro10,1 MacBook Pro 15寸 Retina 2012年中 2012年6月 Ivy Bridge(QM) HD 4000/GeForce GT 650M 10.7.4(11E2068) 10.15.7 MC975xx/A
MC976xx/A
Mac-C3EC7CD22292981F
MacBookPro9,2 MacBook Pro 13寸 2012年中 2012年6月 Ivy Bridge(M) HD 4000 10.7.3(11D2515) 10.15.7 MD101xx/A
MD102xx/A
Mac-6F01561E16C75D06
MacBookPro9,1 MacBook Pro 15寸 2012年中 2012年6月 Ivy Bridge(QM) HD 4000/GeForce GT 650M 10.7.3(11D2097) 10.15.7 MD103xx/A
MD104xx/A
Mac-4B7AC7E43945597E
MacBookPro8,3 MacBook Pro 17寸 2011年末 2011年10月 Sandy Bridge(QM) HD 3000/Radeon HD 6750M(/6770M) 10.6.6(10J3210) 10.13.6 MD311xx/A Mac-942459F5819B171B
MacBookPro8,2 MacBook Pro 15寸 2011年末 2011年10月 Sandy Bridge(QM) HD 3000/Radeon HD 6490M 10.6.6(10J3210) 10.13.6 MD322xx/A
MD318xx/A
Mac-94245A3940C91C80
MacBookPro8,1 MacBook Pro 13寸 2011年末 2011年10月 Sandy Bridge(M) HD 3000 10.6.6(10J3210) 10.13.6 MD314xx/A
MD313xx/A
Mac-94245B3640C91C81
MacBookPro8,3 MacBook Pro 17寸 2011年初 2011年2月 Sandy Bridge(QM) HD 3000/Radeon HD 6750M 10.6.6(10J3210) 10.13.6 MC725xx/A Mac-942459F5819B171B
MacBookPro8,2 MacBook Pro 15寸 2011年初 2011年2月 Sandy Bridge(QM) HD 3000/Radeon HD 6490M(/6750M) 10.6.6(10J3210) 10.13.6 MC723xx/A
MC721xx/A
Mac-94245A3940C91C80
MacBookPro8,1 MacBook Pro 13寸 2011年初 2011年2月 Sandy Bridge(M) HD 3000 10.6.6(10J3210) 10.13.6 MC724xx/A
MC700xx/A
Mac-94245B3640C91C81 MBP81.88Z.0047.B04.1102071707
MacBookPro7,1 MacBook Pro 13寸 2010年中 2010年4月 Penryn(M) GeForce 320M 10.6.3(10D2125) 10.13.6 MC375xx/A
MC374xx/A
Mac-F222BEC8 MBP71.88Z.0039.B05.1003251322 出厂附送的10.6.3也支持
MacBookPro6,2 MacBook Pro 15寸 2010年中 2010年4月 Arrandale(M) HD Graphics/GeForce GT 330M 10.6.3(10D2094) 10.13.6 MC373xx/A
MC372xx/A
MC371xx/A
Mac-F22586C8
MacBookPro6,1 MacBook Pro 17寸 2010年中 2010年4月 Arrandale(M) HD Graphics/GeForce GT 330M 10.6.3(10D2063a) 10.13.6 MC024xx/A Mac-F22589C8 MBP61.88Z.0057.B0C.1007261552
MacBookPro5,5 MacBook Pro 13寸 2009年中 2009年6月 Penryn GeForce 9400M/9600M GT 10.5.7(9J3050) 10.11.6 MB991xx/A
MB990xx/A
Mac-F2268AC8 MBP55.88Z.00AC.B03.0906151708
MacBookPro5,4 MacBook Pro 15寸 2009年中 2009年6月 Penryn(M) GeForce 9400M/9600M GT 10.5.7(9J3050) 10.11.6 / Mac-F22587A1
MacBookPro5,3 MacBook Pro 15寸 2009年中 2009年6月 Penryn(M) GeForce 9400M/9600M GT 10.5.7(9J3050) 10.11.6 MB985xx/A
MB986xx/A
Mac-F22587C8 MBP53.88Z.00AC.B03.0906151647
MacBookPro5,3 MacBook Pro 15寸 2.53 GHz 2009年中 2009年6月 Penryn(M) GeForce 9400M/9600M GT 10.5.7(9J3050) 10.11.6 MC118xx/A Mac-F22587C8 MBP53.88Z.00AC.B03.0906151647
MacBookPro5,2 MacBook Pro 17寸 2009年中 2009年6月 Penryn(M) GeForce 9400M/9600M GT 10.5.6(9G2141) 10.11.6 MC226xx/A Mac-F2268EC8 MBP52.88Z.008E.B05.0905042202
MacBookPro5,2 MacBook Pro 17寸 2009年初 2009年1月 Penryn(M) GeForce 9400M/9600M GT 10.5.5(9F2114) 10.11.6 MB604xx/A Mac-F2268EC8 MBP52.88Z.008E.B05.0905042202
MacBookPro5,1 MacBook Pro 15寸 2008年末 2008年10月 Penryn(M) GeForce 9400M/9600M GT 10.5.5(9F2114) 10.11.6 MB470xx/A
MB471xx/A
Mac-F42D86C8
Mac-F42D86A9
MBP51.88Z.007E.B05.0803171226
MacBookPro4,1 MacBook Pro 17寸 2008年初 2008年10月 Penryn(M) GeForce 8600MG GT 10.5.2(9C2018) 10.11.6 MB166xx/A Mac-F42C89C8
Mac-F42C86C8
MBP41.88Z.00C1.B00.0802091544
MacBookPro4,1 MacBook Pro 15寸 2008年初 2008年10月 Penryn(M) GeForce 8600MG GT 10.5.2(9C2018) 10.11.6 MB133xx/A
MB134xx/A
Mac-F42C89C8
Mac-F42C86C8
MBP41.88Z.00C1.B00.0802091544
MacBookPro3,1 MacBook Pro 17寸 2.4/2.2 GHz 2007年6月 Merom(M) GeForce 8600M GT 10.4.9(8Q1058) 10.11.6 MA897xx/A Mac-F4238BC8
Mac-F42388C8
MBP31.88Z.0070.B07.0803051658
MacBookPro3,1 MacBook Pro 15寸 2.4/2.2 GHz 2007年6月 Merom(M) GeForce 8600M GT 10.4.9(8Q1058) 10.11.6 MA895xx/A Mac-F4238BC8
Mac-F42388C8
MBP31.88Z.0070.B07.0803051658
MacBookPro2,2 MacBook Pro 17寸 Core 2 Duo 2006年10月 Merom(M) Radeon X1600 10.4.8(8N1037) 10.7.5 MA609xx/A
MA610xx/A
Mac-F42187C8
MacBookPro2,1 MacBook Pro 15寸 Core 2 Duo 2006年10月 Merom(M) Radeon X1600 10.4.8(8N1051) 10.7.5 MA611xx/A Mac-F42189C8
MacBookPro1,2 MacBook Pro 17寸 镜面 2006年2/4月 Yonah(M) Radeon X1600 10.4.6(8I2032) 10.6.8 MA092xx/A Mac-F42DBEC8
MacBookPro1,1 MacBook Pro 15寸 镜面 2006年2/4月 Yonah(M) Radeon X1600 10.4.5(8G1453) 10.6.8 MA601xx/A
MA463xx/A
Mac-F425BEC8

MacBook Air

OpenCore不支持MacBookAir10,1。

型号标识符 描述 发布日期 CPU Family GPU(/为双显卡,,为单显卡) 最低macOS版本 最高macOS版本 部件号 主板号 备注
MacBookAir10,1 MacBook Air 13寸 2020年 M1 2020年11月 Apple M1 七/八核Apple图形卡 11.0.0(20A2411) 至今 MGN63xx/A
MGN93xx/A
MGND3xx/A
MGN73xx/A
MGNA3xx/A
MGNE3xx/A
Apple M1芯片,型号标识符J313
MacBookAir9,1 MacBook Air 13寸 2020年初 2020年03月 Ice Lake(Y) Intel Iris Plus Graphics G4/G7 10.15.4(19E287) 至今 MVH22xx/A
MVH42xx/A
MVH52xx/A
MWTJ2xx/A
MWTK2xx/A
MWTL2xx/A
Mac-0CFF9C7C2B63DF8D
MacBookAir8,2 MacBook Air 13寸 2019年中期 2019年7月9日 Kaby Lake Intel UHD Graphics 617 10.14.6 至今 MVFH2xx/A
MVFJ2xx/A
MVFK2xx/A
MVFL2xx/A
MVFM2xx/A
MVFN2xx/A
MVH62xx/A
MVH82xx/A
MacBookAir8,1 MacBook Air 13寸 2018年 2018年10月 Amber Lake(Y) Intel UHD Graphics 617 10.14.6 至今 MRE82xx/A
MREA2xx/A
MREE2xx/A
MRE92xx/A
MREC2xx/A
MREF2xx/A
MUQT2xx/A
MUQU2xx/A
MUQV2xx/A
Mac-112818653D3AABFC
MacBookAir7,2 MacBook Air 13寸 2017年 2017年6月 Broadwell(U) HD 6000 10.12.6 至今 MQD32xx/A
MQD42xx/A
MQD52xx/A
Mac-937CB26E2E02BB01
MacBookAir7,2 MacBook Air 13寸 2015年初 2015年3月 Broadwell(U) HD 6000 10.10.2(14C2507) 至今 MJVE2xx/A
MJVG2xx/A
MMGF2xx/A
MMGG2xx/A
Mac-937CB26E2E02BB01
MacBookAir7,1 MacBook Air 11 2015年初 2015年3月 Broadwell(U) HD 6000 10.10.2(14C2507) 至今 MJVM2xx/A
MJVP2xx/A
Mac-9F18E312C5C2BF0B
MacBookAir6,2 MacBook Air 13寸 2014年初 2014年4月 Haswell(U) HD 5000 10.9.5 至今 MD760xx/B
MD761xx/B
Mac-7DF21CB3ED6977E5
MacBookAir6,1 MacBook Air 11寸 2014年初 2014年4月 Haswell(U) HD 5000 10.9.5 至今 MD711xx/B
MD712xx/B
Mac-35C1E88140C3E6CF
MacBookAir6,2 MacBook Air 13寸 2013年中 2013年6月 Haswell(U) HD 5000 10.8.4(12E3067) 至今 MD760xx/A
MD761xx/A
Mac-7DF21CB3ED6977E5
MacBookAir6,1 MacBook Air 11寸 2013年中 2013年6月 Haswell(U) HD 5000 10.8.4(12E3067) 至今 MD711xx/A
MD712xx/A
Mac-35C1E88140C3E6CF
MacBookAir5,2 MacBook Air 13寸 2012年中 2012年6月 Ivy Bridge(U) HD 4000 10.8.2(12C2034) 10.15.7 MD231xx/A
MD232xx/A
Mac-2E6FAB96566FE58C
MacBookAir5,1 MacBook Air 11寸 2012年中 2012年6月 Ivy Bridge(U) HD 4000 10.7.4(11E2520) 10.15.7 MD223xx/A
MD224xx/A
Mac-66F35F19FE2A0D05
MacBookAir4,2 MacBook Air 13寸 2011年中 2011年7月 Sandy Bridge(M) HD 3000 10.7(11A2063) 10.13.6 MC965xx/A
MC966xx/A
Mac-742912EFDBEE19B3
MacBookAir4,1 MacBook Air 11寸 2011年中 2011年7月 Sandy Bridge(M) HD 3000 10.7(11A2063) 10.13.6 MC968xx/A
MC969xx/A
Mac-C08A6BB70A942AC2
MacBookAir3,2 MacBook Air 13寸 2010年末 2010年10月 Penryn(M) GeForce 320M 10.6.4(10F3061) 10.13.6 MC503xx/A
MC504xx/A
Mac-942C5DF58193131B
MacBookAir3,1 MacBook Air 11寸 2010年末 2010年10月 Penryn(M) GeForce 320M 10.6.4(10F3061) 10.13.6 MC505xx/A
MC506xx/A
Mac-942452F5819B1C1B
MacBookAir2,1 MacBook Air 13寸 2009年中 2009年6月 Penryn(M) GeForce 9400M 10.5.6 10.11.6 MC505xx/A
MC233xx/A
MC234xx/A
Mac-F42D88C8
MacBookAir2,1 MacBook Air 13寸 2008年末 2008年11月 Penryn(M) GeForce 9400M 10.5.5 10.11.6 MB543xx/A
MB940xx/A
Mac-F42D88C8
MacBookAir1,1 MacBook Air 11寸 2008年初 2008年11月 Merom(M) GMA X3100 10.5.1(9B2324) 10.7.5 MB003xx/A Mac-F42C8CC8

MacBook

型号标识符 描述 发布日期 CPU Family GPU(/为双显卡,,为单显卡) 最低macOS版本 最高macOS版本 部件号 主板号 备注
MacBook10,1 MacBook 12寸 2017年 2017年6月 Kaby Lake(Y) HD 615 10.12.5(16F207) 至今 MNYF2XX/A
MNYG2XX/A
MNYH2XX/A
MNYJ2XX/A
MNYK2XX/A
MNYL2XX/A
MNYM2XX/A
MNYN2XX/A
Mac-EE2EBD4B90B839A8
MacBook9,1 MacBook 12寸 2016初 2016年4月 Skylake(Y) HD 515 10.11.4(15E2066) 至今 MLH72xx/A
MLH82xx/A
MLHA2xx/A
MLHC2xx/A
MLHE2xx/A
MLHF2xx/A
MMGL2xx/A
MMGM2xx/A
Mac-9AE82516C7C6B903
MacBook8,1 MacBook 12寸 2015初 2015年4月 Broadwell(Y) HD 5300 10.10.2(14C2061) 至今 MF855xx/A
MF865xx/A
MJY32xx/A
MJY42xx/A
MK4M2xx/A
MK4N2xx/A
Mac-BE0E8AC46FE800CC
MacBook7,1 MacBook 13寸 2010中 2010年5月 Penryn(M) GeForce 320M 10.6.3(10D2162) 10.13.6 MC516xx/A Mac-F22C89C8
MacBook6,1 MacBook 13寸 2009末 2009年10月 Penryn(M) GeForce 9400M 10.6.1(10A2047) 10.13.6 MC207xx/A Mac-F22C8AC8
MacBook5,2 MacBook 13寸 2009中 2009年1月 Penryn(M) GeForce 9400M 10.5.6 10.11.6 MC240xx/A Mac-F22788AA
MacBook5,2 MacBook 13寸 2009初 2009年1月 Penryn(M) GeForce 9400M 10.5.6(9G2110) 10.11.6 MB881xx/A Mac-F22788AA
MacBook5,1 MacBook 13寸 2008末铝合金外壳 2008年10月 Penryn(M) GeForce 9400M 10.5.5(9F2114) 10.11.6 MB466*/A
MB467*/A
Mac-F42D89C8
Mac-F42D89A9
MacBook4,2 MacBook 13寸 2008末 (非铝合金外壳) 2008年10月 Penryn(M) GMA X3100 10.5.6 10.7.5 MB402*/B 10.7.5最低要2G内存
MacBook4,1 MacBook 13寸 2008初 2008年2月 Penryn(M) GMA X3100 10.5.2(9C2015) 10.7.5 MB402*/A
MB403*/A
MB404*/A
Mac-F22788A9 10.7.5最低要2G内存
MacBook3,1 MacBook 13寸 2007末 2007年5/10月 Merom(M) GMA X3100 10.5(9A3111) 10.7.5 MB061*/B
MB062*/B
MB063*/B
Mac-F22788C8 10.6.x最低要1G内存
MacBook2,1 MacBook 13寸 2007中 2007年5/10月 Merom(M) GMA 950 10.5.6 10.7.5 MB061*/A
MB062*/A
MB063*/A
10.7.5要求2G或以上的内存
MacBook2,1 MacBook 13寸 2006年末 2006年11月 Merom(M) GMA 950 10.4.8(8N1108) 10.7.5 MA699*/A
MA700*/A
MA701*/A
Mac-F4208CA9 10.7.5要求2G或以上的内存
MacBook1,1 MacBook 13寸 2006年初 2006年5月 Yonah(M) GMA 950 10.4.6(8I2025) 10.6.8 MA254*/A
MA255*/A
MA472*/A
Mac-F4208CC8 10.6.x要求1G或以上的内存

iMac

OpenCore不支持iMac21,1及更新SMBIOS。

型号标识符 描述 发布日期 CPU Family GPU(/为双显卡,,为单显卡) 最低macOS版本 最高macOS版本 部件号 主板号 BIOS版本 备注
iMac21,2 Mid 2021 Apple M1 11.3(20E232?) Apple M1芯片,型号标识符J257
iMac21,1 Mid 2021 Apple M1 11.3(20E232?) Apple M1芯片,型号标识符J256
iMac20,2 iMac 27寸 5K 2020年 2020年8月 Comet Lake Radeon Pro 5700/5700 XT 10.15.6(19G2005) 至今 MXWT2xx/A
MXWU2xx/A
MXWV2xx/A
Mac-AF89B6D9451A490B T2芯片
iMac20,1 iMac 27寸 5K 2020年 2020年8月 omet Lake(S) Radeon Pro 5300/5500 XT 10.15.6(19G2005) 至今 MXWT2xx/A
MXWU2xx/A
MXWV2xx/A
Mac-CFF7D910A743CAAF T2芯片
iMac19,2 iMac 21.5寸 4K 2019年 2020年8月 Coffee Lake(S) Radeon Pro 580X(/570X/575X)/Radeon Pro Vega 48 10.14.4(18E226) 至今 MRT3xx/A
MRT4xx/A
MHK23xx/A
对比2019年款只更新了硬盘
iMac19,2 iMac 21.5寸 4K 2019年 2019年3月 Coffee Lake(S) Radeon Pro 580X(/570X/575X)/Radeon Pro Vega 48 10.14.4(18E226) 至今 MRT3xx/A
MRT4xx/A
MHK23xx/A
Mac-63001698E7A34814
iMac19,1 iMac 27寸 5K 2019年 2019年3月 Coffee Lake(S) Radeon Pro 580 10.14.4(18E226) 至今 MRQYxx/A
MRR0xx/A
MRR1xx/A
Mac-AA95B1DDAB278B95
iMacPro1,1 iMac Pro 27寸 5K 2017年 2017年12月 Skylake-W Radeon Pro Vega 56(/64/64X) 10.13.2(17C2111) 至今 MQ2Y2xx/A
MHLV3xx/A
Mac-7BA5B2D9E42DDD94
iMac18,3 iMac 27寸 5K 2017年 2017年6月 Kaby Lake(S) Radeon Pro 570(/575/580) 10.12.4(16F2073) 至今 MNE92xx/A
MNEA2xx/A
MNED2xx/A
Mac-BE088AF8C5EB4FA2
iMac18,2 iMac 21.5寸 4K 2017年 2017年6月 Kaby Lake(S) Radeon Pro 555(/560) 10.12.4(16F2073) 至今 MNDY2xx/A
MNE02xx/A
Mac-77F17D7DA9285301
iMac18,1 iMac 21.5寸 普通屏 2017年 2017年6月 Kaby Lake(U) Iris Plus 640 10.12.4(16E2193) 至今 MMQA2xx/A
MHK03xx/A
Mac-4B682C642B45593E
iMac17,1 iMac 27寸 5K 2015年末 2015年10月 Skylake(S) Radeon R9 M380(/M390/M395/M395X) 10.11(15A4310) 至今 MK462xx/A
MK472xx/A
MK482xx/A
Mac-DB15BD556843C820
Mac-B809C3757DA9BB8D
Mac-65CE76090165799A
iMac16,2 iMac 21.5寸 4K 2015年末 2015年10月 Broadwell(S) Iris Pro 6200 10.11(15A2301) 至今 MK452xx/A Mac-FFE5EF870D7BA81A
iMac16,1 iMac 21.5寸 2015年末 2015年10月 Broadwell(U) HD 6000/Iris Pro 6200 10.11(15A2301) 至今 MK142xx/A
MK442xx/A
Mac-A369DDC4E67F1C45
iMac15,1 iMac 27寸 5K 2015年中 2015年5月 Haswell(S) Radeon R9 M290X 10.10(14A389) 至今 MF885xx/A Mac-42FD25EABCABB274
iMac15,1 iMac 27寸 5K 2014年末 2014年10月 Haswell(S) Radeon R9 M290(/M295X)/AMD M290(/M295) 10.10(14A389) 至今 MF886xx/A Mac-42FD25EABCABB274
iMac14,4 iMac 21.5寸 2014年中 2014年6月 Haswell(U) HD 5000 10.9.3(13D2061) 至今 MF883xx/A
MG022xx/A
Mac-81E3E92DD6088272
iMac14,3 iMac 21.5寸 2013年末 2013年9月 Haswell(S) GeForce GT 750M 10.8.4(12E4022) 10.15.7 ME087LL/A Mac-77EB7D7DAF985301
iMac14,2 iMac 27寸 2013年末 2013年9月 Haswell(S) GeForce GT 755M(/GTX 775M/GTX 780M) 10.8.4(12E4022) 10.15.7 ME086xx/A
ME088xx/A
Mac-27ADBB7B4CEE8E61
iMac14,1 iMac 21.5寸 2013年末 2013年9月 Haswell(S) Iris Pro 5200/GeForce GT 750M 10.8.4(12E4022) 10.15.7 ME086xx/A
ME087xx/A
Mac-031B6874CF7F642A
iMac13,3 iMac 21.5寸 2013年初 / Ivy Bridge(S) HD 4000 10.8.2(12C2037) 10.15.7 ME699LL/A Mac-7DF2A3B5E5D671ED
iMac13,2 iMac 27寸 2012年末 2012年11/12月 Ivy Bridge(S) GeForce GTX 660MX(/GTX 675MX/GT 680M) 10.8.2(12C2037) 10.15.7 MD095xx/A
MD096xx/A
Mac-FC02E91DDD3FA6A4
iMac13,1 iMac 21.5寸 2012年末 2012年11/12月 Ivy Bridge(S) GeForce GT 640M(/650M), HD 4000 10.8.2(12C3104) 10.15.7 MD093xx/A
MD094xx/A
Mac-00BE6ED71E35EB86
iMac12,1 iMac 21.5寸 2011年末 2011年8月 Sandy Bridge(S) Radeon HD 6750M 10.7.5 10.13.6 MC978xx/A Mac-942B5BF58194151B 仅用于教育
iMac12,2 iMac 27寸 2011年中 2011年5月 Sandy Bridge(S) Radeon HD 6770M(/6970M) 10.6.6(10J4026) 10.13.6 MC813xx/A
MC814xx/A
Mac-942B59F58194171B IM121.88Z.0047.B00.1102091756 仅支持随机附送的10.6.6
iMac12,1 iMac 21.5寸 2011年中 2011年5月 Sandy Bridge(S) Radeon HD 6750M(/6770M) 10.6.6(10J4026) 10.13.6 MC309xx/A
MC812xx/A
Mac-942B5BF58194151B 仅支持随机附送的10.6.6
iMac11,3 iMac 27寸 2010年中 2010年7月 Clarkdale(S) Radeon HD 5670(/5750) 10.6.3(10D2322a) 10.13.6 MC510xx/A
MC511xx/A
Mac-F2238BAE
iMac11,2 iMac 21.5寸 2010年中 2010年7月 Clarkdale(S) Radeon HD 4670(/5670) 10.6.3(10D2322a) 10.13.6 MC508xx/A
MC509xx/A
Mac-F2238AC8 IM112.88Z.0057.B00.1005031455
iMac11,1 iMac 27寸 2009年末 2009年10/11月 Lynnfield(S) Radeon HD 4850(/4670) 10.6.2(10C2234) 10.13.6 MB953LL/A
MC507LL/A
Mac-F2268DAE IM111.88Z.0034.B02.1003171314
iMac10,1 iMac 27寸 2009年末 2009年10/11月 Wolfdale(S) Radeon HD 4670/GeForce 9400M 10.6.1(10A2155) 10.13.6 MB952xx/A
MB953xx/A
Mac-F2268DC8
Mac-F2268CC8
Mac-F221DCC8
IM101.88Z.00CC.B00.0909031926
iMac10,1 iMac 21.5寸 2009年末 2009年10/11月 Wolfdale(S) Radeon HD 4670/GeForce 9400M 10.6.1(10A2155) 10.13.6 MB950xx/A
MC413xx/A
Mac-F2268DC8
Mac-F2268CC8
Mac-F221DCC8
IM101.88Z.00CC.B00.0909031926
/ iMac 20寸 2009年中 2009年4月 / / 10.5.6 10.11.6 /
iMac9,1 iMac 24寸 2009年初 2009年3月 Penryn(M) GeForce 9400M(/NVIDIA GeForce GT 120/NVIDIA GeForce GT 130) 10.5.6(9G2030) 10.11.6 MB418xx/A
MB419xx/A
Mac-F2218FC8
Mac-F2218FA9
Mac-F2218EC8
Mac-F2218EA9
iMac9,1 iMac 20寸 2009年初 2009年3月 Penryn(M) GeForce 9400M 10.5.6(9G2030) 10.11.6 MB417xx/A
MC019xx/A
Mac-F2218FC8
Mac-F2218FA9
Mac-F2218EC8
Mac-F2218EA9
iMac8,1 iMac 20/24寸 2008年初 2008年4月 Penryn(M) Radeon HD 2400 XT 10.5.2(9C2028) 10.11.6 MB323XX/A
MB324XX/A
MB388XX/A
MB391XX/A
MB325XX/A
MB393XX/A
MB398XX/A
Mac-F227BEC8
Mac-F226BEC8
iMac7,1 iMac 20/24寸 2007年中 2007年8月 Merom(M) Radeon HD 2400 XT(/ATI Radeon HD 2400/ATI Radeon HD 2600 Pro) 10.4.10(8R4031) 10.11.6 MA876XX/A
MA877XX/A
MB199XX/A
MB200XX/A
MA878XX/A
MB201XX/A
MB322XX/A
Mac-F4238CC8
Mac-F42386C8
iMac6,1 iMac 24寸 2006年末 2006年9月 Merom(M) GeForce 7300GT 10.4.7(8K1123) 10.7.5 MA456xx/A Mac-F4218FC8
iMac5,2 iMac 17寸 2006年末 2006年9月 Merom(M) GMA 950 10.4.7(8K1106) 10.7.5 MA710xx/A Mac-F4218EC8
iMac5,1 iMac 17寸 2006年末 2006年9月 Merom(M) Radeon X1600 10.4.7(8K1106) 10.7.5 MA590xx/A Mac-F4228EC8
iMac5,1 iMac 20寸 2006年末 2006年9月 Merom(M) Radeon X1600 10.4.7(8K1106) 10.7.5 MA589xx/A Mac-F4228EC8
iMac4,2 iMac 17 2006年中 2006年7月 Yonah(M) GMA 950 10.4.7(8I2057) 10.6.8 MA406xx/A Mac-F4218EC8
iMac4,1 iMac 17 2006年初 2006年1月 Yonah(M) Radeon X1600 10.4.4(8G1165) 10.6.8 MA199xx/A
MA200xx/A
Mac-F42786C8

Mac Mini

OpenCore不支持Macmini9,1。

型号标识符 描述 发布日期 CPU Family GPU(/为双显卡,,为单显卡) 最低macOS版本 最高macOS版本 部件号 主板号 备注
Macmini9,1 Mac Mini 2020年 M1 2020年11月 Apple M1 八核Apple图形卡 11.0.0(20A2411) 至今 MGNR3xx/A
MGNT3xx/A
Apple M1芯片,型号标识符J274
Macmini8,1 Mac Mini 2018年末 2020年03月 Coffee Lake(H) UHD Graphics 630 10.14(18A2063) 至今 MRTR2xx/A
MRTT2xx/A
MXNF2xx/A
MXNG2xx/A
Mac-7BA5B2DFE22DDD8C 只升级了硬盘
Macmini8,1 Mac Mini 2018年末 2018年10月 Coffee Lake(H) UHD Graphics 630 10.14(18A2063) 至今 MRTR2xx/A
MRTT2xx/A
MXNF2xx/A
MXNG2xx/A
Mac-7BA5B2DFE22DDD8C
Macmini7,1 Mac Mini 2014年末 2014年10月 Haswell(U) HD 5000/Iris 5100 10.10(14A389) 至今 MGEM2xx/A
MGEN2xx/A
MGEQ2xx/A
Mac-35C5E08120C7EEAF
Macmini6,2 Mac Mini/Server 2012年末 2012年10月 Ivy Bridge(QM) HD 4000 10.8.1(12B2080) 10.15.7 MD387xx/A
MD388xx/A
MD389xx/A
Mac-F65AE981FFA204ED
Macmini6,1 Mac Mini/Server 2012年末 2012年10月 Ivy Bridge(M) HD 4000 10.8.1(12B2080) 10.15.7 MD387xx/A
MD388xx/A
MD389xx/A
Mac-031AEE4D24BFF0B1
Macmini5,3 Mac Mini/Server 2011年中 2011年7月 Sandy Bridge(QM) HD 3000 10.7(11A2061) 10.13.6 MC936LL/A Mac-7BA5B2794B2CDB12
Macmini5,2 Mac Mini/Server 2011年中 2011年7月 Sandy Bridge(M) Radeon HD 6630M 10.7(11A2061) 10.13.6 MC815xx/A
MC816xx/A
MC936xx/A
Mac-4BC72D62AD45599E
Macmini5,1 Mac Mini/Server 2011年中 2011年7月 Sandy Bridge(M) HD 3000 10.7(11A2061) 10.13.6 MC815xx/A
MC816xx/A
MC936xx/A
Mac-8ED6AF5B48C039E1
Macmini4,1 Mac Mini 2010年中 2010年6月 Penryn(M) GeForce 320M 10.6.4(10F2025) 10.13.6 MC438xx/A
MC270xx/A
Mac-F2208EC8
Macmini3,1 Mac Mini 2009年末 2009年10月 Penryn(M) GeForce 9400M 10.6.3 10.11.6 MC238xx/A
MC239xx/A
MC408xx/A
Mac-F22C86C8
Macmini3,1 Mac Mini 2009年初 2009年3月 Penryn(M) GeForce 9400M 10.5.6(9G2030) 10.11.6 MB464xx/A
MB463xx/A
Mac-F22C86C8
Macmini2,1 Mac Mini 2007年中 2007年8月 Merom(M) GMA 950 10.4.10(8R3014) 10.7.5 MB138*/A
MB139*/A
Mac-F4208EAA
Macmini1,1 Mac Mini 2006年末 2006年9月 Yonah(M) GMA 950 10.4.5(8H1619) 10.6.8 MA607*/A
MA608*/A
Mac-F4208EC8
Macmini1,1 Mac Mini 2006年初 2006年3月 Yonah(M) GMA 950 10.4.5(8H1619) 10.6.8 MA205*/A
MA206*/A
Mac-F4208EC8

Mac Pro

型号标识符 描述 发布日期 CPU Family GPU(/为双显卡,,为单显卡) 最低macOS版本 最高macOS版本 部件号 主板号 BIOS版本 备注
MacPro7,1 Mac Pro Rack 2019年末 2019年12月 CCascade Lake-W Radeon Pro 580X/Radeon Pro Vega II(/Duo) 10.15.0(19A583) 至今 / Mac-27AD2F918AE68F61
MacPro7,1 Mac Pro 2019年末 2019年12月 Cascade Lake-W Radeon Pro 580X/Radeon Pro Vega II(/Duo) 10.15.0(19A583) 至今 / Mac-27AD2F918AE68F61
MacPro6,1 Mac Pro 2013年末 2013年12月 Ivy BridgeEP FirePro D300(/D500/D700) 10.9.1(13B4116) 至今 ME253xx/A
MD878xx/A
Mac-F60DEB81FF30ACF6
MacPro5,1 Mac Pro 2012年中 2012年6月 Westmere EP Radeon HD 5770(/5870) 10.7.5 10.14.6 MD770xx/A
MD771xx/A
Mac-F221BEC8 安装Mojave需要支持Metal的图形卡,具体查看https://support.apple.com/zh-cn/HT208898
MacPro5,1 Mac Pro Server 2012年中 2012年6月 Westmere EP Radeon HD 5770(/5870) 10.7.5 10.14.6 MD772xx/A Mac-F221BEC8 安装Mojave需要支持Metal的图形卡,具体查看https://support.apple.com/zh-cn/HT208898
MacPro5,1 Mac Pro 2010年中 2010年8月 Westmere EP Radeon HD 5770(/5870) 10.6.4(10F2521) 10.14.6 MC250xx/A
MC560xx/A
MC561xx/A
Mac-F221BEC8 安装Mojave需要支持Metal的图形卡,具体查看https://support.apple.com/zh-cn/HT208898
MacPro5,1 Mac Pro Server 2010年中 2010年8月 Nehalem Radeon HD 5770(/5870) 10.6.4(10F2521) 10.14.6 MC915xx/A Mac-F221BEC8 MP51.88Z.007F.B03.1010071432 安装Mojave需要支持Metal的图形卡,具体查看https://support.apple.com/zh-cn/HT208898
MacPro4,1 Mac Pro 2009年初 2009年3月 Nehalem GeForce GT 120(/NVIDIA Geforce GTX 285/NVIDIA Geforce Quadro FX 4800/ATI Radeon HD 4870) 10.5.6(9G3553) 10.11.6 MB871xx/A
MB535xx/A
Mac-F221BEC8 MP41.88Z.0081.B07.0910130729
MacPro3,1 Mac Pro 2008年初 2008年1月 Harpertown Radeon HD 2600(/NVIDIA GeForce 8800 GT/NVIDIA Quadro FX 5600) XT 10.5.1(9B2117) 10.11.6 MA970*/A Mac-F42C88C8 MP31.88Z.006C.B05.0802291410
MacPro2,1 Mac Pro 2007年初 2007年4月 Clovertown GeForce 7300 GT 10.4.9(8P4037) 10.7.5 MA356*/A Mac-F4208DA9
MacPro1,1 Mac Pro 2006年中 2006年8月 Woodcrest GeForce 7300 GT 10.4.7(8K1079) 10.7.5 MA356*/A Mac-F4208DC8

Xserve

型号标识符 描述 发布日期 CPU Family GPU(/为双显卡,,为单显卡) 最低macOS版本 最高macOS版本 部件号 主板号 备注
Xserve3,1 Xserve 2009年初 2009年4月 Nehalem EP GeForce GT 120 Server 10.5.6 10.11.6 / Mac-F223BEC8
Xserve2,1 Xserve 2008年初 2008年1月 Harpertown Radeon X1300 Server 10.5(9B2117) 10.7.5 / Mac-F42289C8
Xserve1,1 Xserve 2006年末 2006年11月 Woodcrest Radeon X1300 Server 10.4.8(8N1215) Server 10.7.5 / Mac-F4208AC8
RackMac3,1 Early 2004 PowerPC 970fx (G5) 10.3.0 Server 10.5.8
RackMac1,2 Early 2003 PowerPC 7455 (G4) 10.2.4(6I34) Server 10.5.8
RackMac1,1 Mid-2002 PowerPC 7455 (G4) 10.1.5 (6C115) Server 10.5.8

Developer Transition Kit

OpenCore不支持。

型号标识符 发布日期 CPU Family 产品标识符 最低macOS版本
ADP3,2 Mid 2020 Apple A12Z J273 11.0.0 (20A5299w)
ADP2,1 Mid 2005 Intel Prescott / 10.4.1 (8B1025)

PowerBook/iBook

OpenCore不支持。

型号标识符 发布日期 CPU Family 最低macOS版本 最高macOS版本 类型
PowerBook6,8 Early 2005 PowerPC 7447a (G4) 10.3.7 10.5.8 PowerBook
PowerBook6,7 Mid-2005 PowerPC 7447a (G4) 10.4.2(8D37) 10.5.8 iBook
PowerBook6,5 Mid-2004 PowerPC 7447a (G4) 10.3.3(7G51) 10.5.8 iBook
PowerBook6,4 Mid-2004 PowerPC 7447a (G4) 10.2.7 10.5.8 PowerBook
PowerBook6,3 Late 2003 PowerPC 7457 (G4) 10.3(7B85) 10.4.11 iBook
PowerBook6,2 Early 2003 PowerPC 7455 (G4) 10.2.3 10.5.8 PowerBook
PowerBook6,1 Early 2003 PowerPC 7455 (G4) 10.2.3 10.5.8 PowerBook
PowerBook5,9 Late 2005 10.4.2 10.5.8 PowerBook
PowerBook5,8 Late 2005 10.4.2 10.5.8 PowerBook
PowerBook5,7 Early 2005 10.3.3 10.5.8 PowerBook
PowerBook5,6 Early 2005 10.3.3 10.5.8 PowerBook
PowerBook5,5 Mid-2004 PowerPC 7447a (G4) 10.3.3 10.5.8 PowerBook
PowerBook5,4 Mid-2004 PowerPC 7447a (G4) 10.3.3 10.5.8 PowerBook
PowerBook5,3 Late 2003 PowerPC 7447 (G4) 10.2.7 10.5.8 PowerBook
PowerBook5,2 Late 2003 PowerPC 7447 (G4) 10.2.7 10.5.8 PowerBook
PowerBook5,1 Early 2003 PowerPC 7455 (G4) 10.2.4 10.5.8 PowerBook
PowerBook4,3 Mid-2002 PowerPC 750fx (G3) 9.2.2 10.4.11 iBook
PowerBook4,2 Early 2002 PowerPC 750cx (G3) 9.2.1 10.4.11 iBook
PowerBook4,1 Late 2002 PowerPC 7455 (G4) 9.2.2 10.5.8 iBook
PowerBook3,5 Late 2002 PowerPC 7455 (G4) 9.2.2 10.5.8 PowerBook
PowerBook3,4 Mid-2002 PowerPC 7451 (G4) 9.2.2 10.4.11 PowerBook
PowerBook3,3 Late 2001 PowerPC 7440 (G4) 9.2.1 10.4.11 PowerBook
PowerBook3,2 Early 2001 PowerPC 7410 (G4) 9.1 10.4.11 PowerBook
PowerBook3,1 Early 2000 PowerPC 750 (G3) 9.0.2 10.4.11 PowerBook
PowerBook2,2 Late 2000 PowerPC 750cx (G3) 9.0.4 10.4.11 iBook
PowerBook2,1 Mid-1999 PowerPC 750 (G3) 8.6 10.3.9 iBook
PowerBook1,1 Mid-1999 PowerPC 750 (G3) 8.6 10.3.9 PowerBook

PowerMac/eMac/Cube/Mac Mini

OpenCore不支持。

型号标识符 发布日期 CPU Family 最低macOS版本 最高macOS版本 备注
PowerMac12,1 Late 2005 PowerPC 970fx (G5) 10.4.2(8E102) 10.5.8 iMac
PowerMac11,2 Late 2005 PowerPC 970MP (G5) 10.4.2 10.5.8 PowerMac
PowerMac10,2 Late 2005 PowerPC 7447a (G4) 10.4.2(8D40) 10.5.8 Mac Mini
PowerMac10,1 Early 2005 PowerPC 7447a (G4) 10.3.7(7T11) 10.5.8 Mac Mini
PowerMac9,1 Late 2004 PowerPC 970fx (G5) 10.3.5(8E90) 10.5.8 PowerMac
PowerMac8,2 Mid-2005 PowerPC 970 (G5) 10.4(8A428) 10.5.8 iMac
PowerMac8,1 Mid-2004 PowerPC 970 (G5) 10.3.5(7P35) 10.5.8 iMac
PowerMac7,3 Early-2005 PowerPC 970fx (G5) 10.4 10.5.8 PowerMac
PowerMac7,2 Mid-2003 PowerPC 970 (G5) 10.2.7 10.5.8 PowerMac
PowerMac6,4 Early 2004 PowerPC 7447a (G4) 10.3.3 10.5.8 eMac
PowerMac6,3 Late 2003 PowerPC 7445 (G4) 10.3.1 10.5.8 iMac
PowerMac6,1 Early 2003 PowerPC 7445 (G4) 10.2.3 10.5.8 iMac
PowerMac5,2 Mid-2000 PowerPC 7400 (G4) 9.0.4 10.4.11 Cube
PowerMac5,1 Mid-2000 PowerPC 7400 (G4) 9.0.4 10.4.11 Cube
PowerMac4,5 Mid-2002 PowerPC 7445 (G4) 9.2.2 10.4.11 iMac
PowerMac4,4 Mid-2003 PowerPC 7445 (G4) 9.2.2 10.5.8 eMac
PowerMac4,2 Early 2002 PowerPC 7441 (G4) 9.2.2 10.4.11 iMac
PowerMac4,1 Early 2001 PowerPC 750cx (G3) 9.1 10.4.11 iMac
PowerMac3,6 Mid-2002 PowerPC 7455 (G4) 9.2.2 10.5.8 PowerMac
PowerMac3,5 Mid-2001 PowerPC 7450 (G4) 9.2 10.5.8 PowerMac
PowerMac3,4 Early 2001 PowerPC 7410 (G4) 9.1 10.4.11 PowerMac
PowerMac3,3 Mid-2000 PowerPC 7400 (G4) 9.0.4 10.4.11 PowerMac
PowerMac3,2 Mid-2001 PowerPC 7450 (G4) 9.2 10.4.11 PowerMac
PowerMac3,1 Mid 1999 PowerPC 7400 (G4) 8.6 10.4.11 PowerMac
PowerMac2,2 Mid 2000 PowerPC 750 (G3) 9.0.4 10.3.9 iMac
PowerMac2,1 Late 1999 PowerPC 750 (G3) 8.6 10.4.11 iMac
PowerMac1,2 Mid 1999 PowerPC 7400 (G4) 8.6 10.4.11 PowerMac
PowerMac1,1 Early 1999 PowerPC 750 (G3) 8.5.1 10.4.11 PowerMac
iMac,1 Mid 1998 PowerPC 750 (G3) 8.1 10.3.9 iMac

重要事件

时间 事件
WWDC 2005 推出了搭载 Intel 处理器的 DTK(Dev Transition Kit),搭载了兼容 Intel 的 Mac OS X 10.4.1
2006-01-10 发布使用UEFI引导方式的MacBook Pro
2006-02-14 The Guru团队发布首个Patch补丁,通过该补丁修补XNU内核即可解除引导和安装限制,在任何内置SSE-2指令集的Intel处理器上运行Mac OS X 10.4.4(10.4.4-10.4.7可通过修补内核安装,但从10.4.8开始,苹果开始更广泛地使用SSE-3指令集,意味仅仅通过修补XNU 内核已经无法再兼容只支持SSE-2指令集的处理器,如早期的奔腾4)
2007 BrazilMac发布了对Leopard的通用补丁(基于补丁制作的Mac OS X发行版开始出现,如iATKOS、KALYWAY和iPC)

Rosetta

苹果使用过后的CPU体系结构有摩托罗拉68000系列->PowerPC系列->英特尔酷睿系列->Apple的ARM型处理器系列。Rosetta是苹果在CPU架构过渡时推出的编译器,允许新的平台来模拟以前的平台,以正常运行应用程序。

Rosetta用于从PowerPC到Intel的过渡,可用于10.4.4–10.6.8,不适用于Mac OS 9或更早版本以及10.7或更新版本。Lion安装Rosetta的相关讨论可见以下链接。

1
https://www.insanelymac.com/forum/topic/262890-installing-rosetta-on-lion/

Rosetta 2用于从Intel到Apple Silicon的过渡,可用于Big Sur。

ACPI

ACPI表是一组硬件描述表,包括SSDT/DSDT等。ACPI是BIOS的基本部分,包含本机设备的基本信息,定义了设备的启动顺序,并提供了它们之间相互通信的基本方法。

Windows 98是第一个支持ACPI的操作系统,Windows Vista以后的Windows则要求电脑必须支持ACPI。Linux不需要ACPI也可以运行,但是在现代设备上禁用ACPI将会导致绝大部分硬件无法运行。Android中也内置了一个精简的ACPI。

Mac从PowerPC架构迁移到Intel架构后开始采用ACPI。但iOS并没有ACPI,而是完全使用自己的私有架构iBoot。搭载M1的Mac也不存在ACPI,使用IBoot作为Bootloader。因此搭载M1的Mac上是几乎没有可能运行Windows的。

系统ACPI表

DSDT与SSDT

DSDT是ACPI的一部分,描述计算机设备信息,包含主要的设备树和标准方法。DSDT是硬件表中最重要的一个,系统根据DSDT驱动相应的硬件。SSDT也称为热补丁,可以在不更改DSDT源文件的情况下完成对DSDT的修复,并实现相应功能。

系统的SSDT则通常包含SATA管理(\_SB.PCI0.SATA)、传感器管理(PTID)、CPU管理(\_PR.CPU)、Intel显卡管理(PCI0.GFX0/PCI0.VID)、GPU管理(GFX0/PEGP/DGFX)等。

大部分Intel iGPU在DSDT中被管理,但有时在SSDT中,可通过搜索GFX0所在位置确定。

因此,对DSDT的修补可以直接通过修改DSDT文件本身,也可以通过SSDT避免替代整个DSDT所带来的其它问题。用SSDT修补DSDT的基本思路是,SSDT中提供某设备经修补的函数,启动时引导器将会把SSDT中的内容注入到DSDT中。在SSDT的函数注入DSDT时,为防止DSDT中出现相同的函数导致冲突,一般需要对DSDT中的原函数进行重命名。

OEM SSDT

OEM SSDT在Mac下没有作用。删除OEM SSDT可避免发生冲突,但可能会发生意料不到的错误。

重命名法则

目的

重命名即对DSDT的部分字段进行修改。重命名法则通常写在引导器的配置文件中,在启动时引导器自动完成该工作。

SSDT的应用常常要配合ACPI的更名,但更名不只适用于SSDT,也可以适用于直接对DSDT进行部分小修改。更新BIOS有可能造成重命名失效。

规则

一般而言ACPI重命名为四个字符,这四个ASCII码对应的十六进制为八位。若需要将DSDT中所有的变量AAAA都替换为BBBB,则在config.plist中添加以下更名补丁即可。

1
2
3
Comment: change AAAA to BBBB
Find: 41414141 // AAAA的ASCII码十六进制数
Replace: 42424242 // BBBB的ASCII码十六进制数

有时需要进行部分修改。如SSDT经常需要将DSDT中的原函数更名,以达到让DSDT中的原函数失效、SSDT中的新函数生效的效果。此时应只对该函数的定义处进行更名,该函数的调用处则不应该被更名。但如果未添加冗余信息,则将会使函数调用处的名称也被更改,从而使调用的函数不是新写的函数,而是被更名过的原函数,这样SSDT便无法起作用。

举例如下。若修改时指定将ABCD修改为ABCX,则不仅ABCD的定义处被修改,EFGH中ABCD的调用处也被修改,则还是调用了被修改名字的原函数,SSDT不起作用。

1
2
3
4
5
6
7
8
9
Method (ABCD, 1, NotSerialized){
...
}

Method (EFGH, 1, NotSerialized){
...
ABCD()
...
}

对于部分修改的情况,为了精确定位到要修改的位置,一般需要添加冗余信息。

对于Method的定义,可通过其类型添加冗余信息。以下以ABCD该Method为例说明,其中ABCD对应的十六进制码为41424344。

方法名 十六进制码
Method (ABCD, 1, NotSerialized) 41424344 01
Method (ABCD, 0, Serialized) 41424344 08
Method (ABCD, 1, Serialized) 41424344 09

一般情况下遵循以下规则。

方法格式 十六进制码
Method(xxxx,a,N) xxxx的十六进制代码+a的十六进制代码,最后两位范围为 00-07
Method(xxxx,b,S) xxxx的十六进制代码+(b+8)的十六进制代码,最后两位范围为08-0F

对于其它无规律的情况,可手动查找。用Hex Friend打开DSDT文件,将搜索模式改为Text,搜索要替换的字段名。定位到要替换的字段位置后,选中该字段并将光标向后拉,直至选中约22个十六进制数。复制该值并搜索,查看该DSDT中该内容是否只出现了一次。若是,则将本内容填入Find中,而Replace填写替换了前8位十六进制数后的内容,示例如下。

1
2
3
4
// 带有14位冗余信息(12345678 901234)用于定位
Comment: change AAAA to BBBB
Find: 41414141 12345678 901234
Replace: 42424242 12345678 901234

若使用Clover引导,也可通过Tgtbridge限定字段的查找范围。定义Tgtbridge后,Clover只会在Tgtbridge值对应的设备中进行字段修改。以将DSDT中设备CCCC内的变量AAAA替换为BBBB为例,更名补丁如下。

1
2
3
4
Comment: change AAAA to BBBB in CCCC
Find: 41414141
Replace: 41414141
Tgtbridge: 43434343

获取十六进制码

打开Hackintool并切换到计算器选项卡,在ASCII码一栏输入原来的字段名,在16进制值一栏会显示对应的八个数字。

也可打开终端,利用以下命令得到ASCII码十六进制数。

1
2
// 获取BIFA的ASCII码十六进制数
echo -n BIFA | xxd

常见十六进制码

常见十六进制码含义如下。Noop一般用于补足字节数量。

十六进制码 源码
00 {
A0 If
A4 0A 0F Return(0x0F)
A3 Noop

提取ACPI表

通过Clover

此方法所提取的ACPI最纯净,推荐使用。

在Clover引导界面按F4即可,所有ACPI表将被提取到EFI/Clover/ACPI/origin目录下。

通过OpenCore

使用在USB中的DEBUG版本的OpenCore,并在配置文件中设置SysReport为True,即可在启动时自动提取ACPI表。将OpenCore替换为DEBUG版本,需要替换以下文件。

1
2
3
4
EFI/BOOT/BOOTx64.efi
EFI/OC/Bootstrap/Bootstrap.efi
EFI/OC/Drivers/OpenRuntime.efi
EFI/OC/OpenCore.efi

通过MaciASL

Mac下打开MaciASL,默认打开本机DSDT。

通过UefiTableExtract

该工具从UEFI BIOS固件中提取ACPI表。

打开以下链接并下载压缩包,解压后运行install.command,再运行UefiTableExtract即可。

1
https://github.com/Saman-VDR/uefiTableExtract

若遇到诸如Namespace lookup failure, AE_ALREADY_EXISTS的错误,可尝试以下命令进行修复。

1
2
3
cd AML
mv SSDT-trouble.aml SSDT-trouble.bin && iasl -d SSDT-trouble.bin
iasl -da DSDT.aml SSDT*.aml

通过acpidump

通过以下链接下载acpidump.efi,并复制到Clover或OpenCore的Tools文件夹中。对于OpenCore,还需在config.plist的Misc-Tools下添加该工具的相关条目。

1
2
https://www.acpica.org/downloads/uefi-support
https://github.com/dortania/OpenCore-Install-Guide/blob/master/extra-files/acpidump.efi.zip

在Clover或OpenCore的引导界面上将会显示该工具,调用后会生成DSDT.dat,修改后缀名为DSDT.aml即可。若无法打开此工具,则可在引导界面进入EFI Shell,输入以下命令以手动运行。

1
2
3
4
fs0: // 替代为自己的EFI分区标识
ls
cd EFI\OC\Tools // 或EFI\Clover\Tools
acpidump.efi -b -n DSDT -z

也可直接使用acpidump.exe,在Windows下运行即可。

1
https://acpica.org/downloads/binary-tools

通过RW-Everything

在Windows下打开RW-Everything,点击Access-ACPI Tables,选择要提取的表,点击Save as Binary即可。

通过aida64

在Windows下打开aida64,点击工具-ACPI浏览器,点击Save DSDT以保存DSDT,点击Save Table以保存SSDT。

通过Linux

以Ubuntu为例,启动系统后进入终端并输入以下命令以存储DSDT。

1
2
cd Desktop
sudo cat /proc/acpi/dsdt > dsdt.aml

通过SSDTTime

在Windows或Linux下打开SSDTTime,选择Dump DSDT即可。

SSDT加载顺序

当SSDT的对象为机器的ACPI时,各SSDT之间没有顺序要求。当SSDT的对象为在另一个新的SSDT定义的设备时,将此SSDT放到定义该设备的SSDT之后加载。

编译与反编译

ACPI表主要有两种形式,dsl为未编译过的源码,aml为编译过的应用文件。dat扩展名与aml完全相同。

尽管可以直接用MaciASL打开aml文件,但这样的操作实际上是对单个文件进行反汇编。由于DSDT和SSDT间可能存在复杂的应用关系,独立反汇编将可能导致错误,因此建议先将aml反编译为dsl文件。

以下所有操作均需ACPI表的编译器iasl,可通过以下链接下载。

1
2
https://bitbucket.org/RehabMan/acpica/downloads/
https://github.com/acidanthera/MaciASL/blob/master/Dist/iasl-stable

终端切换到iasl所在目录,输入以下命令即可。

1
2
3
4
5
6
7
8
9
10
# 编译与反编译
# 提供aml文件即可得到dsl文件,反之亦可
iasl DSDT.dsl/SSDT*.dsl

# 编译
iasl -l DSDT.dsl/SSDT*.dsl

# 反编译
# 对于较旧的ACPI表需要加-da参数,较新的ACPI表(Skylake及更高)则不用加
iasl [-da] -dl DSDT.aml/SSDT*.aml

ASL语法

语法

ASL是ACPI所使用的语法。注意不支持非ASCII字符注释(中文注释)。

iASL补丁

单行注释用#,每个补丁用;分隔。补丁的语法如下。

1
(into|into_all) (All|DefinitionBlock|Scope|Method|Device|Processor|ThermalZone) [(label|name_adr|name_hid|code_regex|code_regex_not|parent_label|parent_type|parent_adr|parent_hid) <selector>...] (insert|set_label|replace_matched|replaceall_matched|remove_matched|removeall_matched|remove_entry|replace_content|store_%8|store_%9) begin <argument> end;

其中不同类型的函数如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
# DOM
extent into,into_all
scope definitionblock,scope,method,device,processor,thermalzone,all
predicate label,name_adr,name_hid,parent_label,parent_type,parent_adr,parent_hid
action insert,set_label,remove_entry,replace_content

# REGEX
extent into,into_all
predicate code_regex,code_regex_not
action replace_matched,replaceall_matched,remove_matched,removeall_matched,store_%8,store_%9

# No Arguments
remove_entry,remove_matched,removeall_matched,store_%8,store_%9

变量

命名

变量命名不超过四个字符,且不能以数字开头。

所有ACPI标识符都是四个字符,短名称用下划线填充。如XHC在AML二进制中表示为XHC_,EC为EC__,EC0为EC0_,MEI为MEI_

类型

变量类型包括Integer、String、Event(事件)、Buffer(数组)、Package、Buffer Field等。定义变量时不需要显式声明其类型。

Integer

整数。定义示例如下。

1
Name(TEST, 0)
String

字符串。定义示例如下。

1
Name(MSTR, "ASL")
Package

对象集合。定义示例如下。

1
2
3
4
5
Name (_PRW, Package (0x02)
{
0x0D,
0x03
})
Buffer Field

Buffer Field的种类如下。

创建语句 大小
CreateBitField 1-Bit
CreateByteField 8-Bit
CreateWordField 16-Bit
CreateDWordField 32-Bit
CreateQWordField 64-Bit
CreateField 任意大小

定义示例如下。

1
2
3
4
5
6
CreateBitField (AAAA, Zero, CCCC)
CreateByteField (DDDD, 0x01, EEEE)
CreateWordField (FFFF, 0x05, GGGG)
CreateDWordField (HHHH, 0x06, IIII)
CreateQWordField (JJJJ, 0x14, KKKK)
CreateField (LLLL, Local0, 0x38, MMMM)
赋值
1
2
3
4
5
// 传统ASL
Store(Local0, Local1)

// ASL+
Local0 = Local1

作用域

Scope形成作用域,概念类似于数学中的集合{}。

引用

符号\引用根作用域,^(父运算符)引用上级作用域,一个^运算符将当前作用域上移一位。

在同一目录下引用其它字段只需写相对路径,在另一设备下引用则需写绝对路径。比如对于PWBW路径\_SB.PCI0.LPCB.PWBW,在_SB.PCI0.LPCB下只需通过PWBW引用,在外部则要通过\_SB.PCI0.LPCB.PWBW引用。

根作用域

有且仅有一个根作用域,因此DSDT均为如下框架。

1
2
3
DefinitionBlock ("xxxx", "DSDT", 0x02, "xxxx", "xxxx", xxxx){
...
}

xxxx参数依次表示输出文件名、OEMID、表ID、OEM版本。第三个参数根据第二个参数指定,DSDT一定是0x02。其他参数可以自由修改。

其它作用域

根作用域下有_GPE_PR_SB_SI_TZ五个作用域,Device(xxxx)也可看做是一个作用域。不同属性的设备放在对应的作用域下。

_GPE

ACPI的事件处理。

1
2
3
4
5
6
7
8
Scope (_GPE)
{
Method (_L0D, 0, NotSerialized)
{
...
}
...
}
_PR

处理器相关信息。不同的CPU所在的域会不同,常见的有_PR_SBSCK0等。

1
2
3
4
5
6
7
8
Scope (_PR)
{
Processor (CPU0, 0x00, 0x00000410, 0x06)
{
...
}
...
}
_SB

所有的设备和总线。

1
2
3
4
5
6
7
8
Scope (_SB)
{
Device (PCI0)
{
...
}
...
}
_SI

系统指示灯。白苹果中无此作用域。

_TZ

热区,用于读取某些温度。

函数/方法

方法定义

自定义的函数被称为方法,用Method定义。函数最多可以传递八个参数,在函数里用Arg0-Arg7表示,不可以自定义。函数最多可以用八个局部变量,用Local0-Local7表示,无需定义,但需要初始化即必须要有一次赋值操作才能使用。

函数可以定义在Device下或者Scope下,但是不能脱离Scope定义单独的函数。参数个数如果不定义默认为零。

定义示例如下。方法名为ABCD,参数个数为2,为可序列化函数。

1
Method (ABCD, 2, Serialized)
单一变量函数
1
2
3
4
5
// 定义TEST函数
Method (TEST)
{
...
}
有两个输出参数的函数

使用局部变量Local0-Local7。

1
2
3
4
5
6
7
8
9
10
11
12
13
// 定义有两个输入参数的MADD函数
Method (MADD, 2)
{
// 传统ASL
Store(Arg0, Local0)
Store(Arg1, Local1)
Add(Local0, Local1, Local0)

// ASL+
Local0 = Arg0
Local1 = Arg1
Local0 += Local1
}
带返回值的函数
1
2
3
4
5
6
7
8
9
// 实现自定义加法
Method (MADD, 2)
{
Local0 = Arg0
Local1 = Arg1
Local0 += Local1

Return (Local0)
}

调用方法如下。

1
2
3
4
5
// 传统ASL
Store(MADD(1,2), Local0)

// ASL+
Local0 = 1 + 2
可序列化函数

当函数声明为Serialized时,内存中仅能存在一个实例。一般应用在函数中创建一个对象。

1
2
3
4
Method(TEST, Serialized)
{
Name(MSTR,"I will success")
}

如果声明TEST函数如上,则运行以下代码时,若先执行Dev1的TEST,Dev2的TEST将等待Dev1中的TEST函数执行完毕后再执行。

1
2
3
4
5
6
7
Device (Dev1)
{
TEST()
}
Device (Dev2)
TEST()
}

若声明为NotSerialized,则在其中一个Dev调用TEST的时候,另一个将调用失败,因无法同时创建同一字符串MSTR。

现有函数
赋值函数

在ASL+中可直接使用=,传统ASL中需要用Store(A, B),表示将A存到B中,即B=A。

运算函数

传统ASL中没有运算符。在ASL+中引入了与C语言等同的+-*/=<<>>和逻辑判断==!=等。

算术运算函数
ASL+ 传统 ASL 中文含义 举例
+ Add 整数相加 Local0 = 1 + 2
Add (1, 2, Local0)
- Subtract 整数减法 Local0 = 2 - 1
Subtract (2, 1, Local0)
* Multiply 整数相乘 Local0 = 1 * 2
Multiply (1, 2, Local0)
/ Divide 整数除法 Local0 = 10 / 9
Divide (10, 9, Local1(余数), Local0(结果))
% Mod 整数求余 Local0 = 10 % 9
Mod (10, 9, Local0)
<< ShiftLeft 左移 Local0 = 1 << 20
ShiftLeft (1, 20, Local0)
>> ShiftRight 右移 Local0 = 0x10000 >> 4
ShiftRight (0x10000, 4, Local0)
Decrement 整数自减 1 Local0–
Decrement (Local0)
++ Increment 整数自增 1 Local0++
Increment (Local0)
& And 整数于 Local0 = 0x11 & 0x22
And (0x11, 0x22, Local0)
&#124; Or Local0 = 0x01 \ 0x02
Or (0x01, 0x02, Local0)
~ Not 取反 Local0 = ~(0x00)
Not (0x00,Local0)
Nor 异或 Nor (0x11, 0x22, Local0)
逻辑运算函数
ASL+ 传统 ASL 中文含义 举例
&& LAnd 逻辑与 If (BOL1 && BOL2)
If (LAnd(BOL1, BOL2))
! LNot 逻辑反 Local0 = !0
Store (LNot(0), Local0)
&#124; LOr 逻辑或 Local0 = (0 | 1)
Store (LOR(0, 1), Local0)
< LLess 逻辑小于 Local0 = (1 < 2)
Store (LLess(1, 2), Local0)
<= LLessEqual 逻辑小于等于 Local0 = (1 <= 2)
Store (LLessEqual(1, 2), Local0)
> LGreater 逻辑大于 Local0 = (1 > 2)
Store (LGreater(1, 2), Local0)
>= LGreaterEqual 逻辑大于等于 Local0 = (1 >= 2)
Store (LGreaterEqual(1, 2), Local0)
== LEqual 逻辑相等 Local0 = (Local0 == Local1)
If (LEqual(Local0, Local1))
!= LNotEqual 逻辑不等于 Local0 = (0 != 1)
Store (LNotEqual(0, 1), Local0)
延迟函数
名称 含义 语法 参数 描述
Sleep 延迟 Sleep(Source1) 整数 执行被延迟至少所需的毫秒数(长期)
Stall 短时间停止 Stall(Source1) 整数 执行被延迟至少所需的微秒数(短期,超过100微秒的延迟必须使用Sleep而不是Stall)
现有方法

_字符开头的函数和变量均为系统保留方法。

_OSI

全称为Operating System Interfaces,即操作系统接口。当系统加载时,_OSI会接收到一个参数,不同的系统接收的参数不同,ACPI执行的指令就不同,具体如下表。

操作系统 字符串
macOS “Darwin”
Linux/基于Linux内核 “Linux”
FreeBSD “FreeBSD”
Windows “Windows 20XX”

采用操作系统补丁的作用在于修改其返回参数,或修改其参数对应的行为,从而解锁系统对某些部件的限制,通常情况下不推荐使用。示例如下。

1
2
3
4
5
6
7
8
9
10
11
12
// 需要解锁限制的部件
If ((_OSI ("Windows 2009") || _OSI ("Windows 2013")))
{
OperationRegion (PCF0, SystemMemory, 0xF0100000, 0x0200)
Field (PCF0, ByteAcc, NoLock, Preserve)
{
HVD0, 32,
Offset (0x160),
TPR0, 8
}
...
}

ACPI还定义了OSYS,对应关系如下。

标签值 OSYS值 对应系统
Windows 2009 0x07D9 Win7
Windows 2012 0x07DC Win8
Windows 2013 0x07DD Win8.1
Windows 2015 0x07DF Win10
Windows 2016 0x07E0 Win10 1607
Windows 2017 0x07E1 Win10 1703
Windows 2017.2 0x07E1 Win10 1709
Windows 2018 0x07E2 Win10 1803
Windows 2018.2 0x07E2 Win10 1809
Windows 2019 0x???? Win10 1903

Win8以上才支持I2C设备。当加载macOS时,_OSI接受的参数不会被ACPI识别,OSYS被赋予了默认值。这个默认值通常小于Win8要求的值,显然I2C无法工作,故VoodooI2C通常需要采用操作系统补丁来驱动触控板。

_STA

全称为Status,即状态。用于描述设备的状态,与PowerResource的_STA不同(PowerResource的_STA只有两个返回值One和Zero)。

ACPI表中的每个设备在初始化之前,都会先执行_STA函数检测这个设备的状态,若设备存在才初始化。若没有显式定义_STA函数,默认认为这个设备存在且能正常工作。描述设备的状态主要靠_STA的返回值,它的返回值有32位,目前只有末5位有定义,如下表。是则置该位为1,否则置为0。

Bit位 含义
0 设备是否存在
1 设备是否被启用且可以解码其资源
2 设备是否在UI中显示
3 设备是否正常工作
4 设备是否存在电池

若一个设备没有电池、可以正常工作并在系统中显示,则它的_STA返回值为二进制的01111,换成十六进制为0x0F。若一个设备不存在,返回值为00000,即十六进制下的0x00,或写成Zero。

0x0B表示设备处于半开状态,不允许解码其中的资源。0x1F只会在笔记本的电池设备中出现,多出的那个Bit用于通知电池控制设备(Control Method Battery Device,PNP0C0A)存在电池。

_CRS

全称为Current Resource Settings,即当前资源设置。_CRS函数返回一个Buffer,在触摸设备中会返回触摸设备所需的GPIO Pin/APIC Pin等。通过调整其值,可以控制设备的中断模式。

_SRS

全称为Set Resource Settings。

_CST

与CPU的C2/C4/C6/C7休眠有关。

_PCT

有关SpeedStep功能。

_PPC

控制CPU频率范围。

_PSS

一组包含可能的CPU states数组,与PLimitDict/UnderVoltStep/Turbo有关。

OperationRegion域

格式如下。

1
OperationRegion (RegionName, RegionSpace, Offset, Length)

各参数含义如下。

参数 含义
RegionName 操作区名称,可能不止一个(EC下的通常为ERAM、ECF2、ECF3、ECOR等)
RegionSpace 操作空间/作用域(通常EC使用的作用域都是EmbeddedControl,但某些厂商选择将EC数据映射到系统内存中,则作用域为SystemMemory)
Offset 作用域内每个Field的起始偏移量(EC作用域的起始偏移量通常为Zero,而系统内存作用域中用于映射EC数据的起始偏移量值由厂商决定)
Length 作用域内每个Field的最大长度

Field域

格式

格式如下。

1
Field (RegionName, AccessType, LockRule, UpdateRule) {FieldUnitList}

各参数含义如下。

参数 含义
RegionName 对应OperationRegion的操作区名称
AccessType 访问类型(EmbeddedControl只能是ByteAcc,代表按字节访问,因此偏移量是以字节来计算的,即每8位进1)
LockRule 锁定规则,与多线程相关,通常为NoLock
UpdateRule 更新规则,用来指定如何处理未产生改动的映射区域,通常为Preserve,即维持原值
FieldUnitList 字段单元列表,即寄存器列表
偏移量计算

以以下代码为例。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SMBus I/O and Memory Mapped I/O Registers
OperationRegion (SMBI, SystemIO, 0x4000, 0x10)
Field (SMBI, ByteAcc, NoLock, Preserve)
{
HSTS, 8, // Host Status (HST_STS)
Offset (0x02),
HCON, 8, // Host Control (HST_CNT)
HCOM, 8, // Host Command (HST_CMD)
TXSA, 8, // Transit Slave Address (XMIT_SLVA)
DAT0, 8, // Host Data 0 (HST_D0)
DAT1, 8, // Host Data 1 (HST_D1)
HBDR, 8, // Host Block Data Register (Byte) (HOST_BLOCK_DB)
PECR, 8, // Packet Error Check Register (PEC)
RXSA, 8, // Receive Slave Address (RCV_SLVA)
SDAT, 16 // Receive Slave Data (SLV_DATA)
}

从以上代码,可知SMB_BASE=0x4000。故HSTS的地址为(4000+00)h,HCON的地址为(4000+02)h,HCOM的地址为(4000+03)h。注意后面数字为8时表示8bit,即一个字节,因此下一个变量的地址为上一个变量的地址加一。

Package()

对于以下代码,0x03表示参数个数。

1
2
3
Name (_PSS, Package(0x03)){
...
}

Buffer()

对于以下代码,0x07表示字符串长度,注意为字符数+空格数+1。

1
2
3
Buffer (0x07){
"Slot-1"
}

嵌入式控制器

即EmbeddedControl,该ACPI设备下通常具备电池、光线传感器、加速度传感器、EC Query方法映射等定义。

睡眠相关

PNP0C0E(睡眠按钮)、PNP0C0D(笔记本盖子)、_PTS(睡眠前执行)、_WAK(唤醒后执行)。

设备

I2C总线

通常具备触摸设备及人体学输入设备相关传感器(如指纹传感器)定义。

电池

在电池ACPI代码中,通常具备以下方法。电池驱动主要是通过操作_BIF和_BST这两个方法分别获取电池信息和电池状态。

在DSDT中搜索PNP0C0A(电池的_HID)即可找到电池设备的位置。

方法 作用
_BIF Battery Information,获取电池基本信息,包括设计容量、电池代号、序列号、电池类型、OEM信息等
_BIX Battery Information Extended,_BIF 的拓展方法,电池驱动通常优先使用_BIX方法获取电池信息
_BST Battery Status,获取电池实时状态,返回电池充电状态、剩余容量百分比和数值以及当前电池电压
_BIP Battery Trip Point,设置电池低电量触发值,大部分电池不支持此功能,这种情况下系统会轮询_BST中的剩余电量来判断是否处于警戒水平
EC设备

即Embedded Controller,在主板和嵌入式外围设备(如热键、端口或电池)之间进行通信。

在DSDT中搜索PNP0C09(EC的_HID)即可找到EC设备的位置。定义代码如下。

不同机器的EC名称不一样,常见的为EC、EC0、H_EC,戴尔机器通常使用ECDV,华为通常使用HWEC。

1
2
3
4
5
Scope (_SB.PCI0.LPCB)
{
Device (H_EC)
{
Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID
设备名称对应关系
设备名称 所在地址 代表装置 作用 常用命名 备注
PEGP 10000 PCI Express Root Port 显示卡 PEGP/IOU0/IOU1/IOU2/NRP1/NRP5/P0P9 关于显示的装置都会出现该项目,如GFX0/LCD/VGA/TV/PXS1
HDEF 1B0000 HD Audio Controller 声卡 HDEF
PEX0-PEX5 1C0000-1C0005 PCI Express Port 1-PCI Express Port 6 内建有线/无线网卡、FireWire、JmicronATA、JmicronSATA RP01-RP06 在LAN/GIGE/ETH/ARPT/FRWR出现
USB0-USB6、US31 1A0001-1A0002、1D0001-1D0002 USB UHCI Controller 1-USB UHCI Controller 6 USB UHC1-UHC6
USBE、USE2 1A0007、1D0007 USB2 EHCI Controller 1、USB2 EHCI Controller 2 高速USB EHC1-EHC2
HUB0 1E0000 PCI Bridge FireWire PCIB 在FRWR出现
PX40 1F0000 LPC Interface Controller 并行埠、串列埠、键盘、滑鼠、软碟机等低速设备管理装置 LPCB 在HPET/RTC等出现
IDE0 1F0001 IDE Controller IDE控制器(光驱) PATA 较新主板无该设备
IDE1 1F0002 SATA AHCI Controller SATA(AHCI) SATA
IDE2 1F0005 SATA RAID Controller / / 苹果不支持Intel RAID,所以没有这个项目
PX43 1F0003 SMBus Controller System Management Bus Controller,控制主板上的装置并收集相应的讯息 SBUS
APIC Advanced Programmable Interrupt Controller ACPI控制器
MCHC Memory Controller Hub 内存控制器

流程控制

以下均以ASL+举例。

If-ElseIf-Else
1
2
3
4
5
6
7
8
9
10
11
12
If (_OSI ("Darwin"))
{
OSYS = 0x2710
}
ElseIf (_OSI ("Linux"))
{
OSYS = 0x03E8
}
Else
{
OSYS = 0x07D0
}
Switch-Case-Default-BreakPoint

BreakPoint相当于断点,意为退出当前Switch。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Switch(Arg2)
{
Case(1)
{
If(Arg1 == 1)
{
Return (1)
}
BreakPoint
}
Case(2)
{
......
Return (2)
}
Default
{
BreakPoint
}
}
While
1
2
3
4
5
6
Local0 = 10
While (Local0 >= 0x00)
{
Local0--
Stall (32)
}
For
1
2
3
4
for (local0 = 0, local0 < 8, local0++)
{
...
}
存在性判断

CondRefOf可以用来判断所有类型Object的存在与否。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Method (SSCN, 0, NotSerialized)
{
If (_OSI ("Darwin"))
{
...
}
ElseIf (CondRefOf (\_SB.PCI0.I2C0.XSCN))
{
If (USTP)
{
Return (\_SB.PCI0.I2C0.XSCN ())
}
}

Return (Zero)
}

编译错误与警告

(from opcode)

编译完成后在文件内的某些行会有此该提示,一般位于以下位置,表明名称已在作用域中,其外部声明是多余/不必要的。可直接注释掉此行。

1
External (DTS1, FieldUnitObj)    // (from opcode)
only 0 was resolved (2 unresolved)

在编译完成后,文件内可能会有以下注释,主要含义为方法名称未定义。由于某些方法在Windows而不在ACPI表被定义,因此该警告可忽略。

1
2
3
4
/* There were 2 external control methods found during 
* disassembly, but only 0 was resolved (2 unresolved)
...
*/
illegal open scope on external object from within dsdt

CondRefOf函数导致,该函数用于确认该项存在。删除整个CondRefOf块即可。

Pass 1 parse of [DSDT]

DSDT/SSDT中的方法不受MaciASL支持,更新MaciASL即可。

Invalid character (0x3D), expecting ASL keyword or name

DSDT/SSDT中的方法不受MaciASL支持,更新MaciASL即可。

Syntax error, unexpected PARSEOP_ONE, expecting ‘(‘

DSDT/SSDT中的方法不受MaciASL支持,更新MaciASL即可。

错误示例

syntax error, unexpected PARSEOP_ARG0

错误代码如下。

1
2
3
4
5
6
7
8
9
Method (ADBG, 1, Serialized)
{
If (CondRefOf (MDBG))
{
Return (MDBG)
Arg0
}
Return (Zero)
}

修正后代码如下。

1
2
3
4
5
6
7
8
Method (ADBG, 1, Serialized)
{
If (CondRefOf (MDBG))
{
Return (MDBG (Arg0))
}
Return (Zero)
}
syntax error, unexpected PARSEOP_ZERO

删除全部的Zero即可。

syntax error, unexpected PARSEOP_FIELD

错误代码如下。

1
2
3
OperationRegion (HRPE, SystemMemory, \_GPE.MMTB (0x04), Field (HRPE, DWordAcc, Lock, Preserve)){
VDPC, 32
}

修改如下。

1
2
3
4
5
OperationRegion (HRPE, SystemMemory, \_GPE.MMTB, 0x04)
Field (HRPE, DWordAcc, Lock, Preserve)
{
VDPC, 32
}
Min/Max/Length/Gran are all zero,but no resource tag

错误代码如下。

1
2
3
4
5
6
IO(Decode16,
0×0000,
0×0000,
0×00,
0×00,

修正后代码如下。

1
2
3
4
5
6
IO(Decode16,
0×0000,
0×0000,
0×00,
0×01,

syntax error, unexpected PARSEOP_NAMESEG,expecting’(’

找到如下代码并删除即可。

1
2
3
4
MUID
REVI
SFNC
XRG0
Name already exists in scope(IGDS)

删除多余的外部引用语句即可。

Not a control method, cannot invoke (W008 is a BufferField)

错误代码如下。

1
Store (^^PCI0.LPCB.EC.FBF2, W008 (Store (0x03, ^^PCI0.LPCB.EC.FDAT), Store (0xC0, ^^PCI0.LPCB.EC.FCMD)))

修正后代码如下。

1
2
3
Store (^^PCI0.LPCB.EC.FBF2, W008)
Store (0x03, ^^PCI0.LPCB.EC.FDAT)
Store (0xC0, ^^PCI0.LPCB.EC.FCMD)
ResourceTag larger than Field (Tag: 64 bits, Field: 32 bits)

错误代码如下。

1
CreateDWordField (BUF0, _SB.PCI0._Y0F._LEN, MSLN)

修正后代码如下。

1
CreateQWordField (BUF0, _SB.PCI0._Y0F._LEN, MSLN)
Warning ResourceTag larger than Field (Tag: 16 bits, Field: 8 bits)

错误代码如下。

1
CreateByteField (BUF0, _SB.PCI0.LPCB.N393.LPT1._CRS._Y16._MIN, IOL0)

修正后代码如下。

1
CreateWordField (BUF0, _SB.PCI0.LPCB.N393.LPT1._CRS._Y16._MIN, IOL0)
ResourceTag larger than Field (Tag: 64 bits, Field: 32 bits)

错误代码如下。

1
CreateDWordField (BUF0, _SB.PCI0._Y0F._LEN, MSLN)

修正后代码如下。

1
CreateQWordField (BUF0, _SB.PCI0._Y0F._LEN, MSLN)
ResourceTag larger than Field(Tag:64its,Field:32bits), Remark Effective AML package length is zero

错误代码如下。

1
Package (0x00) {}

修正后代码如下。

1
Package (0xFF) {}
Result is not used, possible operator timeout will be missed

错误代码如下。

1
Acquire (MUT0, 0x0FFF)

修正后代码如下。

1
Acquire (MUT0, 0xFFFF)
Possible operator timeout is ignored

错误代码如下。

1
Acquire (MUT0, 0x0FFF)

修正后代码如下。

1
Acquire (MUT0, 0xFFFF)
syntax error, unexpected PARSEOP_PACKAGE

错误代码如下。

1
2
3
4
5
6
7
8
9
Package (0x06)
{
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000,
0x80000000
}

删除错误行之后一直到下一个NAME之前的内容即可。

_REG has no corresponding Operation Region

错误代码如下。

1
Method (_REG, 2, NotSerialized)

删除_REG之前的短横即可。

Remark Use of compiler reserved name (_T_0)

错误代码如下。

1
Name (_T_0, Zero)

将_T前边的短横删除,或者改为T0_0即可。若后边是其他数2,3等等,那么相应改为T2_2,T3_3。

Unknown reserved name (_VPC)

错误代码如下。

1
Name (_VPC, Zero)

VPC即Virtual power control。搜索VPC,可以看到大部分的VPC之前都没有短横,所以删除所有搜索到的带短横的VPC之前的短横。

not a control method : PS0X()

删除 PS0X(),修改为 Return (PS0X)。

Unknown reserved name (_CFG)

_CFG指向Method (_CFG, 0, NotSerialized),则删除CFG之前的短横即可。

Not all control paths return a value (WQAA)

错误代码如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Method (WQAA, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Store (T2D0, Local0)
Return (Local0)
}
...
If (LEqual (Arg0, 0x21))
{
Store (TDBB, Local0)
Return (Local0)
}
}

修正后代码如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Method (WQAA, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Store (T2D0, Local0)
Return (Local0)
}
...
If (LEqual (Arg0, 0x21))
{
Store (TDBB, Local0)
Return (Local0)
}
Return (Zero)
}
Reserved method should not return a value (_PDC)

错误代码如下。

1
2
3
4
5
6
7
Method (_PDC, 1, NotSerialized)
{
Store (CPPC, _PR.CPU0._PPC)
Store (CPDC (Arg0), Local0)
GCAP (Local0)
Return (Local0)
}

修正后代码如下。

1
2
3
4
5
6
7
Method (_PDC, 1, NotSerialized)
{
Store (CPPC, _PR.CPU0._PPC)
Store (CPDC (Arg0), Local0)
GCAP (Local0)
Return (Zero)
}
Statement is unreachable

错误代码如下。

1
2
3
4
5
6
Method (_PRW, 0, NotSerialized)
{
Return (GPRW)
0x09
0x04
}

修正后代码如下。

1
2
3
4
Method (_PRW, 0, NotSerialized)
{
Return (GPRW)
}
syntax error, unexpected PARSEOP_IF, expecting PARSEOP_CLOSE_PAREN or ‘,’

错误代码如下。

1
2
3
4
5
6
7
8
9
If (LEqual (PM6H, One))
{
CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW) // _RW_: Read-Write Status
Store (Zero, ECRW (If (PM0H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN) // _LEN: Length
Store (Zero, F0LN)
}))
}

修正后代码如下。

1
2
3
4
5
6
7
8
9
10
11
If (LEqual (PM6H, One))
{
CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW) // _RW_: Read-Write Status
Store (Zero, ECRW)
}

If (PM0H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN) // _LEN: Length
Store (Zero, F0LN)
}
Invalid combination of length and Min/Max fixed flags

0x0000, // Length改成0x0001, // Length即可修复错误。若为其它数值,注意需要转换为十六进制。

Control Method should be made Serialized(due to creation of named objects within)

错误代码如下。

1
2
3
4
Method (UXDV, 1, NotSerialized)
{
...
}

修正后代码如下。

1
2
3
4
Method (UXDV, 1, Serialized)
{
...
}
Error _HID suffix must be all hex digits (GH)

错误代码如下。

1
Name (_HID, "ABCDEFGH")

将GH改为01即可。

Result is not used, operator has no effect

错误代码如下。

1
Add (Local0, 0x02)

修正后代码如下。

1
Add (Local0, 0x02, Local0)
Not all control paths return a value (_CRS), Reserved method must return a value (Buffer required for _CRS)

错误代码如下。

1
2
3
4
5
6
7
Method (_CRS, 0, NotSerialized)
{
If (IGDS)
{
Return (CRS)
}
}

修正后代码如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Method (RES, 0, NotSerialized)
{
Return (Zero)
}

Method (_CRS, 0, NotSerialized)
{
If (IGDS)
{
Return (CRS)
}
Else
{
Return (RES)
}
}

版本差异

iASL编译器有4.0、5.0、6.3等版本。其中4.0与5.0为旧版,6.3为新版。对于Snow Leopard及更早的系统,需要用旧版iASL编译,新版iASL编译会在系统启动时卡ACPI的panic。将DSDT从iASL 6.3改为iASL 4.0/5.0后,可能会出现编译错误。

对于找不到对象的错误,主要是因为ACPI 6.3允许后定义,ACPI 4.0/5.0则必须采用先定义的方式。解决方法为调整定义语句到调用语句之前,以及调换If语句的位置。

对于没有
I2cSerialBus/I2cSerialBusV2函数的错误,ACPI 4.0中并没有这两个函数,而ACPI 5.0中为I2CSerialBus函数。ACPI 4.0不支持I2C,只支持I2C的子集SMBus。解决方法为ACPI 5.0编译,并删除I2cSerialBusV2函数和Exclusive,

具体示例如下。

例一

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Scope (_SB.PCI0)
{
Device (I2C1)
{
If (LNotEqual (SMD1, 0x02))
{
Name (_HID, "INT3443") // _HID: Hardware ID
Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision
{
Return (LHRV (SB11))
}

Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (LCRS (SMD1, SB01, SIR1))
}

Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (LSTA (SMD1))
}
}

If (LEqual (SMD1, 0x02))
{
Name (_ADR, 0x00150001) // _ADR: Address
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}

Return (Buffer (One)
{
0x00
})
}
}
}
}

使用ACPI 6编译时无错误,使用ACPI 4编译时出现以下错误。

1
2
3
21694, 4096, syntax error, unexpected PARSEOP_IF
21715, 4057, Name already exists in scope (_ADR)
21730, 4096, syntax error, unexpected '}', expecting $end

主要修改方式为将If语句写到I2C1设备之外。修改如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Scope (_SB.PCI0)
{
Device (I2C1)
{
Name (LINK, "\\_SB.PCI0.I2C1")
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current
{
Return (GETD (SB11))
}

Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
{
LPD0 (SB11)
}

Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
{
LPD3 (SB11)
}
}
}

If (LNotEqual (SMD1, 0x02))
{
Scope (_SB.PCI0.I2C1)
{
Name (_HID, "INT3443") // _HID: Hardware ID
Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision
{
Return (LHRV (SB11))
}

Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (LCRS (SMD1, SB01, SIR1))
}

Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (LSTA (SMD1))
}
}
}

If (LEqual (SMD1, 0x02))
{
Scope (_SB.PCI0.I2C1)
{
Name (_ADR, 0x00150001) // _ADR: Address
Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}

Return (Buffer (One)
{
0x00
})
}
}
}

例二

1
2
3
4
5
6
7
Name (SBFB, ResourceTemplate ()
{
I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C0",
0x00, ResourceConsumer, _Y24, Exclusive,
)
})

使用ACPI 6编译时无错误,使用ACPI 4编译时出现以下错误。

1
22479, 4096, syntax error, unexpected PARSEOP_NAMESEG

由于ACPI 4不支持I2cSerialBus和I2cSerialBusV2,因此需要直接删除。

例三

1
2
3
4
5
6
7
Name (SBFI, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, ,, _Y2B)
{
0x00000000,
}
})

不可使用ACPI 4,需要使用ACPI 5。使用ACPI 5编译即无错误。

例四

1
2
3
4
5
6
7
8
9
Name (SBFG, ResourceTemplate ()
{
GpioInt (Level, ActiveLow, PullDefault, 0x0000,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
})

使用ACPI 5,更正如下。

1
2
3
4
5
6
7
8
9
Name (SBFG, ResourceTemplate ()
{
GpioInt (Level, ActiveLow, Exclusive, PullDefault, 0x0000,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
})

Maciasl相关

版本区别

Rebabman版的Maciasl和原版的区别主要在于部分错误被改为了警告,具体如下。

1
2
3
4
5
6
7
8
9
10
'Illegal method invocation as target operand' (6126->3126)
'Illegal open scope on external object from within DSDT' (6148->3148)
'Min/Max/Length/Gran are all zero, but no resource tag' (6090->3090)
'Invalid combination of Length and Min/Max fixed flags' (6043->3043, one form only)
'Length is larger than Min/Max window' (6049->3049)
'Length is not equal to fixed Min/Max window' (6050->3050)
'Reserved name must be a control method (with zero arguments)' (6103->3103)
'invalid object type for reserved name' (6105->3105)
'Non-hex letters must be upper case' (6136->3136)
'Result is not used, operator has no effect' (6114->3114)

相关知识

Kext

即驱动程序。使用kext的替代方法为添加EFI String或修补DSDT。

EFI String

EFI String一般用于com.apple.Boot.plist中的device-properties部分,表示显卡信息。打开该文件并添加以下内容即可。

1
2
<key>device-properties</key>
<string>[要添加的EFI String]</string>

EFI String可通过以下命令生成,注意需要gfxutil。打开生成的out.hex,复制所有的十六进制字符串即为所求。

1
2
# in.plist包含了设备属性信息
./gfxutil -i xml -o hex ./in.plist ./out.hex

以GMA950为例,示例如下。

1
2
<key>device-properties</key>
<string>6d0000000100000001000000610000000200000002010c00d041030a000000000101060000027fff0400100000006d006f00640065006c0000000b000000474d4120393530200000004100410050004c002c00480061007300500061006e0065006c0000000800000001000000</string>

base64与ASCII

在plist的文本中,data是以base64的格式存储的,而在用Xcode等编辑器打开后,base64将被显示为十六进制ASCII码。以下示例均在终端进行。

1
2
3
4
5
// base64->ASCII
echo RXh0ZXJuYWw= | python -m base64 -d && echo

// ASCII->base64
echo -n External | base64

Distros

Distributions的另一个名称,指发行版。安装时不要使用macOS发行版。

OOB

开机即用,无需安装驱动/修补DSDT等。

Vanilla

指未修改系统盘内容,如LE和SLE的系统。

mach_kernel

10.8及以下的系统有mach_kernel,10.9及以上创建USB引导盘时不会有mach_kernel。

可以提取mach_kernel并放到安装盘根目录。在安装包APP上点击显示包内容,进入Contents/SharedSupport/InstallESD.dmg/Packages/BaseSystemBinaries.pkg/mach_kernel,提取即可。

extentions.mkext

旧版Mac将kext的缓存放到extentions.mkext以加快加载速度。10.7及以后被弃用。

用Chameleon引导时,若需要使用kext缓存,则启动参数需要添加UseKernelCache=Yes。

NVRAM

NVRAM与RAM相反,可以在主机设备电源关闭后保留数据。Mac利用NVRAM运行iMessage/FaceTime、引导设备等。很多平台的NVRAM不稳定,需要模拟NVRAM以实现正常功能。

Chameleon不支持NVRAM,需要额外的模块FileNVRAM。Clover将尝试使用系统的原生NVRAM,若无法使用则需要通过EmuVariableUEFI.efi进行模拟,并安装RC脚本。

SMC

系统管理控制器。通过重置SMC可以解决计算机无法启动、不显示视频、睡眠、风扇噪音等问题。

RTC/AWAC

实时时钟RTC(Real-Time Clock)是逻辑板上的芯片,用于控制计算机的日期和时间功能。如果计算机遇到引导问题,则重置RTC可能会解决该问题。

主板内部时钟AWAC(ACPI Wake Alarm Counter Clock)与RTC冲突,Mac无法与AWAC时钟通信。

安全启动

Apple安全启动最初出现于搭载T2芯片的机型上的macOS 10.13。

对于OpenCore,将SecureBootModel设置为除Disabled以外的任意有效值,相当于实现了Apple安全启动的中等安全性。如要实现完整安全性,还需要指定ApECID值。

在安全启动模式下,将无法安装任何未签名的内核驱动程序。还有一些内核驱动程序尽管已签名,但也无法安装,包括但不限于NVIDIA Web Drivers。

驱动程序缓存的列表可能不同,因此需要改变Add或Force内核驱动程序列表。比如IO80211Family将不能被注入。

某些系统(比如macOS 11)是封装保护的,更改受保护的系统卷可能会导致操作系统无法启动。除非禁用了Apple安全启动,否则不要禁用系统卷加密。

OpenCore中的IgnoreInvalidFlexRatio或HashServices可能会导致安全启动失败。

在Apple推出安全启动功能之前发布的操作系统(10.12或更早的版本)仍然会正常启动,除非启用了UEFI安全启动。因为从Apple安全启动的角度来看,它们都是不兼容的系统,会被认为应该由BIOS来处理。

在较旧的CPU上(Sandy Bridge之前),启用Apple安全启动可能会使加载速度略微变慢,最长可达1秒。

启用Apple安全启动时,HFS+文件系统的卷宗无法作为目标卷宗安装macOS。没有其他备用APFS硬盘的情况下,HFS+文件系统的硬盘也同样无法安装。

USB与驱动

USB3

USB3.0需要SLE中有AppleUSBXHCI,该kext在10.7.5及以后存在。AppleUSBXHCI继承自IOUSBControllerV3,该文件存在于10.6.8的IOUSBFamily中。

若无USB3.0设备,则不要放置以下驱动。

GenericUSBXHCI/AppleUSBXHCI

GenericUSBXHCI适用于10.7.5-10.10。

1
2
https://sourceforge.net/projects/genericusbxhci/files/
https://bitbucket.org/RehabMan/os-x-generic-usb3/downloads/

也可使用AppleUSBXHCI,适用于10.9-10.10。建议首先使用GenericUSBXHCI。

1
https://www.insanelymac.com/forum/files/file/150-patched-appleusbxhci/?changelog=133
【进阶】GenericUSBXHCI的DSDT底层实现

即USB3 Mutliplex补丁。进行DSDT修补后即无需放置GenericUSBXHCI。

1
https://www.insanelymac.com/forum/topic/287901-how-to-get-intel-7-series-usb-30-fully-working-step-by-step-guide/

CalDigit USB 3.0

适用于10.5-10.8。

1
https://archive.caldigit.com/KB/index.asp?KBID=108&viewlocale=1

PXHCD

LaCie专用,适用于10.6.3-10.6.8。

1
2
https://www.root86.com/files/file/527-usb-30-kext-f%C3%BCr-snow-leopard/
http://www.mediafire.com/file/6c3kby1se62lkib/PXHCD_patched.zip/file

USB-3.0-NEC

适用于10.9-10.15。

1
https://github.com/chris1111/USB-3.0-NEC

驱动原理

从10.11开始,系统设置了15端口限制。注意,此处的15端口限制指真正连接到USB控制器上的端口,而不包括USB外置集线器。一个USB端口通过集线器,最多可拆分为127个端口,这些端口包括了连接到集线器的集线器。

同时,从10.11开始,系统通过遮盖器即Injector驱动USB。具体而言,System/Library/Extensions/IOUSBHostFamily.kext/Contents/PlugIns之下的AppleUSBEHCIPCI.kext/Contents/Info.plist和AppleUSBXHCIPCI.kext/Contents/Info.plist当中的条目指定了SMBIOS与USB控制器名称的关系,通过当前SMBIOS直接定位到设备名称,而不通过DSDT。

若在DSDT中未找到Injector对应的设备名称,则以DSDT指定的为准。因此可通过change EHC1/EHC2 to EH01/EH02这一ACPI更名补丁使遮盖失效。

XSEL方法和ESEL方法用于将XHCI路由到EHCI,其中较旧的Windows调用ESEL,较新的Windows调用XSEL。睡眠唤醒后从_WAK调用XWAK,有时会导致端口在睡眠后无法正常工作,因此可尝试禁用XWAK,即使该方法直接返回。

1
2
3
4
5
Method (XWAK, ...)
{
Return(0)
... original code ...
}

将XHCI路由到EHCI,也可使用FakePCIID和FakePCIID_XHCIMux。

DSDT源码

Skylake及以下具有EHCI和XHCI设备,其中EHCI为USB 2.0,XHCI为USB 3.0。对于Skylake以上,只有XHCI设备,USB 2.0和3.0都通过XHCI处理。

XHCI可处理USB2/3,EHCI只可处理USB2。

在DSDT中搜索XHC或RHUB,可查看所有端口。以PR11为例,代码及含义如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Device (PR11)
{
Name (_ADR, One) // _ADR: Address
Name (_UPC, Package () // _UPC: USB Port Capabilities
{
0xFF, // 0xFF为开启该端口,Zero为关闭该端口
0x03, // USB类型,Zero为USB2,0x03为USB3,0x09为USB-C,0xFF为Internal
Zero, // 扩展用,应设为Zero
Zero // 扩展用,应设为Zero
})

Name (_PLD, Package (0x01)
{
Buffer (0x10)
{
// 第二行第一个数据的第二个数值代表可见性,即0xB0中的0,1代表可见,0代表不可见
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0xB0, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
}
})
}

部分机型的_UPC内容与上面不同,示例如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Scope (\_SB.PCI0.XHC.RHUB.HS01)
{

Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities
{
If ((H1TC == Zero))
{
If (((UMAP & One) == One))
{
Return (TUPC (One)) // 返回1,开启TUPC端口
}
Else
{
Return (GUPC (Zero)) // 返回0,关闭GUPC端口
}
}
Else
{
Return (\_SB.UBTC.RUCC (H1CR, One))
}
}
}

Method (TUPC, 1, Serialized)
{
Name (PCKG, Package (0x04)
{
One,
Zero, // 表示端口类型
Zero,
Zero
})
PCKG [Zero] = Arg0
Return (PCKG)
}

IRQ冲突

IRQ有限制且有编号,USB主控器需要IRQ。若其他设备争抢了原设备的IRQ,将导致原设备无法正确工作。

打开IORegistryExplorer,点击需要查看IRQ的设备,查看右侧的IOInterruptSpecifiers的Data值。若不存在,则表示该设备无IRQ可用。

有时HPET会抢夺USB主控器的IRQ,导致USB无法正确工作。可打开DSDT并应用以下Patch,保存后放置到引导器的ACPI部分即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# This can fix non-working audio and also has an affect on HPET.
# Use this if you have issues with patched AppleHDA (required on almost all laptops)
# or if you have issues with HPET (restart after wake).

# IRQ fix
into device name_hid PNP0000 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
into device name_hid PNP0100 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
into device name_hid PNP0B00 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
into device name_hid PNP0103 code_regex IRQNoFlags\s\(\)\n\s+\{.*\} removeall_matched;
into device name_hid PNP0103 code_regex Name\s\(([^,]+),\sResourceTemplate\s\(\).*\n\s+\{((?:.|\n)*)\}\) replace_matched
begin
Name (%1, ResourceTemplate()\n
{\n
IRQNoFlags() { 0, 8, 11, 15 }\n
%2
})\n
end;

PLUG

允许XCPM(Apple XNU电源管理)提供更好的整体CPU控制。仅在Haswell和更新版本上受支持。

HPET

即高精度事件定时器(High Precision Event Timer),操作系统使用它来确定如何与设备通信(IRQ)。

RHUB

即根USB集线器(Root USB Hub),定义USB端口。

IMEI

即英特尔管理引擎接口(Intel Management Engine Interface),处理杂项任务。在Mac中依靠IMEI实现Intel GPU加速。如果使用未知ID,例如使用带有Sandy Bridge的7系列芯片组,Mac将无法找到IMEI,导致GPU加速丢失。

UNC

即Uncore Bridge,类似于北桥,处理与缓存相关的功能。若OEM定义了该设备,但该设备无法使用,Mac将无法进行处理。

SMBS

即系统管理总线(System Managment Bus),用于允许设备之间的通信。

PNLF

内置背光显示,用于控制亮度。

Intel显卡启用过程

需要WhateverGreen。

更正设备名称

对于Intel管理引擎为IMEI,对于视频卡为IGPU。WhateverGreen会自动处理该步骤。

注入属性

device-id

用于伪造显卡。

帧缓冲区

指定AAPL,ig-platform-idAAPL,snb-platform-id,以描述视频卡的可用输出和其他属性。以0x16260006为例,帧缓冲区数据如下。

1
06002616 01030303 00002002 00005001

06002616即0x16260006的小端形式,01030303与端口和管道数量有关。

00002002为帧缓冲区内存大小即framebuffer-stolenmem,00005001为游标字节大小即framebuffer-fbmem。两者的和必须小于DVMT的值。00002002转换为大端为0x02200000即34MB,00005001转换为大端为0x01500000即21MB,总计55MB,故DVMT必须大于55MB。

若DVMT仅可为32MB,可适当调整两者大小,将framebuffer-stolenmem设置为19MB即0x01300000,将framebuffer-fbmem设置为9MB即0x00900000。在Clover的KextToPatch中添加以下补丁即可。

1
2
3
4
Comment: 0x16260006, 32MB BIOS, 19MB framebuffer, 9MB cursor bytes (credit RehabMan)
Name: AppleIntelBDWGraphicsFramebuffer
Find: 06002616 01030303 00002002 00005001
Replace: 06002616 01030303 00003001 00009000

也可将字段缩短,以适合更多平台的显卡。

1
2
3
4
Comment: 0x19160002, 0x16160002, 0x16260002, 0x16220002, 0x162b0002, 0x16260005, 0x16260006, 32MB BIOS, 19MB framebuffer, 9MB cursor bytes (credit RehabMan)
Name: AppleIntelBDWGraphicsFramebuffer
Find: 01030303 00002002 00005001
Replace: 01030303 00003001 00009000

也可直接在设备属性中指定,如下。

1
2
3
framebuffer-patch-enable=1
framebuffer-stolenmem=<00003001>
framebuffer-fbmem=<00009000>

另外Skylake的0x19160000示例如下。

1
2
3
4
5
6
7
8
ID: 19160000, STOLEN: 34 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x0000090F
TOTAL STOLEN: 56 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 124 MB, MAX OVERALL: 125 MB (131608576 bytes)
Model name: Intel HD Graphics SKL CRB
Camelia: CameliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz
Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3
[0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS
[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187 - ConnectorDP
[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP

含义如下。注意有以下公式成立。

1
2
3
4
5
6
7
8
MAX STOLEN = 0x100000 + STOLEN * FBMemoryCount + FBMEM

# 若将第一位(0x02)设置为FBFramebufferCommonMemory,则FBMemoryCount被视为1
# 若未设置第二位(0x04)-FBFramebufferCompression,则将FBMEM视为0
TOTAL STOLEN = 0x100000 + STOLEN * FBMemoryCount + FBMEM

# 在Sandy Bridge上的特殊情况
TOTAL STOLEN = MAX STOLEN = FBMEM
参数 含义
Flags 帧缓冲区位掩码配置
STOLEN framebuffer-stolenmem中的值
FBMEM framebuffer-fbmem中的值
TOTAL STOLEN 必须小于或等于BIOS中设置的值
TOTAL CURSOR 屏幕上硬件光标的计算出的内存值
MAX STOLEN 一般为TOTAL STOLEN,但如果Flags中有一个配置,则配置应尽可能地节省内存
MAX OVERALL MAX STOLEN+TOTAL CURSOR
FBMemoryCount 可用帧缓冲区数量

自定义补丁

列表

所有自定义补丁如下。

参数 含义
Semantic
framebuffer-patch-enable 启用Semantic修补
framebuffer-framebufferid 正在修补的帧缓冲区(默认为当前)
framebuffer-mobile
framebuffer-pipecount
framebuffer-portcount
framebuffer-memorycount
framebuffer-stolenmem 帧缓冲区内存大小
framebuffer-fbmem 游标字节大小
framebuffer-unifiedmem VRAM(不建议使用此补丁)
framebuffer-cursormem Haswell专用
framebuffer-flags
framebuffer-camellia 集成显示控制器(仅与真实Mac相关)
framebuffer-conX-enable 启用连接器X修补
framebuffer-conX-index
framebuffer-conX-busid
framebuffer-conX-pipe
framebuffer-conX-type
framebuffer-conX-flags
framebuffer-conX-alldata 完全替换连接器
framebuffer-conX-YYYYYYYY-alldata 如果当前帧缓冲区匹配YYYYYYYY,则完全替换连接器
Binary
framebuffer-patchN-enable 启用补丁N(N为补丁编号,可为0-9)
framebuffer-patchN-framebufferid 正在修补的帧缓冲区(默认为当前)
framebuffer-patchN-find
framebuffer-patchN-replace
framebuffer-patchN-count 要搜索的模式迭代的数量(默认为1)
独显

添加属性disable-external-gpu=01000000即可,等同于启动参数-wegnoegpu。

音频

AppleALC会自动处理数字音频设备的部分,即注入hda-gfx属性以启用数字音频。未使用自定义补丁时,在10.10.5及以上系统,WhateverGreen将自动把connector-type由DP(00040000)改为HDMI(00080000)。物理连接类型可为HDMI/DVI/DP,但数字音频的connector-type必须为HDMI。

EDID

一般EDID会被自动识别。在极少数情况下需要手动注入EDID,添加属性AAPL00,override-no-connect即可,值为EDID内容,其中00的第二个0表示显示器编号。

修复最大像素时钟频率

需要添加属性enable-max-pixel-clock-override=01000000,以提高最大像素时钟限制。在ThinkPad P71/XPS 15的4K@60Hz屏幕必须,否则会黑屏,HDMI 2.0的4K@60Hz屏幕也适用。等同于启动参数-igfxmpc,该参数将最大像素时钟限制从SBL默认的450MHz提高到675MHz。

也可添加属性max-pixel-clock-frequency,更改默认最大像素时钟频率的675MHz限制,以Hz为单位。

也可使用enable-hdmi20=01000000,以跳过像素时钟验证。等同于启动参数-cdfon,但应首先使用-igfxmpc。

修复无效最大链接速率

该问题在Dell XPS 15 9570、带有夏普显示屏的Dell Inspiron 7590等出现。

需要添加属性enable-dpcd-max-link-rate-fix=01000000,以防止被零除导致的内核崩溃,同时修复从扩展DPCD缓冲区读取的无效最大链接速率值。等同于启动参数-igfxmlr。

可通过指定dpcd-max-link-rate,通过内置显示屏手动指定最大链接速率值,通常用于4K/1080p显示,值可为0x06(RBR)/0x0A(HBR)/0x14(HBR2)/0x1E(HBR3)。如果指定了无效值或未指定该属性,WhateverGreen将自动探测最大链接速率值。一般无需指定,在驱动程序不支持所探测的值则需要手动指定,以防止被零除导致的内核崩溃。

修复Skylake/Kaby Lake/Coffee Lake以高像素时钟速率建立Intel HDMI连接的无限循环

主要表现为插入HDMI电缆时,内置笔记本电脑的显示屏仍为黑色。

添加属性enable-hdmi-dividers-fix=01000000,或使用启动参数-igfxhdmidivs。

LSPCON驱动程序支持

KBL/CFL平台的笔记本通常配有HDMI 2.0端口,可路由到IGPU或DGPU。Intel(U)HD Graphics不提供本机HDMI 2.0输出,由LSPCON设备处理该事件。

LSPCON可在电平转换器(LS)或协议转换器(PCON)模式下工作,其中LS模式可产生HDMI 1.4信号,PCON模式可产生HDMI 2.0输出。

WhateverGreen通过自动将适配器配置为在新的HDMI连接上以PCON模式运行来提供对板载LSPCON的驱动程序支持,从而解决了某些平台上的黑屏问题。LSPCON驱动程序仅适用于将HDMI 2.0路由至IGPU的笔记本电脑和PC,除非新的IGPU开始提供本地HDMI 2.0输出,否则所有更新的平台都需要LSPCON驱动程序。支持SKL、KBL、CFL及更高版本。

若当前已经可正常工作,则无需启用以下修补。

添加属性enable-lspcon-support=01000000以启用驱动程序,或使用启动参数-igfxlspcon。

添加属性framebuffer-conX-has-lspcon=01000000以通知驱动程序哪个连接器具有板载LSPCON适配器,其中X为HDMI端口的相应连接器索引(0/1/2/3),可在IORegistryExplorer的IGPU下找到。若只有2K/4K HDMI监视器,可能需要先进行无限循环修复。

该选项可选。添加属性framebuffer-conX-preferred-lspcon-mode以为板载LSPCON适配器指定模式,为01000000(PCON,DP到HDMI 2.0)和00000000(LS,DP到HDMI 1.4)之一,无效值或未指定属性则指定为PCON模式。

核心显示时钟频率支持

添加属性enable-cdclk-frequency-fix=01000000,或使用启动参数-igfxcdc。

核心显示时钟(CDCLK)是显示引擎用来完成其工作的主要时钟之一。Apple的图形驱动程序期望固件已将时钟频率设置为652.8MHz或648MHz,实际值取决于硬件。部分笔记本将其设置为更低的值(如172.8MHz),此时将发生内核崩溃消息如Unsupported CD clock decimal frequency 0x158。该补丁将时钟重新编程以将其频率设置为支持的值之一。

修复DVMT预分配内存计算错误导致的panic

添加属性enable-dvmt-calc-fix=01000000,或使用启动参数-igfxdvmt,以修复修复ICL平台上DVMT预分配内存量的计算,防止内核恐慌Unsupported ICL SKU

苹果图形驱动程序读取BIOS或固件中设置的DVMT值并计算内存总量,但计算过程仅适用于预分配的内存大小为32MB的倍数。当笔记本电脑在ICL+平台上默认将DVMT设置为60MB时,framebuffer控制器会用预分配的错误的内存初始化STOLEN内存管理器。

当前STOLEN内存不够时出现的panic已被消除,但仍建议使用该补丁。

启用补丁后可在IORegistryExplorer查看图形设备下的fw-dvmt-preallocated-memory属性中找到实际的DVMT预分配内存数量,单位是MB。

修复Haswell缓冲区故障

添加属性framebuffer-cursormem即可。

弥补AzulPatcher4600

以下补丁等同于使用AzulPatcher4600.kext。注意该kext已被合并到WhateverGreen。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<dict>
<key>Devices</key>
<dict>
<key>Properties</key>
<dict>
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,ig-platform-id</key>
<data>BgAmCg==</data>
<key>device-id</key>
<data>EgQAAA==</data>
<key>framebuffer-con1-enable</key>
<data>AQAAAA==</data>
<key>framebuffer-con1-pipe</key>
<data>EgAAAA==</data>
<key>framebuffer-con1-type</key>
<data>AAgAAA==</data>
<key>framebuffer-con2-alldata</key>
<data>/wAAAAEAAABAAAAA</data>
<key>framebuffer-con2-enable</key>
<data>AQAAAA==</data>
<key>framebuffer-cursormem</key>
<data>AACQAA==</data>
<key>framebuffer-memorycount</key>
<data>AgAAAA==</data>
<key>framebuffer-patch-enable</key>
<data>AQAAAA==</data>
<key>framebuffer-portcount</key>
<data>AgAAAA==</data>
</dict>
</dict>
</dict>
</dict>

说明

VGA支持

Skylake及更高版本提供VGA支持。对于Ivy Bridge及附近的次代,可使用以下选项修补connector。

1
2
06020000 02000000 30000000 // Option 1
06020000 01000000 30000000 // Option 2

在10.8.2及更高版本上,不可能在Ivy Bridge启用VGA。

热插拔VGA一般不起作用。

Mac系统启动过程

引导器启动

以OpenCore为例,启动过程如下。

1
2
3
4
5
6
7
8
9
10
电脑启动,搜索引导设备
系统定位到EFI分区下的EFI/BOOT/BOOTx64.efi
加载BOOTx64.efi,然后链式加载EFI/OC/OpenCore.efi
应用NVRAM属性
从EFI/OC/Drivers加载EFI驱动
安装GOP (Graphics Output Protocol)
从EFI/OC/ACPI加载ACPI表
应用SMBIOS数据
加载OpenCore并显示所有可能的启动选项
引导安装程序

boot.efi切换

切换至Mac引导加载程序boot.efi,为内核加载准备环境。OpenCore在该环节注入kexts。

XNU/内核切换

boot.efi准备好环境后,内核进入根阶段(Rooting Phase)。该阶段验证SMBIOS数据,加载ACPI表/Kexts。若SSDT/Kexts损坏,或内存映射混乱,将导致该阶段出现问题。

出现[ PCI configurations begin ]后,将开始进行硬件测试,IOKit开始硬件探测以查找要附加到的设备的地方。测试的主要内容包括EC、存储介质、PCI/e、NVRAM、RTC、PS2、I2C等。

完成后将进行USB映射,注意15端口限制将在此时发挥作用。若找不到启动设备,Waiting for Root Device错误将在此时出现。

在出现Waiting for DSMOS时,FakeSMC/VirtualSMC开始发挥作用。DSMOS本身为一个kext,验证系统是否有SMC并会请求密钥。如果缺少此密钥,则DSMOS将不会解密其余的二进制文件,系统启动将卡住。卡在kextd stall[0]: AppleACPICPU也为此错误。

出现AppleHDADriver时,音频驱动程序起作用,AppleALC使机器音频工作。完成后进入GPU驱动程序初始化,WhateverGreen发挥作用,出现IOConsoleUsers提示。若卡在此,则一般为GPU本身问题,而非WhateverGreen本身的问题。

macOS切换

出现Apple标志,启动系统。

ROM/MLB/序列号

ROM部分定义在SmUUID中,应为12个字符,符合Apple的MAC地址标准,否则非法。

MLB即Main Logic Board,用于识别硬件。序列号以MLB为基础生成。前期序列号为11位,MLB为13位。后期序列号为12位,MLB为17位。

序列号和MLB不共享制造位置和型号ID,序列号中的定义对MLB无效。MLB和序列号有逻辑匹配,但不能按字母匹配。

序列号

序列号格式如下。

1
2
3
4
5
6
7
8
9
生产地P/年Y/周W/在该周的产品号S/ID型号C

// 11位
PP/Y/WW/SSS/CCC

// 12位
// Y包含字母代码,表示年份及属于上半年还是下半年
// W使用数字1-9和除A/B/E/I/O/S/U/Z的字母,共27个
PPP/Y/W/SSS/CCCC

MLB

1
2
3
4
5
6
生产地P/年Y/周W/在该周的产品号S/ID型号C

PP/Y/WW/SSSS/CCCC

// 17位
PPP/Y/W/XXXXXX/CCCCCC