【猜测】黑苹果笔记本无法驱动NVIDIA独显的真正原因

发布于 2020-02-18  7807 次阅读


众所周知,Nvidia的独显在MacOS 10.13.6以后的版本中都没有了驱动支持,因此在以后的版本中无法“真正”将其驱动(一些免驱卡除外)
然而一些笔记本搭载的在Nvidia驱动列表中的设备,如GTX 1060/GTX 1050Ti 等显卡并不能顺利驱动,关于不能驱动原因,大家众说纷纭。
最普遍的说法认为,笔记本本身便是无法驱动独显的,还有的说驱动独显需要先屏蔽核显。然而,在很多的案例下,上述的说法并不成立。

能驱动独显的笔记本电脑有很多,例如小米游戏本(7700HQ+1060),再例如神舟z7-kp7d2(7700HQ+1060),以及神舟z7-kp7s1(7700HQ+1060),还有神舟Z7-cp5s2(8400+1060)

能同时驱动核显和独显的笔记本也有很多,上述的笔记本全部可以驱动出双显。

那么为什么有些笔记本无法正常驱动出独立显卡呢?

我认为根本原因在于显卡的VBIOS(VGA BIOS)

为什么这样说呢?

熟悉桌面平台显卡的同学可能知道VBIOS的概念,它们被写进一个位于显卡板体的flash芯片上,用以显卡的初始化。
但笔记本平台是否也采取了这样的方案呢?
答案不唯一,因为部分电脑将VBIOS独立写在主板上的一个flash芯片中,部分电脑却将VBIOS与主板BIOS集成在一起,共同写进一个BIOS芯片内
(目测大多数采用Optimus技术的笔记本都如此,但并不是全部)。

上述例子中能驱动出独显的电脑,采用的全部都是独立VBIOS的形式,而集成VBIOS形式的笔记本电脑,至今为止仍未有驱动独显成功的案例。

通过分析不同机型的笔记本电脑可知,搭载GTX 1050(Ti)显卡的笔记本电脑均采用了集成式的VBIOS,根据此推测,或许这个才是1050(Ti)无法成功驱动出来的原因。

基于上述内容,其实我想表达的就是,MacOS/WebDriver无法从机器BIOS中读取到被整合其中的VBIOS。换句话说,因为它读取不到VBIOS的信息,所以它懵逼了,它不知道这是啥硬件,故无法驱动。

而之所以说这种原因只是推测,是因为MacOS及其独显驱动程序WebDriver闭源,我们无从得知它获取VBIOS所依赖的接口,所以只能是推测,无法证实。
但总结了很多实际案例,再加上个人不断折腾得出的经验,这种推测很有可能是真的。

为什么会出现屏蔽核显再驱动独显的操作呢?

得益于Optimus技术的产生,Windows端的笔记本电脑能耗得到了很大优化,它本质上在于核显与独显的智能切换。
但Optimus技术却使得独显失去了画面输出功能,只保留了计算能力,因此,独显必须通过核显才能最终将画面输出到电脑上。假若你在Optimus技术的电脑上屏蔽了核显,那你开机后会发现,你的笔记本电脑屏幕是黑屏的状态,但电脑实际已经在正常运行了,其原因就是独显无法正常将画面输出。

在不支持Optimus技术的电脑上,你可以通过屏蔽核显,让独显来为你的笔记本屏幕输出画面。
而恰好MacOS又不支持Optimus技术,所以同时驱动双显可能会导致独显无法正常发挥它的效能。因此,在一些不支持Optimus技术的笔记本上,我们时常会看到屏蔽核显,仅靠独显输出的例子,这也是最稳妥的做法。(可能吧)

综上所述,如果你的笔记本是集成式的VBIOS,那你基本可以放弃黑苹果驱独显的想法了,如果你的笔记本是独立式的VBIOS,那你可以根据自己的机型来尝试驱动双显。
当然,如果您有实际的例子能证明此猜想的不严谨性,请务必告知!

本文充满了主观幻想色彩,请谨慎阅读,独立思考。

目前已知的集成式VBIOS平台:
同方模具八代平台(所有)
搭载1050(Ti)的笔记本平台(所有)
......欢迎补充

2020/4/26 更一个东西,这个是在AMIBCP中截的zx7-cp5s2的图,可以看到SG Mode Select选项可选值为Muxless(Optimus技术),但其可以在10.13下驱动独显,可以拿这个作为例子说明Optimus技术并非是导致无法驱动独显的原因。

感谢 @吟梦 的讨论

届ける言葉を今は育ててる
最后更新于 2020-02-18