Intel HD Graphics 修正DVMT 完美免驱

Intel HD Graphics 修正DVMT 完美免驱

最近在给一台DELL OptiPlex 7040 PC安装黑苹果, intel i7-6700的CPU, Intel HD Graphics 530的集成显卡, 用的Lilu.kext+IntelGraphicsFixup.kext+IntelGraphicsDVMTFixup.kext来驱动显卡; 使用起来一切正常, 除了开机启动二阶段花屏(八苹果闪烁).

其实对于macOS来说, 是可以原生驱动HD 530, iMac17,1用的就是i7-6700K, HD 530显卡,

而IntelGraphicsFixup.kext+IntelGraphicsDVMTFixup.kext本身并不是能驱动, 只是系统启动前对macOS原生驱动"com.apple.driver.AppleIntelSKLGraphicsFramebuffer"打补丁而已.

如果主板BIOS里有DVMT的选项的话, 把DVMT设置为64~128MB(e.g. 96MB)的话, 是可以免驱启动, 完全不需要使用IntelGraphics*Fixup这两个hotpatch的.

可是主板BIOS里没有DVMT选项呢? 其实大部分BIOS都是有DVMT选项的, 只是并不能通过GUI的方式设置而已; 接下来, 就是介绍如何找到DVMT选项, 并通过hack的方式来修改BIOS(隐藏的选项).


  • 首先需要提取主板的BIOS ROM, 我的主要是AMBIOS, 所以我通过AMI Flasher utility提取
很简单, 直接点击Save保存即可, 得到bios.rom
  • BIOS的固件里, 有一个模块记录着这BIOS所有的配置项, 及每个配置项允许的取值; 这里可以通过UEFITool打开这个rom文件, 然后通过unicode搜索"DVMT", 定位到存储这个配置的模块, 另存为setup.bin
  • 提取到了setup.bin, 可这个模块是二进制的, 可以通过IFR-Extractor将此BIOS模块转换为可读的文本Setup.txt
  • 打开Setup.txt(里面不仅仅有DVMT配置项目, 还有各种有用的如"CFG lock"), 找到DVMT Pre-Allocated配置项目, 你到看到这个配置项的VarOffset(理解为地址吧), 如这里的 0x350, 以及DVMT的所有的取值, 如 0x3 表示96MB
  • 可是我们要如何更新BIOS里的DVMT这个设置值呢? 刷固件吗? 不, 你开机启动时修改个BIOS设置超频什么的也不用重刷固件呀的, 因为这些值存储在CMOS里; 这里我们可以通过EFI-shell执行一个命令来更新任意配置项的设置(包括任意不可以通过BIOS GUI里没有的配置)
  • 解压EFI-shell.zip到U盘的任意FAT32分区根目录(e.g. 分区:/EFI/BOOT/bootx64.efi), 然后重启用UEFI方式启动这个U盘, 进入到grub命令行, 执行 setup_var 0x350 0x3 即可

读取: setup_var 0x350

写入: setup_var 0x350 0x3


设置0x350时忘记拍照的, 这里是在禁用CFG lock, 自己脑补一下即可
  • 噔噔噔噔, 你已成功更新DVMT为96MB, 此时可以删除掉显卡的DVMT补丁IntelGraphicsDVMTFixup.kext, 正常来说, 也可以免驱了, 删除掉IntelGraphicsFixup.kext也可以正常免驱启动, 更不会有开机八苹果闪烁了!

BTW, 你也可以用上述方法去修改任意你想但无法直接GUI选择的BIOS设置哦, 如涉及到CPU电源管理的CFG lock (MSR 0xE2)配置哦! 感觉黑苹果的玩法越来越多了, 以前用软件hotpatch, 现在直接hack BIOS


现在只需要下面这几个kext就可以完美驱动黑苹果了啦

声卡太难弄, 想简洁一点就没弄了


看到其它帖子遇到的硬件加速的问题, 我回去看了下发现没有这个问题, H.264/HEVC硬件加速完美启用

加载的驱动也打印了一下, 显卡方面用的是系统原生自带的驱动


引用链接:

irelandKen/DELL-OptiPlex-7040-Clovergithub.com图标


https://www.firewolf.science/2015/04/guide-intel-hd-graphics-5500-on-os-x-yosemite-10-10-3/www.firewolf.science


acidanthera/AptioFixPkggithub.com图标

编辑于 2018-07-21