黑苹果驱动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,黑苹果就会出现内核崩溃。

文章前言

此文章有daxuesheng翻译到远景论坛,原帖地址和翻译地址见文章下方!远景论坛的文章编辑的着实让我眼花缭乱,这里好好排版一下!你要觉的有不妥的地方请在下方留言!文章大体思路就是修改BIOS的DVMT pre-allocated memory值的大小,有些机型或许不能修改,继续看文章吧。

概述:

驱动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。

利用到的软件下载

 

Intel HD Graphics 5500
提取密码: ******** [隐藏信息,登陆并发表评论后刷新可见!]
  • 黑苹果乐园微信公众号
  • 黑苹果乐园的微信公众号,推送最新文章。谢谢关注!
  • weinxin
  • 黑苹果乐园微信服务号
  • 这是黑苹果乐园的微信公众服务号,也是黑苹果乐园的微信客服。
  • weinxin

发表评论

您必须登录才能发表评论!

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

    • avatar lw010123 2

      感谢 楼主分享

      • avatar sunow_txy 4

        谢谢分享!!!

        • avatar ID1ID1 5

          谢谢老大分享

          • avatar 1009020096 4

            试一下,楼主

            • avatar zuiyuer 4

              感谢楼主,研究研究!

              • avatar li386575640 4

                真的吗?真的吗?

                • avatar 2015 3

                  感谢楼主分享

                  • avatar 15256555329 3

                    好的,下载下来试试

                    • avatar 1520175121 4

                      没找到适合的驱动

                      • avatar xiaodingdang 4

                        谢谢楼主分享

                        • avatar 178151116 4

                          感谢大神分享

                          • avatar fuzhuo 3

                            的撒打算打算打算打算

                            • avatar lidd1224856175 3

                              感谢大神分享文件

                              • avatar jinhb0630 2

                                感谢大神分享

                                • avatar chahu1981 5

                                  学习一下~~~~~~~~~~~~~~~~~~

                                  • avatar fengwu 3

                                    多谢分享,试试先

                                    • avatar pi3141592 4

                                      谢谢分享。。。。。。。

                                      • avatar Chunbwam 3

                                        我都是在用HD5500

                                        • avatar qq774322540 2

                                          多谢楼主,楼主辛苦了。

                                          • avatar SISHUILIUNIAN 5

                                            5500悲催啊

                                            • avatar walf2th 3

                                              来吧,试一下

                                              • avatar 13980606089 4

                                                感谢楼主分享

                                                • avatar haizai 3

                                                  感谢感谢!!

                                                  • avatar dltoyoxwm 3

                                                    谢谢版主分享

                                                    • avatar letbyseu 5

                                                      感谢楼主!!!!

                                                      • avatar sakura10032 1

                                                        感谢楼主,感谢分享

                                                        • avatar vier 3

                                                          感谢分享,非常感谢

                                                          • avatar fei1996 3

                                                            感谢分享,试试看啊看

                                                            • avatar Azrael_wmt 5

                                                              一直花屏,试试吧!!