apple
Hackintool
https://github.com/daliansky/Hackintosh
https://github.com/bugprogrammer/HackinPlugins/releases/tag/2023-01-13
https://github.com/acidanthera/OpenCorePkg
cpu速查平台
https://blog.daliansky.net/Intel-core-display-platformID-finishing.html
https://github.com/ic005k/OCAuxiliaryTools/releases/tag/20240001
plist
https://github.com/5T33Z0/OC-Little-Translated/tree/main/F_Desktop_EFIs/Config_Templates/plist
cplist修改工具
https://github.com/ic005k/OCAuxiliaryTools
無線網卡:
https://github.com/OpenIntelWireless/itlwm/releases/tag/v2.3.0-alpha
小白設定
https://www.imacpc.net/archives/2801
https://dortania.github.io/OpenCore-Post-Install/
virstualSMC
https://github.com/acidanthera/VirtualSMC/tree/master
rime輸入法
下載黑
https://www.facebook.com/heymac360
下載工具
https://github.com/balena-io/etcher
mac-ntfs
https://www.drbuho.com/zh-tw/buhontfs
https://github.com/dortania/OpenCore-Legacy-Patcher/releases/tag/1.4.2
https://github.com/dortania/OpenCore-Legacy-Patcher
RapidEFI
https://github.com/JeoJay127/RapidEFI-Tool
說明:G2020 指令集只有Intel® SSE4.1, Intel® SSE4.2,奔騰賽揚卻沒有AVX2指令集,所以一般都是用 i 系列的 CPU 來架構黑果。若是不換CPU的情況下,須加載以下三個KEXT 才可以。
CryptexFixup.kext
NoAVXFSCompressionTypeZlib-AVXpel.kext
RestrictEvents.kext
以上提供參考。
https://www.imacpc.net/archives/2801
1-1 收集 OPENCORE 文件
OC-ACPI、Drivers、Kexts、Tools 已經內建許多工具,我們只保留自己所需要的工具即可。
ACPI:加入SSDT修補程式。Coffeelake版本
SSDT-UIAC.efi 這是USB端口位置定制的重要文件(自行製作)
SSDT-EC-USBX.aml 這是USB端口定義的重要文件(自行製作)
Tools:加入調適工具程式
CFGLock.efi 解鎖 CFG 工具(自行加入)
CleanNvram.efi 清除NVRAM的工具。
OpenControl.efi 開啟主控臺
OpenShell.efi 調適用工具
ResetSystem.efi 重啟系統
ResetNvram.efi OC引導並未有該工具,得在Config文件生成。重置Nvram
framebuffer-con1-alldata = 02020A00 00040000 C7030000
framebuffer-con2-alldata = 03040800 00080000 C7030000
framebuffer-con0-alldata = 01060900 00040000 C7030000
framebuffer-con1-alldata = 02040A00 00080000 C7030000
framebuffer-con0-alldata = 01050900 00080000 C7030000
framebuffer-con0-alldata = 01010900 00080000 C7030000
framebuffer-con0-alldata = 01050900 00040000 C7030000
framebuffer-con2-alldata = 03040800 00080000 C7030000
framebuffer-con1-alldata = 01050900 00040000 87010000
framebuffer-con2-alldata = 02040A00 00080000 87010000
顯示介面類型
02000000
LVDS 和eDP 接口
一般用於驅動筆記本內建顯示器
00040000
DP 介面
一般USB-C 裡面內建的就是DP 介面的顯示器
macOS 下DP 介面一般是免驅的
00080000
HDMI 介面
macOS 下的HDMI 一般都不可以正常顯示的,得需要自訂下介面數據
10000000
VGA 介面
10.8 版本後預設是不支援VGA 顯示器的
如果你的CPU 是6代往後的話,實際上走的還是DP 接口,所以當做DP 接口驅動就行了
4代
framebuffer-patch-enable (啓用語義補丁的總開關)
framebuffer-framebufferid (要修改的 FB,一般保持默認即可)
framebuffer-mobile
framebuffer-pipecount
framebuffer-portcount
framebuffer-memorycount
framebuffer-stolenmem(給BIOS中DVMT增加內存大小):
framebuffer-fbmem
framebuffer-unifiedmem (核顯顯存大小,調大一點可能能解決花屏)
framebuffer-cursormem (Haswell 專用補丁)
framebuffer-flags
framebuffer-camellia (集成顯示控制器,僅與白蘋果相關)
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 (在當前 FB 與 YYYYYY 匹配時完全替換埠信息)
X 是埠索引。
部分補丁解釋:
再次重申,所有 DATA 數據類型需要將數據兩兩一組倒過來填入,例如:0x16260006 轉換之後就是這樣 06002616 填入
當設置內存大小時,你可能想知道 DATA 是怎麼計算出來的。用 framebuffer-fbmem 參數舉例,當需要設置爲 48M 之後它應填入的值是:00000003,這個也是轉換後的值,所以原來的值應當是 03000000,這是一個 16 進位的數字,轉換成 10 進位是 50331648。我們知道 1M=1024KB,1KB = 1024B,所以,我們把轉換成十進位之後的數字 50331648 除以 1024 然後再除以 1024,得出的結果就是 48 了,所以這串數字代表的就是 48M。
點擊這裡前往進位轉換網頁
AAPL,ig-platform-id(設備平台 id,直接影響顯卡是否能成功驅動): 舉例一些常用筆記本的核顯 id(均爲 DATA 數據類型)
device-id(設備 id,可能是能讓黑蘋果正確顯示設備信息,直接使用無需倒序):
framebuffer-patch-enable(是否啓用 framebuffer 補丁,當然啓用啊,不啓用的話這篇文章還有什麼用處):
framebuffer-stolenmem(給 BIOS 中 DVMT 添加一點內存大小,會影響高分屏,這個值必須大於 32M,也不應該過高):
一般 1080P 屏幕的話,設置爲 48M 就夠用了:00003001
當你的筆記本電腦屏幕是 2k,你可以設置爲 64M:00000004
4K 屏的話,要設置爲 128M:00000008
如果你的 BIOS 中可以設置 DVMT 的話並且你設置成爲 128M 之後,可以不需要設置這個屬性,或者這個屬性設置小一點:00003001 保險起見,高分屏直接設置成 128M 比較穩,並且保證在 BIOS 能設置 DVMT 的情況下設置在 64M 或以下 (PS:這一部分可能有誤,但是最後一句保險起見,高分屏直接設置成 128M 比較穩是試驗過的)
framebuffer-unifiedmem(核顯顯存大小,調大一點可能能解決花屏):
2048M:00000080
3072M:000000C0
framebuffer-cursormem(翻譯成中文就是光標內存,會影響高分屏,比如高分屏花屏可能就是這個值不夠大):
framebuffer-fbmem(framebuffer 內存大小,會影響高分屏):
framebuffer-conN-enable(N 爲數字,顯卡第 N 個輸出接口是否啓用,1 爲啓用,0 爲不啓用):
framebuffer-conN-type(N 爲數字,顯卡第 N 個輸出接口的類型):
HDMI 輸出:00080000
DP 輸出:0004000
framebuffer-conN-index(個人理解,顯卡第 N 個輸出接口的優先級,或者說是設置第 N 個輸出口的位置): 這個按個人需要設置,如果需要屏蔽這個輸出口,可以設置成 FFFFFFFF,也就是最大的數字,讓它足夠靠後,這樣就達到了屏蔽效果!
HDMI 高分屏 60 fps 方案
爲核顯添加 enable-hdmi20 屬性,或使用 -cdfon 啓動參數代替,否則將會黑屏。
添加 Lilu + WhateverGreen 驅動
下載 Lilu 和 WhateverGreen驅動,選擇 release 版本,解壓並將.kext 文件置於 Clover 的 kexts/Other 文件夾中
若你想要查看調試輸出信息,請選擇兩者的的 debug 版本
獲取 IGPU 的設備路徑
下載並使用 gfxutil工具,將 gfxutil 文件解壓至桌面,打開終端輸入如下代碼:
其中 DevicePath 後面顯示的 PciRoot(0x0)/Pci(0x2,0x0) 就是 IGPU 的設備路徑
ig-platform-id(核心步驟)
我們需要制定正確的 Framebuffer,一組正確的正確的 FB 應當正確地包含了可用的輸出埠以及該核顯的其他屬性,所以我們需要注入屬性。
打開 config.plist,並在 Device 中的 Properties 添加以下內容:
AAPL,ig-platform-id 或 AAPL,snb-platform-id(僅適用於 Sandy Bridge 微架構)
設備 IGPU 的 device-id(需要仿冒時)
設備 IMEI 的 device-id(需要仿冒時)
部分補丁設定(必要時)
注意逗號區分中英文!!!
上述屬性應使用十六進位代碼表示,並且需要 兩兩一組 倒序 輸入,
如 0x0A260006 應該用 0600260A 表示
很多人問倒序怎麼倒的,這裡畫個圖解釋一下
0x 指 16 進位,在這咱可以不管,提取出後面的 0A260006,
兩兩一組 0A 26 00 06 過程如下圖所示,最終得到 0600260A
下面分別提供了適用於不同微架構的常用 IGPU 和 IMEI 屬性模版。
選擇一個適合的 FB。首先試試推薦值,如果失敗,則逐個嘗試其他值。在尋找合適的 FB 時,可以臨時通過啓動參數設置,此時 Properties 部分中的 FB 設置將被忽略。如: igfxframe=0x0166000B
啓動參數設置 igfxframe
注意!此處格式與 Properties 部分的格式不同,這裡應正序 輸入並保留 0x 前綴,如上例所示。
HD 2000/3000(Sandy Bridge 微架構,下文簡稱 SNB)
支持 macOS 10.7 至 10.13.6,本文適用於 10.8 到 10.13.6。在舊版本系統上請使用傳統驅動方式。從 macOS 10.14 起,HD 2000/3000 已經不再支持。
此方法無法開啓 Metal。
SNB 微架構可用的 FB 列表:(點擊此處以展開)
推薦的 FB 配置:
0x00030010(桌面版,預設值)
0x00010000(移動版,預設值)
通常 SNB 平台無需指定 FB,與 board-id 相對應的一組 FB 將會被自動使用。不過,在使用不基於 SNB 平台的 SMBios 時,則需指定 FB。(如使用 HD 3000 + 基於 Ivy Bridge 平台的 MacBookPro9,1 時,則需指定 FB)
注意!爲 SNB 平台指定 FB 時,屬性名應爲 AAPL,snb-platform-id,這與其他平台不同。
對於桌面版,需設定(仿冒)device-id 爲 26010000。
在基於 7 系列晶片組 的主板上使用基於 SNB 微架構的處理器時(如在 Z77 晶片組上使用基於 SNB 微架構的 i7-2600 時),需設定(仿冒)IMEI 的 device-ID 爲 3A1C0000。
HD 2500/4000(Ivy Bridge 微架構,下文簡稱 Ivy)
支持 macOS 10.8 或更新版本。
Capri (Ivy) 可用的 FB 列表:(點擊此處以展開)
推薦的 FB 設置:
0x0166000A(桌面版,預設值)
0x01620005(桌面版)
0x01660003(移動版,預設值)
0x01660009(移動版)
0x01660004(移動版)
在基於 6 系列晶片組 的主板上使用基於 Ivy 微架構的處理器時(如在 Z68 晶片組上使用基於 Ivy 微架構的 i7-3770 時),需設定(仿冒)IMEI 的 device-ID 爲 3A1E0000。
Intel HD Graphics 4200-5200(Haswell 微架構)
支持 macOS 10.9 或更新版本。
Azul (Haswell) 可用的 FB 列表:(點擊此處以展開)
推薦的 FB 設置:
0x0D220003(桌面版,預設值)
0x0A160000(移動版,預設值)
0x0A260005(移動版,推薦)
0x0A260006(移動版,推薦)
對於 桌面版 HD 4400 以及所有移動版核顯,需設定(仿冒)IGPU 的 device-id 爲 12040000。
HD 5300-6300(Broadwell 微架構,下文簡稱 BDW)
支持 macOS 10.10.2 或更新版本。
BDW 平台可用的 FB 列表:(點擊此處以展開)
推薦的 FB 設置:
0x16220007(桌面版,預設值)
0x16260006(移動版,預設值)。
HD 510-580(Skylake 微架構,下文簡稱 SKL)
支持 macOS 10.11.4 或更新版本。
SKL 平台可用的 FB 列表:(點擊此處以展開)
推薦的 FB 設置:
0x19120000(桌面版,預設值)
0x19160000(移動版,預設值)
HD 610-650(Kaby Lake 微架構,下文簡稱 KBL)
支持 macOS 10.12.6 或更新版本。
KBL 平台可用的 FB 列表:(點擊此處以展開)
推薦的 FB 設置:
0x59160000(桌面版,預設值)
0x59120000(桌面版,推薦)
0x591B0000(移動版,預設值)
對於 UHD 620 (Kaby Lake Refresh需設定(仿冒)IGPU 的 device-id 爲 16590000
UHD 630(Coffee Lake 微架構,下文簡稱 CFL)
支持 macOS 10.14 或更新版本。
CFL 平台可用的 FB 列表:(點擊此處以展開)
推薦的 FB 設置:
0x3EA50000(桌面版,預設值)
0x3E9B0007(桌面版,推薦)
0x3EA50009(移動版,預設值)
注意:使用第九代 Coffee Lake R 處理器時,需設定(仿冒)IGPU 的 device-id 爲 923E0000。(如下所示)
從 macOS Mojave 10.14.4 起,無需再設定此參數!
使用 WEG 自定義 FB 和埠補丁
一般來說 WhateverGreen 會自動完成大部分工作,不需要任何額外的 Framebuffer 補丁。
當出現以下情況可能需要使用額外的 Framebuffer 補丁:
在 BIOS 中無法設置超過 32M 的 DVMT(framebuffer-stolenmem /framebuffer-fbmem)
爲 4K 屏設定更大的 VRAM(-unifiedmem)
禁用獨顯 (disable-external-gpu)
啓用支持 4k 的像素時鐘補丁(enable-hdmi20)
禁用連接器以啓用睡眠(framebuffer-pipecount /framebuffer-portcount/framebuffer-conX-type = -1)
更改連接器類型以匹配您的系統埠(framebuffer-conX-type)
等等
4640
191B0000
AAPL,ig-platform-id:00001219
device-id:12190000
AAPL,GfxYTile :01000000
01050900 00040000 87010000
02040A00 00040000 87010000
framebuffer-con3-alldata 01061000 080000 87010000
framebuffer-con3-enable 01000000
framebuffer-con1-alldata 02050900 080000 87010000
framebuffer-con1-enable 01000000
framebuffer-con2-alldata 03041000 080000 87010000
framebuffer-con2-enable 01000000
framebuffer-fbmem 00009000
framebuffer-patch-enable 01000000
framebuffer-stolenmem 00003001 ##32M
framebuffer-stolenmem 00000004 ##64M
framebuffer-unifiedmem 00000060
02000000
LVDS 和eDP 接口
一般用於驅動筆記本內建顯示器
00040000
DP 介面
一般USB-C 裡面內建的就是DP 介面的顯示器
macOS 下DP 介面一般是免驅的
00080000
HDMI 介面
AAPL,ig-platform-id:00001619
device-id:16190000
推荐的 FB 设置:0x19120000(桌面版,缺省值);0x19160000(移动版,缺省值)。
D: 0x19120000, STOLEN: 34 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x0000110F
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
[255] busId: 0x00, pipe: 0, type: 0x00000001, flags: 0x00000020 - ConnectorDummy
[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187 - ConnectorDP
[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP
FF000000 01,000,000 20,000,000
01050900 00040000 87010000
02040A00 00040000 87010000
D: 0x19160000, 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
00000800 02000000 98000000
01050900 00040000 87010000
02040A00 00040000 87010000
https://github.com/acidanthera/WhateverGreen/blob/master/Manual/FAQ.IntelHD.en.md
ecommended framebuffers:
Desktop:
0x19120000 (default)
Laptop:
0x19160000 (default)
Empty Framebuffer:
0x19120001 (default)