此文仅针对 Clover 引导,OpenCore 引导请看新文「OpenCore专门篇」
刚入黑苹果这个天坑的新手们,一定有遇到过下面的情况吧..
哈哈哈,没错,macOS 运行在它不熟悉的硬件上,不认识/找不到你的核显,导致无法识别,或没有显存(显示 7MB),而成功驱动的核显,应该是下面这样的:
今天这里主要讲解的是怎么驱动英特尔核芯显卡。
「新手向」在阅读本文前,你需要知晓的概念
- macOS 驱动:kext 文件的基本介绍
- WhateverGreen.kext:下文简称 WEG,是第三方开发的开源驱动,用于黑苹果驱动显卡,依赖 Lilu.kext
- Clover EFI Bootloader:国内称之为四叶草 EFI 引导工具,是通用的开源系统引导工具,目前应用最多的是安装黑苹果。需要注入的第三方驱动需要放置到 EFI/Clover/kexts/Other
- Clover Configurator.app:简称四叶草配置工具,用于配置 Clover EFI 引导工具相关设置,目前已具备原生中文
- Hackintool.app:一款由 @headkaze 开发的黑苹果专用工具,功能很多,使用最多的功能就是生成核显相关配置,以及调试 USB 接口
- .plist:该扩展名意为 Property List,是一种苹果系统采用的文件格式,通常用于储存用户设置,也用于存储捆绑信息,Clover EFI 引导工具中主要使用 config.plist 储存引导设置
- FrameBuffer:简称 FB,字面意思是“缓冲帧”,是用一个视频输出设备从包含完整的帧数据的一个内存缓冲区中来驱动一个视频显示设备,见 Wikipedia / 百度百科
好了,这里正式开始,本文主要介绍两种办法:
- 一种是通过 Hackintool.app + Clover Configurator.app
- 另一种,是通过 WhateverGreen.kext + Clover Configurator.app
但总的来说,思路是一样的:
清理旧驱动和设置(如果有) → 获取 iGPU 的设备路径 → 填写 ig-platform-id → 填写 Device-id → 驱动成功
第一种方法需要了解的东西少,大部分工作由 Hackintool 完成,新手推荐。如果无法驱动,或出现问题,请仔细阅读第二种方法。
需要的软件
- Clover Configurator.app
- Hackintool.app
- WhateverGreen.kext
- Lilu.kext
- gfxutil(用于识别PciRoot)
已有145211次阅读
需要的 BIOS 设置
- iGPU -> Enabled
- 大部分 BIOS 在开启本项,保存退出 BIOS,重启再进入 BIOS 后才会显示下面选项
- Primary Display PEG/PCIE:Auto
- 如果同时存在独显和核显,使用 Auto,如果仅用核显选择 IGFX,仅用独显选择 PCIE
- DVMT Total Memory Size:MAX
- DVMT Pre-Allocated -> 32M/64M/96M/128M(取决于要用的 Framebuffer,不要低于 32M,方法二会具体说)
移除旧驱动和设置
无论使用哪种方法,都需要做这一步。以下内容和选项有则删除,无则跳过。
- 使用 Clover Configurator 挂载 EFI 分区,进入 /EFI/Clover/kexts/other 目录,删除以下内容
- AzulPatcher4600.kext(目前已合并至 WEG)
- AppleBacklightFixup.kext
- CoreDisplayFixup.kext(目前已合并至 WEG)
- FakePCIID_Intel_HD_Graphics.kext
- FakePCIID_Intel_HDMI_Audio.kext
- FakePCIID.kext
- IntelGraphicsFixup.kext(目前已合并至 WEG)
- IntelGraphicsDVMTFixup.kext(目前已合并至 WEG)
- NvidiaGraphicsFixup.kext(目前已合并至 WEG)
- Shiki.kext(目前已合并至 WEG)
使用 Clover Configurator 打开 EFI 文件夹里的 config.plist,清空以下选项:
- config.plist → Graphics(显卡设置) → 取消勾选 Inject ATI/AMD(注入 ATi/AMD 显卡)
- config.plist → Graphics(显卡设置) → 取消勾选 Inject Intel(注入 Intel 显卡)
- config.plist → Graphics(显卡设置) → 取消勾选 Inject NVIDIA(注入 NVIDIA 显卡)
- config.plist → Graphics(显卡设置) → 清空 ig-platform-id
- config.plist → Devices(设备设置) → FakeID(仿冒ID) → 清空 IntelGFX
禁用 APCI 设置的以下 DSDT 补丁:
- AddHDMI(添加 HDMI)
- FixDisplay(修复 Display)
- FixIntelGfx(修复 IntelGfx)
- AddIMEI(添加 IMEI)
- FixHDA(修复 HDA)
在引导参数中删除参数:-disablegfxfirmware
删除以下位置所有和 iGPU,HDMI 相关内容:
- config.plist → Devices(设备设置) → Arbitrary(任意)
- config.plist → Devices(设备设置) → Properties(属性)
- config.plist → Devices(设备设置) → AddProperties(添加属性)
删除或禁用以下 ACPI 设置中的重命名补丁:
- GFX0 to IGPU
- PEGP to GFX0
- HECI to IMEI
- MEI to IMEI
- HDAS to HDEF
- B0D3 to HDAU
删除内核和驱动补丁中的 kext 补丁
至此,清理完成。
方法一:使用 Hackintool
- 下载安装 Hackintool 并运行
- 切换到 应用补丁 选项卡,并将缓冲帧版本调整为 10.14 ( 10.15 和 10.14 驱动方法一致)
- 可以在第一个页面下方选择 CPU 家族和对应的 Platform-ID,一定要选对
- 怎么选?小白请看:举例 i9 9900KF,i9 代表的是分级,第一个9代表是第九代酷睿,也就是 Coffeelake 家族,900指的是性能等级,后缀K代表不锁倍频,F代表没有核显(你的CPU如果带F后缀可以不用继续往下看了,你的CPU没有核显)
- 英特尔 CPU 家族查询这里,Platform-ID 查询这里。
已有145211次阅读
使用 Clover Configurator 打开 config.plist,切换到设备设置选项卡,可以看到补丁已经成功合并
如果方法一遇到问题,请参阅详细方法二。
详细方法二:使用 WEG + Clover Configurator
获取 iGPU 的设备路径
- 默认你已经把 Lilu.kext 和 WEG 放到了 /EFI/Clover/kexts/Other 目录中
- 把 gfxutil 工具解压到桌面,然后运行终端(按下 Command + 空格,搜索“终端”)
- 把 gfxutil 拖入终端,输入以下代码:
/Users/你的用户名/Desktop/gfxutil -f IGPU
- 复制你得到的信息(红线部分):
- 运行 Clover Configurator,在 config.plist → Devices(设备设置) → Properties 中填入设备路径
- gfxutil 还支持 -f IMEI / -f HDEF 定位 IME 和 HDEF。
填写 ig-platform-id 和 device-id
「新手向」这个部分需要知道的内容
- SMBIOS ID:苹果电脑的型号ID,例如 MacPro7,1、 MacBookPro16,1。ig-platform-id 需要搭配正确的 SMBIOS ID 使用,如果用错了 SMBIOS ID 可能出现 4核处理器被识别成双核的情况,更糟糕的是登陆 App Store 还可能会被苹果识别出黑苹果导致封号。
- ig-platform-id:设备平台ID,直接影响显卡是否能成功驱动。
- device-id:硬件设备ID,每款硬件设备都有唯一的 id,下面会具体解释。
- SMBIOS ID、ig-platform-id、device-id 三个代码必须和真正的 Mac 配置规则一致,例如 iMac 的 SMBIOS ID 不可能搭配一个 MacBook Air 的 ig-platform-id 和 device-id,那肯定会出问题的。
- 关于仿冒的概念:通过修改设备 ID 以欺骗 macOS,让 macOS 以为系统中存在特定设备 ID 的设备。有点拗口?举个栗子:Radeon RX580 有两种型号,一种配备了2304 个流处理器,另一种型号较新的配备了 2048 个流处理器,但是 2048 流处理器版刚刚推出的时候大部分型号还不能被 macOS 正确识别,而 Radeon RX570 一直都只有 2048 个流处理器版,所以不能被识别的 RX580 2048SP 可以通过挂载(仿冒)RX570 的设备 ID 以实现驱动(仅作举例,99% 的 RX580 2048SP 需要刷 RX570 的 VBIOS 才能被正确驱动)。英特尔核显也是同理。
已有145211次阅读
查询合适的 FrameBuffer
在尝试各个不同的 Framebuffer 时,可以在以下引导参数位置添加参数来临时使用,启用引导参数时,设备设置中的属性将被忽略。
- 此处的 Framebuffer 无需倒序,且必须带上 0x 前缀
- 如未指定 Framebuffer,将使用缺省值;如未指定 FB 且存在独立显卡,将使用空值
如果上面没有合适的,还可以从这里查找:macOS Catalina 显卡支持列表、SMBIOS ID 和 Platform-ID 速查表、原生显卡驱动信息表
如有错误欢迎指正。
1. 本站资源收集于网络,仅做学习和交流使用,请于下载后24小时内删除。如果你喜欢我们推荐的软件,请购买正版支持作者。
2. 如有无法下载的链接,联系:admin#heipg.cn,或到QQ群进行反馈,我们将及时进行处理。
3. 本站发布的内容若侵犯到您的权益,请联系站长删除,联系方式:admin#heipg.cn,我们将第一时间配合处理!
黑苹果星球 » 驱动英特尔核显,让黑苹果流畅运行!