在高于10.14的macOS中驱动NVIDIA显卡的方法
写在前面
最后更新:2023-3-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 Hight 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 登陆后无限转圈问题;
- 在 BigSur 和 Monterey 中可以驱动 GTX9x0 ~ GTX10x0,
- 缺点
- 驱动后的 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
- FF0F0000(完全关闭)
做完上面的修改后,需要重新启动。
这里推荐一个冷门的内核扩展:AMFIExempton.kext,主要用于没有 Apple 签名的应用程序添加权限,在应用场景上非常适合搭配 OpenCore Legacy Patcher 使用。
第三步,下载安装好 OpenCore Legacy Patcher 并运行,界面很简单,选择「Post Install Root Patch」,软件会自动检测你的硬件,决定需要安装什么补丁。下一步选择「Start Root Patching」,软件会提示需要重启,并要求输入你的「开机密码」,最后完成后重启即可。
最终效果
参考资料:
1. 本站资源收集于网络,仅做学习和交流使用,请于下载后24小时内删除。如果你喜欢我们推荐的软件,请购买正版支持作者。
2. 如有无法下载的链接,联系:admin#heipg.cn,或到QQ群进行反馈,我们将及时进行处理。
3. 本站发布的内容若侵犯到您的权益,请联系站长删除,联系方式:admin#heipg.cn,我们将第一时间配合处理!
黑苹果星球 » 在高于10.14的macOS中驱动NVIDIA显卡的方法
装完驱动之后,跑代码卡在了RadeonSensor initializedRedeonSensor freeing up,怎么办啊
把RadeonSensor.kext取消掉
都用这个打补丁了,应该是N卡吧
gt 740 在macOS 13 Ventura 如何驱动?
一样的,使用OpenCore Legacy Patcher
macOS13 一直有 SIP is enabled(Required:0xA03 or higher)
Currently Bppted SIP:(0x26f)
请问是系统版本太高了吗
这个指的是SIP状态码,SIP并不只是单纯的一个开关,而是一堆开关的聚合体
其叠加的条件越多,值越大
A03等于十进制2563,你当前是26F,十进制是623,也就是需要的条件没达到
如果你是用OpenCore的ToggleSIP关闭的(默认26F),你需要单独设置一下传入的参数
如果不会或者是其他方式关闭SIP的,可以在文中所说csr-active-config位置设置FF0F0000