黑苹果驱动Intel HD Graphics 5500的方法

摘 要

驱动Intel HD Graphics 5500的基本思路,还是注入 AAPL, ig-platform-id。但由于苹果在OS X Yosemite 10.10.3 的 AppleIntelBDWGraphicsFramebuffer kext里,提升了stolen memory 的最小值。如果BIOS设置里 DVMT pre-allocated memory 的值小于 66MB,黑苹果就会出现内核崩溃。

概述:

驱动Intel HD Graphics 5500的基本思路,还是注入 AAPL, ig-platform-id。但由于苹果在OS X Yosemite 10.10.3 的 AppleIntelBDWGraphicsFramebuffer kext里,提升了stolen memory 的最小值。如果BIOS设置里 DVMT pre-allocated memory 的值小于 66MB,黑苹果就会出现内核崩溃。而台式机的情况会比较好,因为台式机的BIOS里,可以直接修改DVMT pre-allocated memory的值。但对笔记本用户来说,就可以说是灾难了。

因为:

  1. 笔记本DVMT pre-allocated memory的默认值时32MB。
  2. 厂商不会解锁这样的BIOS高级设置。
  3. 还可以修改BIOS,但是,在刷修改好的BIOS的时候,通不过安全检查。

驱动方法:

这里我大概理解为上面提到的苹果提升了stolen memory 的最小值,所以我们需要改变BIOS里的Dedicated Video Memory的值才可以。

在Windows控制面板,打开“屏幕分辨率”窗口,点击“高级设置”,看 Dedicated Video Memory的值是多少。

黑苹果驱动Intel HD Graphics 5500的方法

经过作者的多次尝试,得出了以下关系:

如果 Dedicated Video Memory = 0MB, BIOS设置里的 DVMT pre-allocated memory 就应该是32MB。
如果 Dedicated Video Memory = 32MB, BIOS设置里的 DVMT pre-allocated memory 就应该是 64MB。
如果 Dedicated Video Memory = 64MB, BIOS设置里的 DVMT pre-allocated memory 就应该是 96MB。
如果 Dedicated Video Memory = 128MB, BIOS设置里的 DVMT pre-allocated memory 就应该是 128MB。

Windows控制面板里检测到的Dedicated Video Memory 和 BIOS设置了的 DVMT pre-allocated memory 的关系表如下:

黑苹果驱动Intel HD Graphics 5500的方法

规律:

一般,如果BIOS设置里DVMT pre-allocated memory的值小于等于96MB,那么Windows检测到的StolenMemory就应该是(DVMT – 32) MB。

如果BIOS设置里DVMT pre-allocated memory的值大于等于128MB,那么Windows检测到的StolenMemory就应该是(DVMT) MB。(即 等于BIOS里DVMT pre-allocated memory的值)

总之,让 Dedicated Video Memory(Windows检测) >=64MB (相当于 DVMT pre-allocated memory(BIOS里) >= 96MB),就可以避免内核崩溃。

方法一:改BIOS设置

通过给kext打补丁,跳过Stolen Memory assertion(判断)。

我们需要给 AppleIntelBDWGraphicsFramebuffer 的二进制文件打补丁。
查找 39CF763C,把它替换成 39CF773C。

注意:你可以用16进制编辑软件(例如 0xED、或 Hex Fiend) 或者 Clover的KextsToPatch来进行补丁操作。

打过这个补丁后,理论上,就不需要修改BIOS设置了。现在就可以尝试注入ig-platform-id,看看系统的启动、驱动情况。

方法二:EFI Shell 修改 BIOS DVMT值

制作EFI Shell的引导U盘。

需要一个FAT32格式的U盘。
下载EFI Shell,解压后,你可以看到一个叫BOOT的文件夹。
http://www.firewolf.science/wp-content/uploads/2015/04/EFI-shell.zip

把BOOT文件夹复制到U盘的根目录。

1、提取完整的BIOS文件。

可以在Windows下,用一些BIOS工具软件,把BIOS文件提取到桌面。
例如,对于AMI Aptio UEFI BIOS,可以用AMI BIOS Utility软件。
(请根据自己的BIOS类型,搜索对应的提取软件)

2、从得到的BIOS文件里,提取BIOS的设置信息。

用UEFITools打开BIOS文件。找到名字是Setup的这一项,展开,提取PE32 image section,保存为一个二进制文件。

 

黑苹果驱动Intel HD Graphics 5500的方法

文件会被提取到桌面。以作者的为例,得到文件Setup.bin。

回Windows,打开Universal IFR Extractor软件,用它打开刚才用UEFITools提取好的二进制文件(Setup.bin),点击Extract,把文件保存为普通文本格式。

黑苹果驱动Intel HD Graphics 5500的方法

现在,打开刚才导出的文本文件setup IFR.txt,搜索关键字DVMT。你就可以找到代表了DVMT pre-allocated memory的变量和变量的值。

黑苹果驱动Intel HD Graphics 5500的方法

以上图为例,DVMT pre-allocated memory的变量名是0x1C3,表示96MB的值是0x3。记好这两个值。接下来,重启电脑,用之前做好的EFI Shell启动U盘启动。现在,我们要用 setup_var 命令来修改BIOS的设置。

命令的语法:

  1. setup_var address value

以作者的为例,命令是 setup_var 0x1C3 0x3 (把变量0x1C3的值,改成0x3,相当于把DVMT改成96MB)。

修改好BIOS里的DVMT pre-allocated memory值后,回到Windows,检查当前Dedicated Video Memory 的值是不是 64MB了。 (96 – 32 = 64MB)

3、注入AAPL, ig-platform-id。

你可以用 Clover 或者 DSDT/SSDTs,来注入AAPL, ig-platform-id。如果用Clover, 需要开启 InjectIntel = True 并且注入 ig-platform-id=0x16160002 。如果用DSDT/SSDT注入AAPL, ig-platform-id,还是注入0x16160002。

打开DSDT, 搜索 Device (GFX0) 或者 Device (IGPU) 或者 Name (_ADR, 0x00020000) ,找到后,在相应位置添加下面的Device-Specific Method:

  1. Method (_DSM, 4, NotSerialized)
  2.                     {
  3.                         If (LEqual (Arg2, Zero))
  4.                         {
  5.                             Return (Buffer (One)
  6.                             {
  7.                                 0x03
  8.                             })
  9.                         }
  10.                         Return (Package (0x08)
  11.                         {
  12.                             "device-id",
  13.                             Buffer (0x04)
  14.                             {
  15.                                 0x160x160x000x00
  16.                             },
  17.                             "AAPL,ig-platform-id",
  18.                             Buffer (0x04)
  19.                             {
  20.                                 0x020x000x160x16
  21.                             },
  22.                             "model",
  23.                             Buffer (0x17)
  24.                             {
  25.                                 "Intel HD Graphics 5500"
  26.                             },
  27.                             "hda-gfx",
  28.                             Buffer (0x0A)
  29.                             {
  30.                                 "onboard-1"
  31.                             }
  32.                         })
  33.                     }

把修改好的文件放到 /EFI/Clover/ACPI/Patched/ 。

或者使用本贴提供的config注入(用的是0x16160002)。重启电脑,如果顺利,Intel HD Graphics 5500已经驱动了!

花屏和冻屏

显卡驱动后可能还存在的问题及解决办法:

1、花屏:(这里是指进桌面之后花屏,如果是系统启动过程中的花屏,是另外的问题,Broadwell的启动花屏补丁和之前的补丁一样,搜索一下吧。或者,比较推荐自己修改下RehabMan大神的通用config,里面提供的补丁很全)在BIOS开启Legacy Support就可以解决。

2、冻屏(屏幕画面突然卡死):
把DVMT pre-allocated memory 改回 32MB 并给kext打 2.1步的补丁。 (案例:XPS13 2015)
或者先进Windows,再重启进OS X(也就是不要冷启动)。或者就只能等官方更新BIOS了。(案例:Dell Inspiration 7548)

3、CPUSensors.kext引起的Kernel panic:
删除 FakeSMC.kext里面带的 CPUSensors.kext。

4、AppleACPIPlatform.kext 和 Machine Check at 0xHexAddress 引起的Kernel panic:
修改过BIOS后,可能会出现这个问题。(例如修改了BIOS里的DVMT后)

这时,只能删除之前修改好的DSDT.aml 或者 重新在Windows用AIDA64或者在Linux提取原始DSDT.aml。

文章附件

售价:0H币哦
提取密码:*** [隐藏信息,登陆并发表评论后刷新可见!]

相关推荐

文件下载

广告也精彩
weinxin
黑苹果社区公众号
扫一扫随时掌握黑苹果社区最新动态
超级管理员
发表评论

您必须登录才能发表留言!

目前评论:26   其中:访客  26   博主  0

    • sy 2

      谢谢分享资源

      • gglt666 4

        谢谢分享,资源不好找

        • RAINxra 1

          好东西收藏了

          • A2284417401 2

            接电话的黑道皇后都好好的

            • cracker 3

              好东西看看哦

              • lan_yu 5

                好东西收藏了…

                • DeaM0n 4

                  好东西收藏了

                  • weichaowei 4

                    还是不明白,谢谢

                    • 2956808251 3

                      我试试吧,谢谢

                      • Alpha 1

                        谢谢楼主分享,我的就是HD5500

                        • li386575640 2

                          感谢楼主分享

                            • 666 3

                              谢谢楼主分享

                              • 1058726765 4

                                不太懂!!!!!

                                • suyuecheng 4

                                  不清楚怎么龙大苏打

                                  • xx2025 4

                                    不知道有没有用

                                    • zealer 2

                                      试试11111111111

                                      • hxzhyx 2

                                        我的笔记本是HD5500

                                        • belief 3

                                          为啥 osx86 访问不了了?

                                          • luoxiaoxi 4

                                            我的笔记本是HD5500

                                            • 1208879283 5

                                              我的笔记本就是HD5500,不知道最后能不能装好

                                              • xiaoxiaolove 3

                                                试试看5500,

                                                • iwtvyf 3

                                                  我的笔记本就是HD5500

                                                  • zhangzhiheng 3

                                                    实际验证hd520真正能用

                                                    • xiaorq 4

                                                      难得找到了它

                                                      • mrz001com 3

                                                        e450显卡测试

                                                        • tengyun1997 2

                                                          试试看,或许可以