概述

随着各种数字币价格持续走高(本文发布时),很多 黑苹果er 经不住矿老板开的高价诱惑卖掉了手里的独立显卡,核显就成为了唯一的显示设备;也有新手想入坑黑苹果,原来搭配的却是 NVIDIA 无法驱动的型号,只能使用核显;对笔记本用户来说,绝大部分型号只能使用核显,无法驱动独显;根据苹果机型的工作原理,核显在 iMac 机型中对随航/硬件解码等功能起了直接甚至决定性的影响。

因此,黑苹果驱动核显对使用体验的提升起到举足轻重的作用。本文接下来会以问题排查的思路,逐步加码讲解驱动核显遇到的问题和解决方法。

文中标注了「注意」的部分都是坑,注意认真看。

情况确认

白苹果中在默认情况下,各机型核显的配置和工作情况如下:

  • 核显是唯一的显示输出

    • 常见于在没有独显的 Mac Mini,MacBook Air,13寸 MacBook Pro 和 iMac
  • 核显仅用于驱动内置显示器,而独显处理外部显示器
    • 常见于 15寸/16寸 MacBook Pro
  • 核显仅用于内部计算,而独显处理所有显示输出
    • 常见于包含独显的 iMac
  • 官方没有核显的机型
    • iMacPro 和 Mac Pro

苹果在 macOS 内置的核显驱动中限定了支持的核显型号和具体配置情况。这样的设计决定了很多情况,包括支持的显示器的数量,允许的显示器类型,这些显示器的位置,所需的最小 VRAM 等,因此当你的硬件配置和白苹果的越接近,问题越少,体验越好。苹果究竟用过哪些硬件,参考 SMBIOS ID 机型选择。和免驱独立显卡不同,缓冲帧补丁(Framebuffer Patching)一般情况下不会自动给你打上,即便你的硬件和白苹果一模一样。

由于 EFI 配置文件不具备普适性,所以黑苹果系统安装完成后,很多情况下会出现核显无法识别,或没有显存。虽然现在已有 WhateverGreen 这样的“显卡驱动”(实际上是针对显卡的补丁集)可以方便的打缓冲帧补丁,但是很多人不是很明白具体如何操作。如果你的关于本机显示下面的情况,那么你的核显没有正常驱动。

具体就是“图形卡”部分显示 核显型号 + 7MB,或者直接显示 Display + 7MB,并且在 Hackintool 中 CPU 架构一项显示三个问号 ??? 。这种情况是 100% 没有驱动核显的。

正常驱动的核显,应该是下面这样的:

「注意」

  • 笔者至今没见过 奔腾/赛扬/锐龙 的核显正确驱动的案例,如果你是这类情况建议更换处理器;
  • 酷睿处理器名字中带“F”后缀的型号没有核显,没有核显,没有核显,例如 9400F/9900KF/10400F,这是物理上就不带核显这个东西,不必继续往下看了。

核显基本驱动流程如下:

确定核显型号 → 寻找缓冲帧信息 → 在 config 中注入对应信息 → 重启验证

前期准备

确认了有问题,下一步就是要解决,需要准备一些必要的文件和 OpenCore 配置工具。

  • Hackintool.app
  • WhateverGreen.kext
    • 简称 WEG,依赖 Lilu.kext,把文件放到 /EFI/OC/Kexts/ 目录下,并在 config 中添加启用

我们需要修改 OC 配置文件,指的是修改 /EFI/OC/ 目录下的 config.plist 文件,这是 OpenCore 的核心配置文件。考虑到目前已经有各式各类的工具可配置 OpenCore,这里提供多种工具和方法,选择其中之一即可:

  • OpenCore Configurator:简称 OCC,和开发 Clover 配置工具的是同一个团队,优点是拥有逻辑清晰的图形界面,操作比较直观;缺点是只有 macOS 版本,并且偶尔会出现污染配置文件的情况,使用前注意备份;
  • OCAuxiliaryTools:OpenCore 配置工具中的后起之秀,优点是拥有跨平台客户端,支持 Windows、macOS 和 Linux,拥有图形界面,操作比较直观;缺点是功能排版上稍显凌乱,和 OCC 一样偶尔会出现污染配置文件的情况,使用前注意备份;
  • ProperTree:使用 Python 编写的跨平台 Plist 编辑工具,优点是可跨平台,支持 Windows、macOS 和 Linux(Python),通常情况下不会污染配置文件;缺点是虽然拥有图形界面,但却是一个树状的编辑器,和前两者不是同一个概念,因此操作上没有前二者方便;
  • Visual Studio Code:严格来说这是一个代码编辑器,同类型的还有 Sublime Text,UltraEdit 等,其优点是自由度较高,不会污染配置文件;缺点是没有代码基础知识没法使用,较高的自由度也带来了犯更多错的可能;

一般情况下 EFI 文件夹位于 ESP 分区,需要使用工具或方法才能打开。

BIOS 设置

要驱动核显,我们还需要对 BIOS 设置进行一些更改,一般情况下笔记本默认激活核显,但可能需要调整 DVMT。大部分台式机都需要改改设置。因各个品牌 BIOS 设置不尽相同,这里不做详细说明,请自己在 BIOS 里查找以下项目:

  • iGPU → Enabled

    • 部分主板此项可能名为 GFX 或 Integrated Graphics 等,实在找不到请百度或上官网查一下用户手册;
    • 部分主板在开启本项保存退出 BIOS 重启再进入 BIOS 后,才会显示下面选项;
  • Multiple Monitor → Enabled
    • 此项主要开启核显多屏幕连接功能,但在部分机型上,没独显仅用核显时需要开启此项才能正常驱动核显;
  • Primary Display IGFX/IGD/PEG/PCIE → Auto
    • 如果同时存在独显和核显,使用 Auto,如果仅用核显选择 IGFX/IGD,仅用独显选择 PCIE/PEG
  • DVMT Total Memory Size → MAX
  • DVMT Pre-Allocated → 64M/96M/128M/256M
    • 以上 DVMT 两项在大部分机型的 BIOS 里只存在其中一个;
    • DVMT 不需要太高,但建议不要低于 64M,「注意」如果 BIOS 没有此项请注意看下文(完善型驱动部分)说明

捷径型驱动方法

Hackintool 堪称黑苹果界的瑞士军刀,它可以帮助你轻松生成缓冲帧补丁。对于新手和“我不想了解那么多”的人来说,直接使用这个软件生成缓冲帧补丁即可。

首先下载并运行 Hackintool,然后勾选顶部菜单栏中的:

  • 缓冲帧 → macOS 10.14(根据你实际情况选择,10.15 及以上同样勾选 10.14 )
  • 应用补丁 → 应用当前补丁

    可以在第一个页面下方选择 CPU 架构和对应的 平台 ID,不要选错。

    • CPU 架构怎么选?小白请看举例:i9-9900KF,i9 代表的是分级,第一个 9 代表是第九代酷睿,也就是 Coffee Lake 家族,900 指的是性能等级,后缀 K 代表不锁倍频,F 代表没有核显(你的 CPU 如果带 F 后缀可以不用继续往下看了,你的 CPU 没有核显)英特尔 CPU 详细信息查询官网 Ark 数据库。
    • 关于平台 ID:对于桌面端处理器有独显的情况,应选择“无端口”(Headless)的缓冲帧;如果是没有独显,单独使用核显,选择桌面端有端口的缓冲帧;笔记本机型由于独显基本无法驱动,因此首选笔记本默认推荐的缓冲帧,如有问题再尝试其他。这个部分可参考本文最末尾 Framebuffer 参考信息。

    接下来使用 Hackintool 生成需要的补丁,切换到 应用补丁 选项卡,勾选设备属性,图形卡:

    切换至 高级 选项卡,根据自身需求决定选项,看图操作:

生成补丁后,需要点击菜单 → 文件 → 导出 → 引导工具 config.plist

可以直接选择你的 /EFI/OC/config.plist 文件,直接覆盖。Hackintool 会自动备份你原有的 config 文件(建议是手动备份),把补丁内容合并到新的 config 中。

如果此方法未能解决你的问题,建议继续往下看,详细了解 WhateverGreen.kext 对核显打补丁的方法和原理。

基本型驱动

如果你处理器是比较新的第八到第十代酷睿(桌面),那么恭喜你,它们内置的 UHD630 是目前最容易驱动的核显型号。在没有独显的情况下,只需要提供一个 AAPL,ig-platform-id 即可,参数解释:

  • AAPL,ig-platform-id,平台设备 ID,DATA 格式,填写时需要按十六进制倒序,例如 UHD630 的其中一个 ID 是 0x3E9B0007,则需要填入 07009B3E

    • 如何倒序?0x 代表的是十六进制,没有实际意义略过。剩下的值两两一组分隔开:3E 9B 00 07,然后按从右到左的顺序重新排列,得到 07 00 9B 3E
    • 「注意」如果是第三代酷睿核显,这个参数要改成 AAPL,snb-platform-id
    • 其它型号的核显的缓冲帧补丁可参阅本文 Framebuffer 参考信息 部分

我们使用 OpenCore Configurator(OCC)打开 config 文件,切换到 DeviceProperties,加入 AAPL,ig-platform-id 信息,见图:

「注意」绝大部分情况下,核显的 Pci 位置就是 PciRoot(0x0)/Pci(0x2,0x0) 。如果你的不是,请通过以下位置确认。

第二个需要说明的是 APPL,ig-platform-id 的值,07009B3E 适用于第八代到第十代所有内置的 UHD630 核显,但在某些机器里,07009B3E 可能会造成黑屏,这种情况可以试试 00009B3E 。「注意」这两个 id 要求机型 ID 不低于 iMac19,1,因为从 iMac19,1 和同代机型开始苹果才配备了第八代酷睿,所以这点应该很容易理解。苹果究竟用过哪些硬件,参考 SMBIOS ID 机型选择。

以上两个 id 针对只有核显的情形,「注意」如果有独显的情况使用 iMac 机型,希望核显参与硬解码不参与画面输出的,使用下面几个 id:

  • 0300913E、0300983E:适用于第八代-第九代酷睿核显
  • 0300C49B:适用于第十代酷睿,i3 10100-10300
  • 0300C89B:适用于第十代酷睿,i5 10400-10600
  • 0300C59B:适用于第十代酷睿,i7 10700 及以上

对于其他核显型号,可参考本文最下方的 Framebuffer 列表。「注意」截止本文发布,第十一代酷睿的 Xe 核显 UHD730/750 还无法被驱动。

完善型驱动

如果基本驱动方法无法满足你的需求,又或者默认的 1536MB 显存不够你使,或有卡死/卡顿/无限循环重启等问题,除了尝试更换不同的缓冲帧 ID 外,就是需要对注入的信息做进一步的扩展,这里介绍以下几个由 WhateverGreen(WEG)提供的功能。「注意」绝大部分情况下,有独显核显仅参与计算的情形不需要下面这些参数。

  • framebuffer-patch-enable:决定是否开启 WEG 提供的补丁功能,有独显的情况不需要。「注意」要启用其它补丁功能则此项必须开启

    • 该值可以使用 DATA 和 NUMBER 两种格式

      • DATA:01000000(启用) 00000000(不启用)
      • NUMBER:0(不启用) 1(启用)
  • framebuffer-stolenmem:视频动态分配的内存大小,建议不要低于 64M,下面的值已经转换并倒序,可直接使用。「注意」如果你的 BIOS 有 DVMT 则无需此项,反之则必须
    • 00000004(64M)
    • 00009003(57M)
    • 00000008(128M)
  • framebuffer-fbmem:此项需要和 stolenmem 搭配使用,DATA 格式,主要影响高分辨率显示,可设置以下值「注意」如果你的 BIOS 有 DVMT 则无需此项,反之则必须
    • 00009000(9M)
    • 00000003(48M)
  • framebuffer-unifiedmem:设置核显能调用的显存大小(实际使用的是内存),DATA 格式,按需使用
    • 00000060(1536M,默认)
    • 00000080(2048M,如果花屏可尝试)
    • 000000C0(3072M)
    • 0000F0FF(4095M)
  • framebuffer-cursormem:字面意思是光标内存,DATA 格式,主要针对 Haswell 核显,如果遇到鼠标卡顿跳跃可试一试
    • 00009000(9M)
    • 00000003(48M)
  • device-id:设备 id,DATA 格式,同样需要十六进制倒序,另外,常说的仿冒设备 ID 就是需要设置这个属性
    • 例如:八代九代酷睿 UHD630 核显输出填写 9B3E0000,核显仅计算填写 983E0000 或 913E0000
    • 仿冒设备 id 例如:HD4400 没有原生支持,需要填写 12040000 仿冒 HD4600 的设备 id
  • enable-hdmi20:开启 HDMI 2.0 输出,解决使用 HDMI 2.0 输出 4K@60Hz 画面
    • 该值可以使用 DATA 和 NUMBER 两种格式

      • DATA:01000000(启用) 00000000(不启用)
      • NUMBER:0(不启用) 1(启用)
  • enable-hdmi-dividers-fix:用于修复 HDMI 无限循环重启,按需
    • 该值可以使用 DATA 和 NUMBER 两种格式

      • DATA:01000000(启用) 00000000(不启用)
      • NUMBER:0(不启用) 1(启用)
  • AAPL,GfxYTile:用于修复 Skylake HD530 核显在菜单栏/窗口左上角的“毛刺”,按需
    • 该值可以使用 DATA 和 NUMBER 两种格式

      • DATA:01000000(启用) 00000000(不启用)
      • NUMBER:0(不启用) 1(启用)
  • disable-external-gpu:用于笔记本关闭独立显卡(因为驱不动),DATA 格式,按需
    • 该值可以使用 DATA 和 NUMBER 两种格式

      • DATA:01000000(关闭独显) 00000000(不关闭)
      • NUMBER:0(不关闭) 1(关闭独显)
  • AAPL,slot-name:显示该设备的接口,字符串格式,可不填
    • Internal@0,2,0 或 Built-in
  • device_type:该设备的类型,字符串格式,可不填
    • Display controller 或 VGA compatible controller

在选择并添加以上信息后,我们得到了下面的注入信息:

到这一步,应该解决了绝大部分核显驱动相关的问题。最后是几个小提示:

  • 使用 HDMI 接口每次开机/重启都需要重新插拔才能显示的,添加启动参数 igfxonln=1
  • 添加启动参数 -wegnoegpu 也可以禁用独显(针对笔记本机型)
  • device-id 用于仿冒设备 id 从而驱动原本不支持的设备,例如 HD4400 仿冒 HD4600。macOS 的 IOKit 通过检测设备 id 来决定哪些设备可以连接到哪个驱动文件,这些存放驱动的 kext 本身能支持的设备是很多的,但是苹果的 iGPU 驱动里包含的设备 id 是有限的,因此指定 device-id 即可让 IOKit 加载对应的文件驱动设备。因此可以这么做的前提就是存放驱动的 kext 本身能够支持设备,所以给 RTX3090 指定 RX6900XT 的设备 id 是没有用的。仿冒设备 id 原理和方法可以参考「仿冒设备 id 以驱动显卡」
  • Ice Lake 需要添加启动参数 -igfxcdc(或 enable-cdclk-frequency-fix 属性)以及 -igfxdvmt(或 enable-dvmt-calc-fix 属性)启动参数避免硬件和设置的问题导致的内核崩溃;
  • WhateverGreen 于 1.4.6 版弃用了 igfxcflbklt=1(和 enable-cfl-backlight-fix 设备属性),这是用于修复屏幕亮度的。如果你的 WEG 升级到 1.4.6 及以上后开机屏幕很暗,使用新的参数 -igfxblr(和 enable-backlight-registers-fix 设备属性)

驱动英特尔核显,让黑苹果流畅运行「OpenCore专门篇」相关推荐

  1. 英特尔核显运行opengl时的帧数过高或过低问题,opengl帧数问题

    我相信不止我一个人在学习OpenGL时遇到了这些问题,国内外的相关资料或解决方法很难找,也仅在glfw论坛里找到了几个提出这个问题的人,并摸索到了莫名其妙的解决方法,具体原因也没弄清楚. 这里也希望如 ...

  2. 英特尔核显自定义分辨率_让免费的核显更好用!英特尔酷睿集成的GPU如何优化?...

    点击上方电脑爱好者关注我们 在笔记本领域,无论是英特尔酷睿还是AMD锐龙,都采取了"买一赠一"的策略,即都在处理器内集成了性能还不赖的核显,虽然它们无法驾驭3A游戏大作,但应对&l ...

  3. 英特尔核显驱动hd630_AMD与英特尔彻底失去合作关系?中止Kaby Lake-G更新支持

    与非网 6 月 9 日讯,据报道,迄今为止由英特尔和AMD合作的唯一一款处理器 Kaby Lake-G 已经失去了驱动的更新支持. 尽管被取消,英特尔承诺将为 Kaby Lake-G 提供五年的技术支 ...

  4. 英特尔核显驱动hd630_秒速开机快如闪电 英特尔EVO平台惹人爱!

    [PConline 杂谈]随着数字生活的理念日渐深入人心,通过使用电子设备来提高自己生产力与生产效率的人们成为了如今战斗在社会发展前端的精英,电子与光子飞速地运转下,我们的世界发生了翻天覆地的变化,网 ...

  5. 英特尔核显驱动hd630_跳票数年,英特尔10nm终现身:重新定义晶体管架构,性能提升超15%...

    SuperFin是英特尔10nm最大的亮点,它是FinFET结构的升级版.英特尔将增强型FinFET晶体.Super MIM(金属-绝缘体-金属)电容器相结合,打造了全新的SuperFin,能够提供增 ...

  6. 英特尔核显驱动hd630_【惊喜提升】英特尔第十代Cometlake台式机处理器详解与简单评测...

    [0.前言] 第十代还有4个月左右才会发布,本文所测试的处理器性能并不代表实际上市后的具体情形(本文的结果会偏低).这也并不影响你选择9代或AMD平台,早买早享受,因为等到十代价格趋于稳定合理,至少还 ...

  7. 英特尔核显自定义分辨率_核显性能大提升 11代酷睿核显畅玩《战地5》

    尽管3A大作<战地5>发布已经有两年,但是时至今日这款经典续作依旧受到了不少玩家的喜爱,也会有不少玩家选择<战地5>作为测试自己电脑性能的入门款游戏.但通常来说,想要流畅运行这 ...

  8. 英特尔核显自定义分辨率_华为推出两款MateBook D系列笔记本:搭载英特尔11代酷睿...

    12月23日,华为举行新品发布会,除了推出nova 8系列新机外,其还发布了两款MateBook D系列笔记本,型号分别为D14和D15,新款笔记本全系搭载英特尔11代酷睿处理器,有着出色的核显性能. ...

  9. 英特尔核显自定义分辨率_核显也能60帧玩3A大作?原理很简单!8寸电脑掌机游戏测评...

    现在科技发展迅速,电脑硬件每年更新换代,性能也是越来越强大,处理器自带的核芯显卡性能也早已超过了普通人的理解范围,相信有很多玩家也早就领教过了英特尔HD系列核显的强大性能,轻轻松松玩个英雄联盟之类的网 ...

  10. 英特尔核显自定义分辨率_如何在新版英特尔核芯显卡控制面板中自定义显示器分辨率...

    在新版本的英特尔核芯显卡控制面板中,界面和以前相比有了很大的改变.很多用户可能不太适应怎么在英特尔核芯显卡控制面板中进行相关的设置.下面由系统城小编具体和大家介绍一下如何在新版英特尔核芯显卡控制面板中 ...

最新文章

  1. 使用XML与远程服务器进行交互
  2. CentOS中怎样解压rar文件
  3. 千万级的mysql数据库与sql优化方法
  4. diy机器人图片 手绘纸箱_废物利用,她用几个纸箱让家里变成动物园,孩子回家乐坏了!收藏...
  5. MySQL性能半同步复制VS异步复制
  6. 五个步骤,搭建企业的“大数据视野”
  7. 我的世界java种子 要塞,我的世界:稀奇种子,恐龙骨架出现在要塞,你绝对没见过...
  8. 知识点 - 哈密顿图
  9. 第74句Lies, Damned Lies And Statistics: How Bad Statistics Are Feeding Fake News
  10. 新浪微博PC端登录分析
  11. python图片转换成文字_在python中将图像转换为字节文字 - python
  12. CSV读取大文件报错_csv.Error: field larger than field limit
  13. python 实验七 字典与集合 (上)
  14. cleardevice
  15. PHP开发银联云闪付二维码支付
  16. windows设置某应用开机自启
  17. 南京理工大学计算机学院张勇,2015年南京理工大学研究生数模竞赛获奖名单
  18. sass和less是什么?
  19. 面向对象程序设计课程设计:利用决策树方法判定西瓜质量
  20. FFmpeg的那些坑-RTP missed xxx packets

热门文章

  1. WEBMAX官方帮助手册 惊艳登场
  2. matlab三维绘图函数plot3【matlab图行绘制四】
  3. MRI_Made_Easy翻译-磁共振成像原理(物理基础3)
  4. 与大家分享学钢琴会出现的一些问题及解决方法
  5. 计算机声音控制程序,win10电脑利用EarTrumpet音量控制应用程序使用教程 | 专业网吧维护...
  6. 【车辆识别】基于卷积神经网络yolov3识别车辆和车辆速度附matlab代码
  7. 二维傅里叶变换深度研究-图像与其频域关系
  8. 有道词典java下载电脑版下载不了_网易有道词典电脑版下载
  9. 进华为你必须了解的——华为精神
  10. 汇编语言简明教程习题答案