众所周知,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技术并非是导致无法驱动独显的原因。
感谢 @吟梦 的讨论
Comments 7 条评论
博主 梁
兄弟,我也是这么想的,但我觉得不存在独立vbios的机器可以仿冒一个vbios芯片然后把显卡的rom加载上去,或者说逆向一下web的驱动把获取vbios的代码段找到,然后指向硬盘上的rom文件,这是我的想法,但是技术不够,无法实现,希望可以一起研究
博主 bswaterb
@梁 如果假设正确,逆向和自己仿冒设备都太底层了,我这半桶水也搞不定
博主 伍
黑苹果能不能用独显我不太关心,但是我windows系统下也不能用独显是什么原因?
博主 bswaterb
@伍 不属于文章讨论内容,无可奉告
博主 rabbit
@伍 可能是系统原因,最新版win2004存在可能无法驱动独显的问题
博主 你意想不到
有个信息可以帮助你思考。我们群友将坠机堡垒的核显物理损坏了,在10.13.6下成功驱动了1050ti。
博主 bswaterb
@你意想不到 物理损坏指的是?