这篇文章将不采用任何付费的 kexts,用苹果的原生机制驱动我们的显卡。

前言

非常感谢这位博主的博客不仅启发了我,而且解决了我的问题
转载http://blog.csdn.net/wr132/article/details/54837303
我个人的显卡是HD 5450。这篇文章将不采用任何付费的 kexts,用苹果的原生机制驱动我们的显卡。
现在我整理了相关资料,希望能帮助大家

注意,你需要使用 ATI HD 显卡, CLover 引导

另外,这里只写了 HD 5xxx/6xxx 的相关信息,若果是其他的显卡可能需要爬帖找找资料,但是希望这篇文章可以启发一下 😀
还有,如果你在用 HD 5xxx/6xxx 显卡装 Mojave 或 Catalina ,请老老实实换回 High Sierra,或者扔了显卡,去深水宝淘一个黑苹果免驱卡(这些显卡不支持新 Metal,根本就不能用,从 HD 7xxx 才支持)

显卡不正常驱动的表现

在黑苹果过程中,驱动显卡可谓最重要的一步了,因为没有驱动,你的电脑会成这样:

  • 5M 的显存 (虽然跟我的 512M 差不多)
  • 显卡型号不能显示
  • 1280x720 的白内障分辨率
  • 卡成 xxx 的启动器
  • 没有透明等炫酷特效
  • 撕裂严重

如果你上面的问题都没有遇到,那么就恭喜你已经驱动好显卡了,或者苹果本身就支持你这张显卡。这也引出了我们操作的原理。

操作原理及具体操作

这里我们将通过 Clover 注入显卡虚假 ID ,让系统认为安装的显卡是原生支持的,从而驱动。这里只列出了 ATI 显卡,不过其他的 A卡或许也可以通过这种方法驱动。

我将把 ID 表放在文末

挂载 EFI 分区

这里需要用到 Clover 做引导,并下载安装 Clover Configurator

打开 Clover Configurator,选择挂载分区。
mount

挂载你启动用的 EFI 分区,输入密码。

打开配置文件

点击最左下角的图标,导入你的 config.plist

config
(下面开始可能会有风险,推荐全部看完后再决定尝试)

修改 fake ID

command + 空格呼出菜单,打开System Information.app
选择图形卡/显示器,里面有设备 ID,记下来
information
我这里的显卡 ID 是0x68e0 (设备 ID 和虚假 ID 一样,因为我已经注入成功了,但是本来不是这样的,本来是0x68E1)
在文末的支持对照表内找到型号、ID 相似的显卡,复制下来表中的ID
我在这里找到的虚假 ID 是0x68E01002 (5470m,虽然是移动显卡但可以正常驱动)
非常巧,5470m配合我的i5-2400刚好组合成了imac mid2011的配置(imac12,2),顺带也可以把smbios注入进去。

注入显卡

在 Clover Configurator 中选择设备设置栏,在仿冒 ID 里 ATI 中写上虚假 ID
在这里插入图片描述

再转到显卡设置栏,钩上注入ATI/AMD 显卡选项,在 FB名称中选择你那个系列的名称。
选项

这里有点问题,具体选哪个 FB 取决于你显卡的接口类型,本来应该按照那位博主的博客是该选 Eulemur 的,但最后还选了 Baboon
这里可以使用AMD Framebuffer Utility来选择 FB,但事实证明瞎猜也是可行的方法(但是等你看完了再去猜)。

点击最左下角的保存文件按钮

调试

我按照那位博主的方法,成功驱动了显卡,但当我一重启,居然黑屏了。
我发现系统正常启动,但是显卡没有输出。经过一番查询、翻贴,发现是 FB 的问题。
如果你也出现了黑屏,请先别着急放弃:

在启动之前选择 Option
在这里插入图片描述
打开Graphics Injector
在这里插入图片描述
再把 Inject ATI 的钩去掉,就可以正常启动了,然后再重复以上步骤,修改 FB
或者,你可以直接在 CLover 中 FB config 输入FB 名。
在这里插入图片描述

最后说一句,黑苹果要的是耐心,当然你可以不挨个尝试 FB 名称,而直接注入 FB, 但是由于 AMD Framebuffer Utility 貌似找不到,所以这种方法反倒是节省了时间。一句话,干他就完事了。

截图为证
在这里插入图片描述

后话

这里说说我为什么不能使用那个博主的 FB 驱动 HD 5450
因为我的显卡是 DDVI 接口的,可以分出两个 VGA
所以 FB 是Baboon(据推测)
如果大家的也是dell 的 OEM 卡,也是 DDVI 的,直接照着这个做就行。若不是,可能就得花时间挨个尝试了。
最后祝大家早日吃上黑苹果:P

ID 列表

这里列出的是来自百度问答的 ID 表,也存起来防吞。

ATI5系列全部ID
0x68981002 5870
0x68991002 5850
0x68E01002 5470m 6370m为68E4//8.22更新
0x68E11002 5430/5450/5430m
0x68D81002 5670
0x68C01002 5730m 6570m
0x68C11002 5650m 6550m
0x68D91002 5630
0x68B81002 5770
0x68B01002 5870m ?
0x68B11002 未找到 很有可能是5700Series或5800m Series
0x68A01002 5870m
0x68A11002 5800m Series
ATI6系列全部ID
0x67681002 CAICOS GL PRO(专业卡)
0x67701002 6400 series
0x67791002 6450
0x67601002 6470m
0x67611002 6430m
0x67501002 6570
0x67581002 6670
0x67591002 6570
0x67401002 6730m
0x67411002 6650m 6625m/7610m
0x67451002 未找到 很有可能是6600m/6700m Series或6600Series
0x67381002 6870
0x67391002 6850
0x67201002 6990m
0x67221002 BARTS GL2 (专业卡)
0x67181002 6970
0x67191002 6950
0x68401002 7670m
0x68411002 7500m/7600m series
0x67041002 CAYMAN GL PRO (专业卡)
AMD加速剂驱动
AMDBartsGraphicsAccelerator
0x67381002 6870
0x67391002 6850 6790可替换这个ID
0x67201002 6900m
0x67221002 BARTS GL2 (专业卡)
AMDCaicosGraphicsAccelerator
0x67681002 CAICOS GL PRO(专业卡)
0x67701002 6400 series
0x67791002 6450
0x67601002 6470m
0x67611002 6430m
AMDCaymanGraphicsAccelerator
0x67181002 6970
0x67191002 6950
0x67041002 CAYMAN GL PRO (专业卡)
AMDCedarGraphicsAccelerator
0x68E01002 5470m 5450/6370等卡替换这个ID
AMDCypressGraphicsAccelerator
0x68981002 5870
0x68991002 5850
AMDJuniperGraphicsAccelerator
0x68B01002 5800m Series
0x68B11002 未找到很有可能是5700Series或5800m Series
0x68A01002 5870m
0x68A11002 5800m Series
0x68B81002 5770 5750/6770/6750可在这替换ID
AMDLombokGraphicsAccelerator
0x68401002 6700m series
0x68411002 6600m series
AMDRedwoodGraphicsAccelerator
0x68D81002 5670
0x68C01002 5730m 6570m
0x68C11002 5650m 6550m
0x68D91002 5630
AMDTurksGraphicsAccelerator
0x67501002 6570
0x67581002 6670
0x67591002 6570
0x67401002 6700m series
0x67411002 6600m series
0x67451002 未找到 很有可能是6600m/6700m Series或6600Series

我们要通过操作,注入以下支持显卡的 ID:(不一定百分百准确,笔记本显卡不一定真的支持)

HD 台式机原生显卡 | HD 笔记本原生显卡(m)

名称 ID 名称 ID
5630 0x68D91002 5430m 0x68E11002
5670 0x68D81002 5470m 0x68E01002
5770 0x68B81002 5650m 0x68C11002
5850 0x68991002 5730m 0x68C01002
5870 0x68981002 5800m series 0x68A11002
6450 0x67791002 6470m 0x67601002
6570 0x67501002 6600m series 0x68411002
6670 0x67581002 6700m series 0x68401002
6850 0x67391002 6900m 0x67201002
6870 0x67381002 7500m/7600m 0x68411002
移动版原生支持的有:
5系列:5430m、5470m、5650m、5730m、5800m 系列(除了5870m之外,其他5800m系列的具体ID我并没有查到,如果知道的话请补充)
6系列: 6470m、6600m series、6700m series、6900m、7500m/7600m series(具体型号我查不到,希望知道的童鞋补充)
而6550m和6570m完全是5650m和5730m的马甲卡,ID都是一样的,对系统来说完全没有区别。
笔记本原生支持不等于免驱,继续往下看吧。
台式机的话:
桌面卡可以原生支持的有
5630 5670 5770 5850 5870
6450 6570 6670 6850 6870