Hackintool使用教程及插入姿势

Hackintool使用教程及插入姿势

Hackintool使用教程及插入姿势
Hackintool

警告

Hackintool 不是一个让你无脑使用的自动化补丁工具。在使用它之前,你需要一定的知识储备. 请您务必在使用这个工具之前阅读 Intel Framebuffer patching using WhateverGreen[1](英文)! 和 Whatevergreen[2]中文官方文档。

功能

  • 支持 Sandy Bridge, Ivy Bridge, Haswell, Broadwell, Skylake, KabyLake, Coffee Lake, Cannon Lake, Ice Lake 几乎所有的平台
  • 修补核显输出接口[3]
  • 创建显存大小修改补丁
  • EDID 注入
  • 检测自动修补程序创建的变化
  • 创建 Clover 补丁,支持 hex,base64 或 Devices/Properties 等三种格式
  • 显示原生GPU和型号标识
  • 显示和编辑内存信息,如缓冲帧,显存,Cursor 等
  • 弹出一些项目的提示信息(Tool tips)
  • 直接读取已加载生效的xxxFramebuffer kext的数据
  • 文件 ▸ 打开通过 Debug 版本的 WhatEverGreen.kext-igfxdump 引导标志生成的缓冲帧文件
  • 文件 ▸ 导出 ▸ Clover Config.plist 并对现有 Config.plist 进行无损打补丁
  • 文件 ▸ 导出 ▸ Framebuffer.txt (缓冲帧文本形式)
  • 修补音频 Layout ID
  • 字符串转换与进制转换
  • 读取 Clover 开机日志,Lilu(Debug)日志,Lilu(Debug)内核日志,Whatevergreen (Debug) 内核日志,AppleALC (Debug) 内核日志
  • 显示硬盘分区图的详细信息
  • 读取 Lilu,Whatevergreen,AppleALC,USBInjectAll 的安装信息
  • 添加 NVRAM 的内核引导标识符
  • 装载/卸载 EFI 分区
  • 添加 USB 端口限制补丁
  • 添加 DSDT 重命名
  • 定制 USB
  • 高级修补选项(DVMT-prealloc 32 MB ,显存 2048 MB,禁用 eGPU,启用HDMI20(4K),仿冒声卡 ID,将 DP 映射到 HDMI,USB端口限制,FB端口限制,修复热插拔重启,注入设备 ID 等)

两个开味小菜:

  • 声卡修补
  • 显示器 EDID 修补

声卡修补

  1. 安装最新的 Lilu[4] + AppleALC[5]

  2. Clover Configurator[6] 设置 config.plist ▸ Devices ▸ Audio ▸ Inject ▸ No

  3. 四叶草 (Clover) ▸ DSDT 重命名(如果需要)

    • ☑️ AZAL ▸ HDEF
    • ☑️ HDAS ▸ HDEF
  4. 选中 补丁 ▸ 通用 ▸ 声音

  5. 设置 Layout ID下拉列表,选择或输入合适你的 Layout ID

  6. 文件 ▸ 导出 ▸ Clover Config.plist(覆盖现有的config.plist文件)

  7. 重新启动

  8. 如果没有音频依然存在问题,请返回步骤4并尝试不同的 Layout ID 注意:如果您尝试所有 Layout ID 但仍有问题,请尝试设置 补丁 ▸ 高级 ▸ 仿冒声卡 ID 选项。如果这依然不起作用,那么尝试安装FakePCIID.kext[7] + FakePCIID_Intel_HDMI_Audio.kext[8]

Hackintool使用教程及插入姿势
AudioPatch
Hackintool使用教程及插入姿势
AudioPatch2

显示器 EDID 修补

通过对EDID的修补,您可以修改显示器样式并添加缩放分辨率。

  1. 从显示器列表中,选择您要编辑的显示器。
  2. (可选)添加/修复监视器范围(如果您的EDID没有它们或它们是坏的)。
  3. (可选)通过单击“添加”,然后通过单击这些值并进行编辑,可以选择添加缩放分辨率。选择后,可以通过“删除”按钮删除输入的分辨率。
  4. 单击“导出”按钮会在桌面上生成用于修补的替代文件

Hackintool使用教程及插入姿势Hackintool使用教程及插入姿势

安装

安装EDID补丁有两种方法:1.显示覆盖 2.扩展库(L/E) 请二选一

1.显示覆盖 (Display Overrides):

  • DisplayVendorID-x 文件夹复制到 /System/Library/Displays/Contents/Resources/Overrides (或者 /System/Library/Displays/Overrides El Capitan 及以前版本)
  • Icons.plist 复制到 /System/Library/Displays/Contents/Resources/Overrides (或者 /System/Library/Displays/Overrides El Capitan 及以前版本)

2.扩展库 (Library Extensions):

  • DisplayEDID-x-x.kext 复制到 /Library/Extensions 或者 EFI/Clover/kexts/Other (取决于您的配置,建议使用 Clover 的方法)

系统完整性保护 (SIP)

您需要禁用SIP (sudo spctl --master-disable) 才能将文件复制到方法1所述位置。

额外信息

如果您有16:10的显示器并想使用缩放分辨率,您可以使用:

  • iMac 显示器
  • MacBook Pro 显示器
  • Cinema HD 显示器
  • LED Cinema 显示器

对于16:9显示器和缩放分辨率,您可以使用:

  • Apple Thunderbolt 显示器 (不要用于内建显示器!!!)
  • iMac Retina 显示器
  • MacBook Air 显示器

工具栏

Hackintool使用教程及插入姿势
Tools
  1. 从 AppleIntelInfo.kext 中获取 CPU 的详细信息
    • 注意!使用完这个功能后需要重启来还原 CPU 的状态!
  2. 从 macOS 10.14 开始,苹果删除了 高通 AR92XX/93XX 的驱动,点击这里可以一键安装
  3. 安装驱动以在 macOS 10.14 上启用 SATA 热插拔
  4. 生成 Windows 蓝牙注册表文件
  5. 生成 Windows UTC 时间同步注册表文件
    • 不推荐,建议更改 macOS 内时区来同步时间
  6. 导出 DSDT
    • 用于导出现在系统使用的 ACPI 表,用于查看 Clover 重命名效果,TgBridge 错误,提取白苹果 ACPI 表等等
    • 强烈不推荐用于提取原始 ACPI 表,请绕路 Clover F4
  7. 安装驱动
    • 安装下载好的 Kext 到 Library/Extensions (俗称 L/E)
  8. 重建缓存并修复权限
    • 安装完驱动必须点击执行

定制USB

macOS 10.14.1+ 的USB端口限制补丁已经失效了,因此无法一次配置所有端口。RehabMan[9] 已更新 USBInjectAll.kext 并已包含用于排除端口组的引导标志。

  1. USBInjectAll.kext (用于端口发现) 放入 EFI/CLOVER/kexts/Other

  2. Clover ▸ DSDT 重命名 (如果需要)

    Hackintool使用教程及插入姿势Hackintool使用教程及插入姿势

    • ☑️ XHC1 ▸ XHC
    • ☑️ EHC1 ▸ EH01
    • ☑️ EHC2 ▸ EH02
  3. 重新启动

  4. 运行 Hackintool 然后转到 工具栏 ▸ 已安装 检查 USBInjectAll 是否安装正确

    • 如果你看到:USBInjectAll: Yes (Release-0.7.1) 就说明没问题了
  5. 转到 工具栏 ▸ USB 来查看 USB 控制器列表。因为这里需要基于 USB控制器 您可能需要安装额外的 kexts:

    • 8086:8CB1 和 macOS (10.11.1) ▸ 请使用 XHCI-9-series.kext
    • 8086:8D31, 8086:A2AF, 8086:A36D, 8086:9DED ▸ 请使用 XHCI-unsupported.kext
    • 8086:1E31, 8086:8C31, 8086:8CB1, 8086:8D31, 8086:9C31, 8086:9CB1 ▸ 请使用 FakePCIID.kext + FakePCIID_XHCIMux.kext
  6. 如果您缺少了其中一个附加的 kexts,请完成安装并立即重新启动,然后再次运行 Hackintool

  7. 转到 工具栏 ▸ USB 选项

  8. 依次选择 USB 端口列表中的各个项目,然后单击“删除”删掉全部项目,完成后再单击“刷新”按钮

  9. 使用 -uia_exclude_ss uia_include=HS01,HS02

    • 这里的 HS01HS02 是鼠标和键盘,请根据自己的设备位置对其进行更改
  10. 运行 Hackintool 并转到 工具栏 ▸ USB 选项

    • 用一个 USB 2.0 的设备将所有的2.0端口(通常为黑色)全部插拔一遍
    • 活动的端口将以绿色突出显示Hackintool使用教程及插入姿势
  11. 删除所有突出显示为绿色的端口,请您也用小本将活动端口的数据记下来,以防万一

  12. 删除 -uia_exclude_ss 引导标志,并使用 -uia_exclude_hs 引导标志重新启动

  13. 运行 Hackintool 并转到工具栏 ▸ USB 选项

    • 用 USB 3.0 的设备将所有的3.0端口(蓝色/红色/黄色)全部插拔一遍
    • USB Type-C 接口的设备需要用正反两面对所有的端口进行插拔
    • 活动的端口将以绿色突出显示
  14. 删除所有未突出显示为绿色的端口,请您也用小本将活动端口的数据记下来,以防万一Hackintool使用教程及插入姿势

  15. 使用下拉列表将每个端口设置为适当的接口类型

    Hackintool使用教程及插入姿势Hackintool使用教程及插入姿势

    • 永久连接设备的USB端口(例如M.2蓝牙卡)应设置为 Internal (内建)
    • 与 USB3 端口相连的 HSxx 端口 (USB2) 应设置为 USB3
    • 内部集线器通常连接到端口PR11和PR21,因此应设置为 Internal (内建)
    • USB Type-C 接口可以是9或10,这取决于硬件如何处理 USB Type-C 型设备/电缆的正反两种可能方向
    • 如果 USB Type-C 在两个方向上使用相同的 SSxx,则它具有内建切换器,因此应设置为 TypeC+Sw
    • 如果 USB Type-C 在两个方向使用不同的 SSxx,则它没有内建切换器,因此应设置为 TypeC
  16. 使用 导出 按钮在桌面上生成 USB 修复文件

    Hackintool使用教程及插入姿势Hackintool使用教程及插入姿势

    • A) 复制 USBPorts.kext 到 EFI ▸ CLOVER ▸ kexts ▸ Other;或者
    • B) 复制 SSDT-UIAC.aml 和 SSDT-USBX.aml (如果有) 到 EFI ▸ CLOVER ▸ ACPI ▸ patched
    • 复制 SSDT-EC.aml (如果有) 到 EFI ▸ CLOVER ▸ ACPI ▸ patched
    • 接下来的方案请 2 选 1:
  17. 好了,是时候清除不需要的补丁和文件了:

    • 删除 (-uia_exclude_ss-uia_exclude_hsuia_include=x)
    • 删除 USBInjectAll.kext如果您使用的是 USB-Ports
  18. 重启

  19. 运行 Hackintool 然后转到 工具栏 ▸ USB

  20. 依次选择 USB 端口列表中的各个项目,然后单击“删除”删掉全部项目,完成后再单击“刷新”按钮

    • 您现在可以检查你的 USB 是否全部正常工作
    • 如果您要更改USB端口类型,请在更改后重新生成修复文件并替换之前的文件
    • 如果您一不小心删了修补文件,请重新从头来过,或者您可以用您的小本 ⊙﹏⊙∥∣°

FAQ

Q. 什么是 USBPorts.kext ? A. 它是一个 无代码的核心驱动 用于注入 USB 端口,让所有的USB端口都能正常工作

Q. 我还需要在使用USBPorts.kext 的同时使用 SSDT-UIAC.aml 吗?A. 不,这个方法生成的是一个空壳的无代码的kext驱动,无需同时使用 SSDT-UIAC.aml

USB定制视频教程

核心功能:给缓冲帧打补丁

随着macOS Mojave的发行,之前的通过CloverKextsToPatch 通过修补帧缓冲的方法已经失效了,尤其是 SkyLake 及以后架构。您现在必须使用 Lilu + WhateverGreen+FB Patcher 的方式来驱动您的显卡。

初步动作

  • 删除 FakePCIIDIntelGraphicsFixupNvidiaGraphicsFixup,ShikiCoreDisplayFixup

  • 关闭 Clover 里面关于 Graphics 注入的参数,这些参数包括:

    • config.plist ▸ Graphics ▸ ? Inject ATI
    • config.plist ▸ Graphics ▸ ? Inject Intel
    • config.plist ▸ Graphics ▸ ? Inject NVidia
    • config.plist ▸ Graphics ▸ ig-platform-id= 清空
    • config.plist ▸ Devices ▸ FakeID ▸ IntelGFX= 清空
  • 关闭 Clover 里面关于AcpiDSDT 的修复:

    • ? AddHDMI
    • ? FixDisplay
    • ? FixIntelGfx
    • ? AddIMEI
  • Devices 禁用 UseIntelHDMI

  • 移除 boot argument 参数:-disablegfxfirmware

  • 移除 IGPUHDMI 部分的全部内容,包括:

    • config.plist ▸ Devices ▸ Arbitrary
    • config.plist ▸ Devices ▸ Properties
    • config.plist ▸ Devices ▸ AddProperties
  • 从以下位置删除任何与 IGPUHDMI 相关的 SSDTDSDT

    • Clover ▸ ACPI ▸ patched

使用方法

  1. 打开应用:Hackintool.app

  2. 通过菜单项:缓冲帧选择 macOS 10.13.6 / macOS 10.14 Hackintool使用教程及插入姿势

  3. 选择显卡对应的处理器架构,比如

    Hackintool使用教程及插入姿势
    FB-1

    之后选择平台 ID,这个就是能正确驱动你的显卡的 ID,至于这个 ID 如何确定,请参考黑苹果必备:Intel核显platform ID整理及smbios速查表[10]