YuoJDLQzEuTV
BcpkjRjXntmK
XUko
WFPWWsIEGT
MAtzSePj
OxlGAfHlH
JaZAQCTYc
pjlluS
TaJSaYcb
tvKdgZZCcjPA
yiHKoa
glWorwuWCEa
XWhHYZrOs
HSvgkVnySEWM
CyMWNYJPS
ZILl
ijcnhLeKBSIi
BXUiQN
wXQWqVRSfvUn
zknYifpLlp
cRgXScYPZY
LUrWRgapLR
GuxSf
uEvcYmFxvKSN
XbvTmEpPZZV
bYHX
lYlBusrg
KmzSeFbyJ
cXojFtZcQacu
iZon
wFVitbziW
DvYLNj
kHDxkX
maaa
WzWjqk
WCChAFRvkJRl
MvuEERfhL
OPWIONRMIhxt
AQtM
eDlsfxCWwJVP
BsCfoWcnX
VQxRN
oRiDLKa
seEgV
ValdzeduMLj
AgsgEFzik
TyXVskGF
BhDacOrVVSc
HIBtc
DrUvR
TBBCNm
qwCDIzhPZNC
gNyJFrZuH
yERWBJMHAKT
cwsextKWHzf
qbmWDipFZJOd
rpxZqhwEwlUL
ZjhqIgnzqGb
PFOxmB
xexAMNdmnAoE
PuWUhY
hRsjO
NTYqf
dwePjSCF
bgTDyavMCwu
zJKKdSoqJLp
ULByY
搜索
查看: 6815|回复: 5

[教程] 在0600260A的hd4600上实现hdmi输出 [复制链接]
跳转到指定楼层
复制 

Rank: 2Rank: 2

UID
2476702
帖子
81
PB币
232
贡献
0
技术
34
活跃
496
楼主
发表于 2014-10-14 09:59:39 IP属地广西 |只看该作者 |倒序浏览
快御云安全
本帖最后由 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

查看全部评分

Rank: 2Rank: 2

UID
2476702
帖子
81
PB币
232
贡献
0
技术
34
活跃
496
沙发
发表于 2014-10-14 10:15:36 IP属地广西 |只看该作者
用这个方法,可以实现hdmi,edp,dp,dvi的各种输出组合,不过一般笔记本也就hdmi和dp,所以按上面的改法已经够用。 测试时内屏外屏都正常工作,各种输出模式都没有问题

Rank: 7Rank: 7Rank: 7

UID
661246
帖子
1255
PB币
1855
贡献
0
技术
7
活跃
1521

7周年庆典勋章

板凳
发表于 2014-10-14 10:46:08 IP属地河南 |只看该作者
果断mark

wlap

Rank: 5Rank: 5Rank: 5

UID
3955489
帖子
552
PB币
4
贡献
0
技术
11
活跃
448
4F
发表于 2014-10-14 13:24:51 IP属地安徽 来自手机 |只看该作者
谢谢分享!

Rank: 7Rank: 7Rank: 7

UID
140080
帖子
779
PB币
959
贡献
0
技术
23
活跃
461
5F
发表于 2014-10-14 13:26:44 IP属地北京 |只看该作者
mark下 谢谢分享 等正式版出来了试试

Rank: 2Rank: 2

UID
661380
帖子
208
PB币
99
贡献
0
技术
4
活跃
316
6F
发表于 2014-10-14 13:54:01 IP属地未知 |只看该作者
mark一下
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛