千呼万唤始出来:macOS NVIDIA 显卡驱动 v1.0.5

简介

黑苹果都已经几乎走完生命周期(目前最新版本 Golden Gate 不再支持 Intel 处理器),就在此时,天空一声巨响,NVIDIA 的 macOS 驱动居然闪亮登场了?

开个玩笑,此驱动并非 NVIDIA 官方提供,是第三方爱好者逆向开发的,目前处于早期阶段,实现了一键安装和基本可用,稳定性和兼容性方面可能还存在一些问题,不过问题不大,至少解决了从无到有不是,感谢开发者 @nullmoth,请访问官方 Github:https://github.com/nullmoth/nvidia-macos-driver 并支持作者,以下是官方简介:

NullMoth NVIDIA Driver for macOS:适用于运行 macOS 15 Sequoia 的 Intel Mac 和 OpenCore 系统上的 NVIDIA GeForce RTX 显卡的 Metal 驱动程序。您的 NVIDIA 显卡可以驱动桌面、Metal 应用程序、游戏、Core ML/MPS 和 OpenCL,就像苹果支持的 GPU 一样。

此驱动程序是新开发的,可能无法兼容每台电脑。它在 macOS 15.7.x 下的 RTX 5060 上进行了测试。如果您的电脑尚未使用 OpenCore 启动 macOS,请先使用OpenCore 进行 macOS 引导,然后再安装本驱动程序。驱动程序如何工作的完整说明在 docs/how-IT-works.md 中。

 

工作原理

Metal app → NVMTLDriver.bundle → translator (Apple AIR → SPIR-V) → NVK (Mesa Vulkan + NAK compiler) → kexts → GPU
组件磁盘上的路径来源
Metal Driver Plugin/Library/GPUBundles/NVMTLDriver.bundleplugin/
Shader translator插件内部 (libnvmtl_translate.dylib)translator/ (LGPL-3.0, based on metal2vulkan)
Vulkan back end (NVK)/Library/GPUBundles/nvmtl/nvk/nvk-macos.patch on Mesa 17ca6174
Kernel extensions/Library/Extensions/NVRM, NVAccel, NVRMFB, NVRMAGDCkexts/
GPU firmware (GSP)/Users/Shared/nvfw/nvidia/610.57.04NVIDIA, unmodified

内核端在 macOS 下运行 NVIDIA 自己的开放 GPU 内核模块(r610)。NVRMFB 是显示帧缓冲区,NVAccel 是 WindowServer 复合的加速器,NVRMAGDC 是显示策略填隙器。

 

使用方法

有两种方法,一是命令行(需要一点命令行基础),二是 app(最简单)。

命令行

下载 nullmoth-nvidia-<版本号>.tar.gz,然后命令行操作:

tar -xzf nullmoth-nvidia-*.tar.gz && cd pkgroot
shasum -a 256 -c SHA256SUMS          # 所有文件必须反馈 OK
sudo ./install.sh                    # 复制文件,重建辅助内核集合
sudo shutdown -r now                 # 需要重新启动:注销不会加载驱动程序
1401 app

下载 1401-Mac-1.0.2.dmg,打开它并运行 1401(驱动程序包在磁盘映像中,因此没有其他可下载的内容)。它会自动找到启动 Mac 的 OpenCore(在 EFI/OC 或 EFI/BOOT 中,在 EFI 或 FAT32 分区上),在进行更改之前显示每一个更改,备份配置,然后安装驱动程序,并将「1401:删除 NVIDIA 驱动程序」添加到 OpenCore 引导选择器中。选择该条目会在下次 macOS 启动时删除驱动程序,并将 Mac 恢复到安装前的状态,包括 OpenCore 配置,然后自行重新启动。

  • 双击运行 1401。该工具会定位你的 OpenCore 配置环境,执行修改前展示全部变更项; 自动备份你的 OpenCore 配置文件,从此磁盘镜像安装驱动;同时会在 OpenCore 启动选择菜单增加**“1401: Remove NVIDIA driver(1401:移除 NVIDIA 驱动)”**回退启动项,用于恢复。
  • 从 macOS 15 升级至 26:在 1401 工具内点击「Prepare this Mac for Tahoe(为本 Mac 准备 Tahoe 系统)」(该操作同时完成驱动的安装或升级),之后前往系统设置执行系统升级。macOS 26 首次启动时会自动完成驱动部署,并自行重启一次。

macOS 26 Tahoe(测试版):该软件包包含 NVAccel 的 Tahoe 版本。在“系统设置”中更新之前,单击“Prepare this Mac for Tahoe”;Tahoe 的第一次启动会让驱动程序安装并重新启动一次。驱动作者尚未在硬件上测试 Tahoe 兼容性。

在应用程序运行时,将启动 Mac 的 U 盘或磁盘 OpenCore 保持挂载状态:这是它更改的配置。它会寻找并编辑 SMBIOS 型号与 Mac 匹配的 OpenCore config 配置文件,如果没有保持挂在,程序会停止。安装 NVIDIA 驱动后,重新启动系统即可,第一次启动 NVIDIA 驱动时会在“PCI configuration end”时卡住一分钟左右(如果打开了跑码模式)。

 

config 写入内容和其他注意事项

驱动程序需要的 kexts 会安装到/Library/Extensions中,并从辅助内核集合加载——不需要从 EFI/OC/kexts 再注入它们。OpenCore 只需要设置 SIP 和引导参数。

config.plist →  NVRAM → Add → 7C436110-AB2A-4BBB-A880-FE41995C9F82 增加以下内容:

  • csr-active-config | 430A0000(Data类型)
  • boot-args | nvfb=1 nvaccel=1 nvfbheads=4 -nvkmsnosmooth amfi_get_out_of_my_way=0x1 amfi=0x80(帧缓冲器+加速器,4个显示头;AMFI参数允许WindowServer加载驱动程序包)

同时,以上参数也需要添加到 config.plist → NVRAM → Delete 中,这样每次启动都会重新写入。

其他 OpenCore 的 congfig.plist 设置:

  • UEFI → Quirks → ResizeGpuBars → 13(作者用 RTX5060 8GB 做了测试)
  • Booter → Quirks → ResizeAppleGpuBars → -1
  • Kernel → Block → Identifier 设置为 com.apple.iokit.IONDRVSupport(Strategy 设置为 Exclude)
  • Misc → Security → SecureBootModel → Disabled

macOS 安装程序需要相反的 BAR 设置(ResizeAppleGpuBars 0、ResizeGpuBars -1、不 Exclude IONDRVSupport):因为 macOS 默认没有 NVIDIA 的驱动程序,1401 Mac 应用程序在安装 NVIDIA 驱动程序时会切换到上述值。

其他需要的设置
  • BIOS:开启 Above 4G Decoding,关闭 CSM
  • SMBIOS:选择一款官方能运行 macOS 15 或 26 的 Mac 型号(Macbook Pro 或 MacPro),配备独立 GPU(测试:1401使用的iMacPro1,1)。
  • 删除以下启动参数(如果有):nv_disable=1、agdpmod=pikera 或 WhateverGreen NVIDIA 补丁
  • NVIDIA 卡不需要设置任何 DeviceProperties

 

更新日志 · 历史版本

 

 

下载地址

  • 版本v1.0.5
0. 本站所有资源解压密码均为 heipg.cn
1. 本站资源收集于网络,仅做学习和交流使用,请于下载后24小时内删除。如果你喜欢我们推荐的软件,请购买正版支持作者。
2. 如有无法下载的链接,联系:admin#heipg.cn,或到QQ群进行反馈,我们将及时进行处理。
3. 本站发布的内容若侵犯到您的权益,请联系站长删除,联系方式:admin#heipg.cn,我们将第一时间配合处理!

黑苹果星球 » 千呼万唤始出来:macOS NVIDIA 显卡驱动 v1.0.5

发表回复