黑苹果macOS系统核显接口输出定制,OpenCore及Clover四叶草引导通用

视频教程

点击进入YouTube观看》

 

点击进入bilibili观看》

图文教程

macOS 下使用核显输出的话,一般 DP 接口都是免驱的,如果使用 HDMI 的话可能显示器会黑屏或者颜色输出不正确,所以往往需要我们进行显示接口定制。

设备介绍

本次教程实用的设备信息如下:

OC 配置信息

言简意赅,由于我的主板基本上选项齐全,这里核显部分只注入了 ID 属性:

Clover四叶草引导配置同理,配置路径config.plist-设备设置-属性下添加

重启进入系统后,Hackintool 通过这个核显 ID,自动判断了当前的平台 ID 为:0x3E9B0007

查看接口信息

Hackintool 里面找到「应用补丁」-「接口」选择上面你看到的平台 ID,即可看到当前的接口情况:

可以看到,这个平台默认是 3 个接口,而且都走的是 HDMI,而我们的主板的接口一个是DP,另外一个是HDMI:

是 1 个 HDMI + 1 个 DP 的经典组合,所以此时我们的 DP+HDMI 并无信号显示,那么该怎么办可以让这个 DP+ HDMI 显示呢?不要慌,继续往下看。

显示接口类型

  • 02000000
    • LVDS 和 eDP 接口
    • 一般用于驱动笔记本内置显示器
  • 00040000
    • DP 接口
    • 一般 USB-C 里面内置的就是 DP 接口的显示器
    • macOS 下 DP 接口一般是免驱的
  • 00080000
    • HDMI 接口
    • macOS 下的 HDMI 一般都不可以正常显示的,得需要定制下接口数据
  • 10000000
    • VGA 接口
    • 10.8 版本后默认是不支持 VGA 显示器的
    • 如果你的 CPU 是 6代往后的话,实际上走的还是 DP 接口,所以当做 DP 接口驱动就行了
  • 04000000
    • 双链 DVI 接口
    • 这玩意基本上淘汰了
  • 00020000
    • 单链 DVI 接口
    • 这玩意基本上淘汰了
  • 80000000
    • S 端子接口
    • 这玩意基本上淘汰了
  • 01000000
    • 当没有物理显示接口的时候使用

常用接口类型和总线ID的对应表

DP HDMI DVI
0x02 0x01 0x01
0x04 0x02 0x02
0x05 0x04 0x04
0x06 0x06 0x06
  • DP灵活多变,允许使用总线ID 有0x02,0x04,0x05,0x06,每个值理论上适用于任何主板。
  • HDMI非常严格,只允许使用以下总线ID: 0x01,0x02,0x04,0x06,而且部分主板只接受这些值中的一种或两种。例如,技嘉 Z390只接受0x04。
  • DVIHDMI相同,使用相同的总线ID,甚至使用相同的类型。

但是对于黑苹果来说总线ID从01到06基本涵盖了常用的接口

查找官方手册或使用Hackintool工具

WhatGreen 的官方手册里查找我们当前这个平台 ID 的缓冲帧信息:

Model name: Intel UHD Graphics 630         ID: 3E9B0007
Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3
[1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x000003C7 - ConnectorDP
[2] busId: 0x04, pipe: 10, type: 0x00000400, flags: 0x000003C7 - ConnectorDP
[3] busId: 0x06, pipe: 8, type: 0x00000400, flags: 0x000003C7 - ConnectorDP
01050900 00040000 C7030000
02040A00 00040000 C7030000
03060800 00040000 C7030000

也可以直接看Hackintool工具显示的,需要注意的是,Hackintool工具应用补丁下的CPU架构及平台ID,需要根据你核显仿冒的ID选择

可以看到这个 3E9B0007 平台列出了 3 个总线 ID,我们将它们分解以便更容易理解,这里就拿 1 个举个例子,详细解释可以看下图:

  • 「总线 ID 」是唯一的,多个接口不能共用
  • 「总线 ID」在大多数平台上的最大值为06
  • 「总线 ID」很关键,一般我们定制接口,实际上就是在摸索遍历这个值
  • 「通道」这个其实没有参考价值,大家可以根据手册里面不同平台建议的值来写
  • C7030000 属于标识符,根据手册查找填写就行了
  • 定制接口显示数还需要配合 framebuffer-patch-enable | Data | 01000000 使用

遍历接口 1

现在开始定制显示器接口 1,一般只需要遍历 busid 即可,索引号、通道、标识符保持手册里面查询的那样不变,将接口 1 指定为 HDMI 类型:

framebuffer-con0-alldata = 01010900 00080000 C7030000
framebuffer-con0-enable  = 01000000

最终的效果如下:

替换完重启看看,正常情况这里 HDMI 如果没有工作,但是可以看到我们指定的 HDMI 接口类型生效了:

如果接口 1 使用 「总线 ID」为01 并不能成功,那么开始一个个尝试将其遍历到最大值 06

framebuffer-con0-alldata = 01020900 00080000 C7030000
framebuffer-con0-alldata = 01030900 00080000 C7030000
framebuffer-con0-alldata = 01040900 00080000 C7030000 
framebuffer-con0-alldata = 01050900 00080000 C7030000
framebuffer-con0-alldata = 01060900 00080000 C7030000

每次遍历后开始重启,最多只要再重启 5 次即可,如果都不行的话说明这个「接口 1」压根就对应不上物理的 HDMI 接口,那么只能开始遍历「接口 3」了

遍历接口 3

将接口 3 启用,指定显示器类型为 HDMI,并从 「总线 ID」01 开始遍历,最多尝试重启 6 次电脑即可:

framebuffer-con2-alldata = 03010800 00080000 C7030000
framebuffer-con2-alldata = 03020800 00080000 C7030000
framebuffer-con2-alldata = 03030800 00080000 C7030000
framebuffer-con2-alldata = 03040800 00080000 C7030000 
framebuffer-con2-alldata = 03050800 00080000 C7030000
framebuffer-con2-alldata = 03060800 00080000 C7030000

幸运的是,我第一次尝试了索引1「总线 ID」为01的时候成功了:

framebuffer-con0-alldata = 01010900 00080000 C7030000

 

如果因为接口 2 和 3 「总线 ID」冲突的原因,我们需要手动将接口 2 换成其他的「总线 ID」,同样都得遍历一遍:

framebuffer-con1-alldata = 02010A00 00040000 C7030000
framebuffer-con1-alldata = 02020A00 00040000 C7030000
framebuffer-con1-alldata = 02030A00 00040000 C7030000
framebuffer-con1-alldata = 02050A00 00040000 C7030000
framebuffer-con1-alldata = 02060A00 00040000 C7030000

同时记得多显示器的话,配合启动项:igfxonln=1 来使用。

遍历接口组合释义图

最终效果

最终我们再重启了近 10 次电脑的情况下, DP 和 HDMI 接口终于可以同时点亮显示器了:

各大主板厂商的这些主板都是有规律的,所以这个文章下面可以放一些常见的组合案例

华擎 AsRock

  • DP + HDMI:Z490 Steel Legend
framebuffer-con1-alldata = 02020A00 00040000 C7030000
framebuffer-con2-alldata = 03040800 00080000 C7030000
  • DP + HDMI:Z490 Extreme4
framebuffer-con2-alldata = 03040800 00080000 C7030000

华硕 ASUS

  • DP + HDMI:ROG STRIX B460-I GAMING
framebuffer-con0-alldata = 01060900 00040000 C7030000
framebuffer-con1-alldata = 02040A00 00080000 C7030000
  • DP + HDMI:Z170I PRO GAMING
framebuffer-con0-alldata = 01050900 00080000 C7030000
  • HDMI + DVI:TUF B360M-PLUS GAMING
framebuffer-con1-alldata = 02020A00 00080000 C7030000
  • 华硕飞行堡垒6 FX504GE HM370 芯片组
framebuffer-con2-alldata =01050900 00080000 C7010000

戴尔 Dell

  • HDMI + VGA:Vostro 3260 100系
AAPL,ig-platform-id = 00001259
framebuffer-con0-alldata = 01050900 00080000 C7030000
framebuffer-con1-alldata = 02000A00 00040000 C7030000 (VGA 可能不行)

微星 MSI

  • HDMI:MAG B365M MORTAR
framebuffer-con0-alldata = 01050900 00080000 C7030000
  • DP + HDMI:MPG Z390 GAMING PRO CARBON AC
framebuffer-con0-alldata = 01010900 00080000 C7030000
  • DP + HDMI:MAG B460M MORTAR
framebuffer-con0-alldata = 01010800 00080000 C7030000

联想 Lenovo

  • HDMI:扬天 S540-14-IWL-HDMI(来自群网友 璃朴:2914406369 分享提供)
framebuffer-con1-alldata = 01010900 00080000 C7010000
  • HDMI + VGA:V330-15IKB LNVNB161216 芯片组
framebuffer-con1-alldata = 01050900 00040000 87010000
framebuffer-con2-alldata = 02040A00 00080000 87010000

技嘉 GIGABYTE

  • DP + HDMI:B360M AORUS PRO
framebuffer-con0-alldata = 01050900 00040000 C7030000
framebuffer-con2-alldata = 03040800 00080000 C7030000

 本教程所需工具下载解压密码imacos.top

百度网盘立即下载提取码: m4nh复制
天翼云盘立即下载提取码: 8ee0复制
移动云盘立即下载提取码: SKrm复制
迅雷云盘立即下载提取码: 2a24复制
客服QQ271638927,网站统一解压密码imacos.top
原文链接:https://imacos.top/2023/01/30/1524-3/,转载请注明出处。
1
1. 本站所有资源解压密码均为imacos.top
2. 本站资源收集于网络,仅做学习和交流使用,请于下载后24小时内删除。如果你喜欢我们推荐的软件,请购买正版支持作者。
3. 如有无法下载的链接,联系:邮箱271638927@qq.com,或直接联系QQ271638927进行反馈,我们将及时进行处理。
4. 本站发布的内容若侵犯到您的权益,请联系站长删除,联系方式:邮箱271638927@qq.com,我们将第一时间配合处理!

评论8

请先
  1. 謝謝
    wechin001 2024-07-09 0
  2. 下载测试 谢谢楼主的发布!
    terrydash 2023-07-31 0
  3. 有没有可能 都遍历了一遍 还是不能用的呢?
    u6545515592656556 2023-05-25 0
  4. 学习学习
    xiaojling 2023-04-14 0
  5. 学习学习哈
    pchen568 2023-02-08 0
  6. 牛逼,试试看
    u5573972923268657 2023-02-05 0
  7. 谢谢分享
    viagra 2023-02-01 1
  8. 下载试试看
    2023-01-30 1
终身会员限时上线 ☞ 限时永久会员折扣活动开始啦 > 查看优惠
没有账号?注册  忘记密码?

社交账号快速登录

微信扫一扫关注
如已关注,请回复“登录”二字获取验证码