解决黑苹果HD3000核显 VGA和HDMI外接显示器无反应问题

2014/10/12 21:07
阅读数 9.6W

这段时间折腾黑苹果,好不容易网上爬各种帖子搞定了一切驱动,自认为完美到100%的时候,发现插上hdmi外接显示器无效,没有视频输出。在pcbeta和国内很多网站上爬了很多帖子,试了很多方法,还是无效。最好在国外一网站上看到一篇文章,才完美解决了这个问题,特摘录在此,希望能帮到需要的人。

先说下本人装黑苹果机器的配置:两年前买的一台 宏碁4750G, i5-2450m的cpu,安装的是 OS X 10.9.5 

别问我为什么不直接买个mac,要折腾黑苹果?我会告诉你一个字:穷!

废话不多说。看教程。

首先这个教程是为了解决Intel HD3000 核心显卡 VGA 和 HDMI音频及视频 无输出的问题。

其次,要完成这个修复我们需要做3件事情:

        1:给DSDT文件打补丁,加上platform-id的信息。

        2:修改"AppleIntelSNBGraphicsFB.kext" 驱动文件,根据我们自己机器的情况,修改VGA 和HDMI接口信息。

        3:你需要将你的SMBIOS 修改为"MacBookPro8,1"


1:给DSDT打补丁

      在你的DSDT文件中找到  Device (IGPU)  或者叫GFXO 或者 IGD0 一般就这三个名字,反正就是描述你显卡的那一块。

      在里面的Package里面加上你显卡的AAPL,snb-platform-id:

"AAPL,snb-platform-id",
 Buffer (0x04)
 {
 0x00, 0x00, 0x01, 0x00
 }

注意:

   1:对于hd3000的snb-platform-id一般有这几种:0x10,0x00,0x03,0x00,根据你的显卡实际情况填写,比我的是是 0x01,那就些 0x00,0x00,0x01,0x00

   2:加上这段代码后,编译DSDT文件时,有可能会报错,说 Package声明的长度小于实际长度,那么更改下 Package()括号里面的长度即可。


2:修改AppleIntelSNBGraphicsFB

    从S\L\E目录下吧AppleIntelSNBGraphicsFB.kext拷贝出来,然后右键--》显示内容,找到Content\MacOS\AppleIntelSNBGraphicsFB文件,用hexedit或者其他16进制编辑器打开它。

    找到 01 02 04 00 10 07 00 00 10 07 00 00 这一段。应该是下面这个样子:

0102 0400 1007 0000 1007 0000 //这句话表示你机器的接口数
0503 0000 0200 0000 3000 0000 //笔记本显示器接口
0205 0000 0004 0000 0700 0000 //
0304 0000 0004 0000 0900 0000 //下面3个都是用来显示的接口(DVI)
0406 0000 0004 0000 0900 0000 //

我们来看下这每一句的含义:

01 02 04 00 10 07 00 00 10 07 00 00

这段代码描述了你笔记本可用于显示的接口个数,这里默认是4个。我们不知道这个是不是必须要和笔记本实际接口数相等,还是修改下的好。其实一般笔记本也就3个接口,一个LVDS接口,连接笔记本内置LCD显示器的,还有一个VGA接口,一个HDMI接口,所以我把他改成了3,如下:

01 02 03 00 10 07 00 00 10 07 00 00

再来看下面这一句:

05 03 00 00 02 00 00 00 30 00 00 00

这句是描述LVDS接口的,用来接笔记本内置显示器的,没有任何问题,所以不需要修改

02 05 00 00 00 04 00 00 07 00 00 00 //
03 04 00 00 00 04 00 00 09 00 00 00 //下面3个都是用来显示的接口(DVI)
04 06 00 00 00 04 00 00 09 00 00 00 //


这3个都是描述显示接口的,能用于DVI和HDMI显示,还能用于HDMI音频。

以下是HDMI可以使用的3种接口情况:

0205/0304/0406 00 00 00 08 00 00 06 00 00 00

由于不同电脑接口位置不同,所以0205和0304和0406具体是在哪个接口上,自行实验。我的4750G是在0406上。

由于Mac电脑是没有VGA接口的,所以苹果的驱动里面理所当然就没有VGA接口的描述信息,我们从别处找来了用于Intel GPU的VGA接口的代码:

06 02 00 00 00 01 00 00 09 00 00 00 //VGA接口

好了,下面我们将原本的接口信息修改成我们自己的信息,如下,

01 02 03 00 10 07 00 00 10 07 00 00 // 3个接口
05 03 00 00 02 00 00 00 30 00 00 00 //LVDS
03 04 00 00 00 08 00 00 06 00 00 00 //HDMI
06 02 00 00 00 01 00 00 09 00 00 00 //VGA
00 00 00 00 00 00 00 00 00 00 00 00// NONE

我们现在HDMI用的是0304,如果HDMI还是无法现实的话,你可以试试 0205/0406。

02 05 00 00 00 08 00 00 06 00 00
或者

04 06 00 00 00 08 00 00 06 00 00


好了,改好后保存,用修改后AppleIntelSNBGraphicsFB.kext文件替换 S\L\E下面原来的AppleIntelSNBGraphicsFB.kext文件。

然后修复权限,清理缓存。 万事俱备,只需重启。 如果没其他问题的话,你的外接显示器就亮了。


 


可以看出,os x已经顺利识别出了我的外接显示器。 效果刚刚的。哈哈

本文地址:http://my.oschina.net/fants/blog/327311

展开阅读全文
加载中
点击加入讨论🔥(2) 发布并加入讨论🔥
2 评论
3 收藏
0
分享
返回顶部
顶部