在高于10.14的macOS中驱动NVIDIA显卡的方法
在高于10.14的macOS中驱动NVIDIA显卡的方法
在macOS系统中,NVIDIA显卡的兼容性一直是一个令人头疼的问题。虽然Kepler架构的显卡可以通过官方驱动支持到macOS 11.x Big Sur,但Maxwell和Pascal架构的显卡仅能支持到macOS 10.13.6 High Sierra。然而,由Dortania开发的OpenCore Legacy Patcher提供了一个基于Webdriver修改的驱动解决方案,使得这些旧款显卡可以在最新的macOS Monterey中继续使用。本文将详细介绍这一驱动方法的具体步骤和注意事项。
写在前面
最后更新:2024-4-28
我们知道,NVIDIA的显卡在macOS中可以使用的主要有三代,分别是Kepler,Maxwell以及Pascal。Kelper对应大部分GTX6x0和GTX7x0;Maxwell对应大部分GTX9x0;Pascal对应大部分GTX10x0。而其中只有Kepler由于苹果官方机型使用过,因此可以一路免驱使用到macOS 11.x Big Sur;Maxwell和Pascal仅能通过安装NVIDIA官方Webdriver的形式支持到macOS 10.13.6 High Sierra。
现在以上情况发生了一些改变。由Dortania开发的OpenCore Legacy Patcher提供了一个基于Webdriver修改的驱动,可以使Maxwell及Pascal安装目前最新macOS Monterey。
其实这个补丁和驱动方法出来有一段时间了,由于手里没有符合条件的NVIDIA显卡无法亲测,就一直没有动手写。方法比较简单,没有多复杂的步骤,本文就简单讲解一下。
注意:此方法不支持更新的NVIDIA独显,例如Turing(GTX16x0和RTX20x0)、Ampere(RTX30x0)和已经到来的Ada Lovelace(RTX40x0)。
提示:因macOS Ventura进一步抛弃了一大批老款Mac机型支持,因此OpenCore Legacy Patcher目前不仅仅支持NVIDIA显卡(Kepler、Maxwell、Pascal),同时也支持AMD显卡和部分Intel核显,因为老款Mac大部分配备的是AMD显卡和Intel核显。目前macOS Ventura对AMD显卡的支持从Polaris这一代开始,对应RX4x0 RX5x0,也就是之前的R5/7/9 2xx和R5/7/9 3xx这几代可以通过OpenCore Legacy Patcher打补丁后得到驱动支持。
优缺点
- 优点
- 在BigSur和Monterey中可以驱动GTX9x0 ~ GTX10x0,最新的Ventura暂不支持自0.5.0版本开始对Ventura提供支持;
- 由于Kelper存在过苹果官方驱动,因此有单独的补丁,目前可以正常驱动到12.4,最新稳定版12.5存在一定问题,暂需等待,自OpenCore Legacy Patcher 0.4.10版本起已解决12.5登陆后无限转圈问题;
- 缺点
- 驱动后的GTX9x0 ~ GTX10x0暂不支持Metal,强制使用OpenCL模式;
- 需长期部分关闭SIP(系统完整性保护),不过这是很大部分黑苹果用户的日常;
- 目前仍存在一些未能解决的bug,具体可参考官方issue页面,这些问题可能很快能得到解决,也可能永远无解;
Metal(字面翻译是“金属”)是苹果公司的自家专属的图形接口,这个东西定位类似Windows平台的DirectX,用于弥补macOS平台长期只有OpenCL的不足,同时进一步加强了苹果公司对macOS生态的掌控。自macOS Mojave 10.14起,Metal被正式引入作为主要的图形API。从10.14到如今13.0正式版,期间经过了10.15、11.0、12.0三个大版本,目前已经有非常多的软件和应用使用了Metal,因此不支持Metal会带来一定的运行使用上的问题,例如闪退,无法运行或功能不正常等。
好消息是,有一个Non-Metal团队正在开发Non-Metal-Framework(字面是“无Metal框架”),解决各种不支持Metal带来的问题。相信随着时间流逝,错误和不支持的情况会被逐步解决。
驱动方法和步骤
首先你需要自行安装好macOS Catalina或Big Sur或Monterey,选择你想要的系统版本就行,注意:Kelper独显目前在12.5驱动有问题,建议Kepler暂时使用12.4,自OpenCore Legacy Patcher 0.4.10版本起已解决12.5登陆后无限转圈问题;
修改OpenCore配置文件,添加如下启动参数,如何添加可参考「启动参数说明」:
- amfi_get_out_of_my_way=0x1
- ngfxcompat=1
- ngfxgl=1
- nvda_drv_vrl=1
- 然后修改启动参数下面的csr-active-config值,这是用于注入CSR信息达到部分或全部关闭SIP:
- 030A0000(安装这个驱动最低要求)
- 自0.5.0版本开始,最低要求改为0x803,即03080000
- 目前1.4.3版本最低要求升为0xA03,即030A0000
- FF0F0000(完全关闭,图省事就选这个)
- 做完上面的修改后,需要重新启动。
这里推荐一个冷门的内核扩展:AMFIExempton.kext,主要用于没有Apple签名的应用程序添加权限,在应用场景上非常适合搭配OpenCore Legacy Patcher使用。
- 下载安装好OpenCore Legacy Patcher并运行,界面很简单,选择「Post Install Root Patch」,软件会自动检测你的硬件,决定需要安装什么补丁。下一步选择「Start Root Patching」,软件会提示需要重启,并要求输入你的「开机密码」,最后完成后重启即可。
最终效果
参考资料
- Implement Alpha Support for Nvidia Web Drivers
- OpenCore Legacy Patcher
- Non-Metal Patcher