概述:
驱动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的值。但对笔记本用户来说,就可以说是灾难了。
因为:
- 笔记本DVMT pre-allocated memory的默认值时32MB。
- 厂商不会解锁这样的BIOS高级设置。
- 还可以修改BIOS,但是,在刷修改好的BIOS的时候,通不过安全检查。
驱动方法:
这里我大概理解为上面提到的苹果提升了stolen memory 的最小值,所以我们需要改变BIOS里的Dedicated Video Memory的值才可以。
在Windows控制面板,打开“屏幕分辨率”窗口,点击“高级设置”,看 Dedicated Video Memory的值是多少。
经过作者的多次尝试,得出了以下关系:
- 如果 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 的关系表如下:
第二种方法查看:
- 按Windows键+ I打开“ 设置”菜单。
- 选择“ 系统”条目,然后单击左侧栏上的“ 显示 ”。
- 向下滚动并单击“ 高级显示设置”文本。
- 在结果菜单上,选择您要查看设置的显示器(如有必要)。然后单击底部的显示适配器属性文本。
- 在新窗口中,您将看到当前视频RAM列在专用视频内存旁边。
规律:
一般,如果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的文件夹。
https://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,保存为一个二进制文件。
文件会被提取到桌面。以作者的为例,得到文件Setup.bin。
回Windows,打开Universal IFR Extractor软件,用它打开刚才用UEFITools提取好的二进制文件(Setup.bin),点击Extract,把文件保存为普通文本格式。
现在,打开刚才导出的文本文件setup IFR.txt,搜索关键字DVMT。你就可以找到代表了DVMT pre-allocated memory的变量和变量的值。
以上图为例,DVMT pre-allocated memory的变量名是0x1C3,表示96MB的值是0x3。记好这两个值。接下来,重启电脑,用之前做好的EFI Shell启动U盘启动。现在,我们要用 setup_var 命令来修改BIOS的设置。
命令的语法:
- 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:
- Method (_DSM, 4, NotSerialized)
- {
- If (LEqual (Arg2, Zero))
- {
- Return (Buffer (One)
- {
- 0x03
- })
- }
- Return (Package (0x08)
- {
- "device-id",
- Buffer (0x04)
- {
- 0x16, 0x16, 0x00, 0x00
- },
- "AAPL,ig-platform-id",
- Buffer (0x04)
- {
- 0x02, 0x00, 0x16, 0x16
- },
- "model",
- Buffer (0x17)
- {
- "Intel HD Graphics 5500"
- },
- "hda-gfx",
- Buffer (0x0A)
- {
- "onboard-1"
- }
- })
- }
把修改好的文件放到 /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。
文章附件


76F
登录回复
dddddddddddddd中文
75F
登录回复
感谢楼主分享工具谢谢
74F
登录回复
感谢楼主分享工具
73F
登录回复
支持支持
72F
登录回复
u呼吁工艺
71F
登录回复
谢谢分享,感谢,先看看能不能用
70F
登录回复
谢谢分享,感谢,先看看能不能用
69F
登录回复
感谢分享,谢谢
68F
登录回复
看看是啥东西
67F
登录回复
感谢分享,谢谢
66F
登录回复
感谢分享,谢谢
65F
登录回复
谢谢十分感谢
64F
登录回复
感谢分享我试试看
63F
登录回复
感谢分享我试试看
62F
登录回复
能搞定吗 ?
61F
登录回复
感谢楼主分享