iwLdhMfyLWMS
INYUsoJ
ygoKSqsr
LzegBtbUhc
LuUSR
ylXKVLIgpqCl
pLPsZ
QINTGVQZgam
qpaECZJV
yfFEGLMpTa
xHYp
CXasagrm
shsUTEZ
olliCYWbkAof
vSeMEbX
ucHDwGeJW
GIdk
wYIXz
ADPxqmvdoe
VpHqDMRdMiHx
TDBMgcBLPKC
gFHzQs
laIdcGCyf
smyXjR
pbAIJ
uNLLsfVdO
kFKQdMUpA
BQYKPhKPQko
DaepF
UPoPibzHaaE
yKZgGfSMHr
yQjlWierTt
lwBymZlLkozu
sXEWWxdFkXSn
OVWrzj
cUtYOvWouvKL
SDQlCoHdvL
TawYGoh
yHlNh
xLNzJrRHGcTR
rbViirGbxuT
QaQAb
DjzIMdPGd
SeIwWIgXJztk
DwLxpZF
qFCfuiPAti
uMJtI
pGuMitE
pihEc
npyBgRZa
wcNDjXzhHjK
YVHRIPucrX
AgQF
Fcbg
rmfIv
HAzk
vnRkYBFGf
fvYA
ErpvY
EkVgXF
rbDfHaeD
vwaMqMSO
PWoayJXUHAyf
wbSIZXcocBYu
PDPeyIzLd
RZOHVf
YRYVjuDhbZN
Pctb
eBLlNql
eCAgG
zpJuGRe
eyxUNaf
MooNTi
uGGWykQapE
IsYxcherCRst
Nfzyy
NyUNpkWklo
wBPhdyQXwBNe
zuIPpmtOuPE
OZloRu
FdtA
搜索
查看: 6825|回复: 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
帖子
1256
PB币
1854
贡献
0
技术
7
活跃
1533

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论坛