bevel 发表于 2016-7-26 19:27

HD3000驱动及修复7系主板BUG

先声明一下,这不是我原创的,我也是受益者,相信很多HD3000 的朋友在AppleIntelSNBGraphicsFB.kext和AppleIntelHD3000.kext中加入了显卡ID,但是,仍然驱动不了HD3000 的QE/CI吧,我当初也是这样,坛子里的教程都说只要在这两个驱动的info.plist中加入0x0112这个奇葩ID就可以了,但实际上,即便加了,你会发现,仍然驱动不了,显卡还是4M。
这不意味着这些朋友的经验是错的,只是说明他们的板子不是更奇葩的7系板子。后来,我在坛子里看到一个贴子是讲mountain lion下HD3000驱动的(具体网址未收),其中讲到7系板子由于ID冲突,会造成AppleIntelSNBGraphicsFB.kext不能成功加载,经过验证,果然如此。对这个BUG,做如下修改:
SNB系列CPU集显与INTEL 7系列主板兼容问题的原因主要有两个:
7系列主板 DEVICE-ID号变动。
原因:AppleIntelFramebufferCapri.kext 驱动与AppleIntelSNBGraphicsFB.kext因为ID号冲突,所以前者会挡掉后者,造成SNBGraphicsFB.kext无法加载
第一步:修改AppleIntelSNBGraphicsFB.kext 的INFO.PLIST


找到:

[*]<key>IOPCIPrimaryMatch</key>
[*]<string>0x1C3A8086</string>

复制代码
更改为:

[*]<key>IOPCIPrimaryMatch</key>
[*]<string>0x1C3A8086 0x1E3A8086</string>

复制代码
第二步(仅MOUTAIN LION):修改 AppleIntelFramebufferCapri.kext的INFO.PLIST

找到下面的代码,然后删除。



[*]<key>AppleIntelMEIDriver</key>
[*]<dict>
[*]<key>CFBundleIdentifier</key>
[*]……一直到
[*]<key>FBClientController</key>
[*]<dict>


重建缓存,修复权限

这样,HD3000终于可以驱动。


不过,说到这里,如果可以自动Patch该多好啊,于是,我试了Clover Patch功能,发现,Clover Patch不成功。
又想,假如有脚本可以一键修复多好,于是,摸索着做了个脚本。不过,我这个脚本只能实现添加0x01128086这个ID,以及将0x01C3A8086改成0x01c3A80860x1E3A8086。但是,却实现不了BUG修复的最后一步,那就是删掉AppleIntelFrameBufferCapri.kext的info.plist中的那段配置。原因是Perl的正则表达式匹配似乎不能跨行进行。如果有朋友是这方面高手,可以指导一二,不胜感激,如果能实现的话,那以后就算升级了以后,也可以一键Patch了。

附上我的脚本供大家补充。








下载脚本后,用
sudo chown -R root:wheet patchHD3000
sudo chmod +x patchHD3000
./patchHD3000来运行即可。

15176580671 发表于 2016-7-26 20:39

bjl123334 发表于 2016-12-17 16:31

{:5_262:}正在找这个谢谢啊

海底中的黑暗 发表于 2017-1-4 12:19

谢谢楼主~~~

yechao98 发表于 2017-1-4 15:15

好教程,我顶顶顶

41561798 发表于 2017-4-7 21:11

谢谢楼主分享

wmdscjhdpy 发表于 2018-5-25 10:24

原来我是奇葩CPU 心疼一下自己...
页: [1]
查看完整版本: HD3000驱动及修复7系主板BUG