- 积分
- 62
- 最后登录
- 2020-3-17
- 精华
- 0
- 阅读权限
- 20
- 主题
- 10
- UID
- 2476702
- 帖子
- 81
- PB币
- 232
- 威望
- 5
- 贡献
- 0
- 技术
- 34
- 活跃
- 496
- UID
- 2476702
- 帖子
- 81
- PB币
- 232
- 贡献
- 0
- 技术
- 34
- 活跃
- 496
|
本帖最后由 goo_sysu 于 2014-10-14 10:04 编辑
好多机油的hd4600都是要用0600260A这个id才能正常驱动hd4600,但是这个id的输出只有edp、dp、dp,不具备hdmi输出功能,我的机器在接hdmi后直接黑屏死机重启。在爬了好多帖子之后找到了解决办法,并测试通过。有需要的朋友可以尝试一下。下面进入正题,本文所有参考资料都在https://bbs.pcbeta.com/viewthread-1379618-1-1.html这个帖子里
通过查平台id,发现0700260d这个id同时具有edp、dp、dp、hdmi共4个输出,所以目标就是把0700260d里面的输出定义换到0600260a上,让0600260a具备hdmi输出功能,实际操作上,为了保证系统的正常使用,采用了将0600260a里面除输出外的定义全部替换到0700260d中,将注入id改为0700260d,嫁接实现hdmi输出。要修改的目标文件就是AppleIntelFramebufferAzul这个驱动里面的AppleIntelFramebufferAzul二进制文件。
在参考贴里面,大神已经贴出了个个id段,并详细讲解了其中的定义。这里将要改的两个id重新贴一下
0600260a的代码:
- 06 00 26 0A 01 03 03 03 00 00 00 02 00 00 00 01
- 00 00 60 00 00 00 00 40 D9 0A 00 00 D9 0A 00 00
- 00 00 00 00 00 00 00 00 00 00 10 00 02 00 00 00
- 30 00 00 00 01 05 12 00 00 04 00 00 87 00 00 00
- 02 04 12 00 00 04 00 00 87 00 00 00 FF 00 01 00
- 01 00 00 00 40 00 00 00 0F 00 00 00 01 01 00 00
- 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 00 00 00 00 00 00 00 00 00 00 00 0E 00 00 00 00
0700260d的代码:
- 07 00 26 0D 01 03 04 03 00 00 00 04 00 00 20 02
- 00 00 50 01 00 00 00 40 A1 07 00 00 A1 07 00 00
- 00 00 00 00 00 00 00 00 00 00 10 00 02 00 00 00
- 30 00 00 00 01 05 12 00 00 04 00 00 07 01 00 00
- 02 04 14 00 00 04 00 00 07 01 00 00 03 06 12 00
- 00 08 00 00 06 00 00 00 1E 03 00 00 05 05 09 00
- 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 00 00 00 00 00 00 00 32 00 00 00 0E 00 00 00 00
其中0600260a中第三行的02 00 00 00,第四行的 00 04 00 00,第五行的 00 04 00 00分别对应edp、dp、dp输出
0700260d中第三行的02 00 00 00,第四行的 00 04 00 00,第五行的 00 04 00 00,第六行的00 08 00 00对应edp、dp、dp、hdmi输出,知道相应的代码之后,讲0600260a中除输出定义的代码替换到0700260d中,修改后的数据为
新 0700260d的代码:
- 07 00 26 0D 01 03 04 03 00 00 00 02 00 00 00 01
- 00 00 60 00 00 00 00 40 D9 0A 00 00 D9 0A 00 00
- 00 00 00 00 00 00 00 00 00 00 10 00 02 00 00 00
- 30 00 00 00 01 05 12 00 00 04 00 00 07 01 00 00
- 02 04 14 00 00 04 00 00 07 01 00 00 03 06 12 00
- 00 08 00 00 06 00 00 00 1E 03 00 00 01 01 00 00
- 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 00 00 00 00 00 00 00 00 00 00 00 0E 00 00 00 00
修改完成后保存,将AppleIntelFramebufferAzul驱动覆盖回去,重建缓存,将注入id修改为0700260d,重启,hdmi能用了
以上修改基于10.10的dp5的AppleIntelFramebufferAzul,代码与参考帖子里的有点不同,各位注意参照对比
|
-
2
查看全部评分
-
|