vlambda博客
学习文章列表

黑苹果笔记本HDMI输出实现的思路

01
前言


黑苹果发展到现在由于Open Core的介入,其体验效果已极大限度接近白苹果,我们在安装与完善的过程中会遇到很多问题,但每一种问题,我们只要理解他的实现原理,沿着思路调试,总会解决,今天给大家分享一种黑苹果笔记本输出HDMI的调试思路,供大家参考,本文有不严谨的地方欢迎大家指出,注意:前提是HDMI是由核显输出,因99%的笔记本独显都无法驱动;

02
调试的思路





03
SMBIOS机型的选择



黑苹果笔记本HDMI输出实现的思路



04

注入本机缓冲帧ID

黑苹果笔记本HDMI输出实现的思路


●以上是我调试时经常用的缓冲帧ID,还有很多可以用的,这里不一一举例,理论上来说,只要这个缓冲ID,存在三个以上的端口,就可以进行BUSID映射;



05
基础的概念理解

使用的工具是:PlistEdit Pro;

这里我使用0900A53E 这个ID进行演示,这个是10代标压I7 10875H的U,不管是什么CPU原理都是一样

我们先看一下0900A53E这个ID在MAC下面接口的定义:

黑苹果笔记本HDMI输出实现的思路

看到这些我们难免不知所措,我们将其分解为容易读懂的数据;

-0是LVDS端口,是我们笔记本内屏使用的,我们忽略这块的参数;

-1是我们笔记本的索引号,我们有些笔记本HDMI从索引1输出,但现在这个定义是DP,这是我们需要修改的

-2是我们笔记本的索引号,我们有些笔记本HDMI从索引2输出,但现在这个定义是DP,也是我们需要修改的


接下来理解我们的端口的定义:

02040A00 00040000 C7010000 

端口(索引):02

02040A00 00040000 C7010000 

BUSID:04

02040A00 00040000 C7010000

管道编号:0A

02040A00 00040000 C7010000

连接器类型:DisplayPort

02040A00 00040000 C7010000 

标志符号:默认即可

02040A00 00040000 C7010000 


●接下来我们开始调试,从上面的解释来看,我们只需要调试4个部分

-端口(索引)

-BUSID

-管道编号

-连接器类型

06
使用PlistEdit Pro打开config.plist


●上面的示例程,就是我自己的机子上已经实现了HDMI输出的,接下来将调试的过程和需要修改的部分分享给大家,通过上面红色的高亮显示可以得知我的HDMI是走索引2输出的,有的是走索引1输出,可以下载我的例程,修改为你机子的缓冲帧ID,再进行调试,我们重点讲CON2端口部分;

02060A00 00080000 C7010000


-索引号为2,你的机子可能是1

02060A00 00080000 C7010000

BUSID:06

02060A00 00080000 C7010000

疑问:为什么是6,这个6是依据什么修改?

答:HDMI允许的BUSID,只能是01,02,04,06,这4个,如果6不能输出,那么必然是其中的某一个;

-管道编号:0A这个不重要,如果遇到颜色不对(发黄,发紫)可以尝试改为09

02060A00 00080000 C7010000


-连接器类型00080000

02060A00 00080000 C7010000

疑问:为什么是00080000依据什么修改?

答:参照下面的连接器列表:

●00 04 00 00-DisplayPor

●00 08 00 00-HDMI

●04 00 00 00-数字DVI

●02 00 00 00-LVDS笔记本端口

●01 00 00 00-虚拟端口


●如果索引1不可用,再调试索引2,反之亦然;

●HDMI调试是极其繁琐和麻烦的工作,只要沿着这个思路去调试,总会解决,HDMI输出的实现原理和方法有很多种,这是其中的一种,也算是给大家提供一个可行的思路,这是OC官方推荐的映射方法,相比其他的方法数据结构更简单和可维护;

07
下载链接,有偿技术支持,OC引导定制

●淘宝搜索《小刘黑苹果》;

●本文所使用的的模板和工具,已包含在下载链接;