Rust · 项目报告

nullmoth/nvidia-macos-driver

Metal driver for NVIDIA GeForce RTX cards on macOS 15 Sequoia (Intel / OpenCore). Free, source included.

已完成 打开 GitHub
N
846星标
87Fork
30Issue
NOASSERTION许可证

分析结果

项目分析

这是一个面向 Intel Mac / 黑苹果 OpenCore 环境的 NVIDIA RTX 显卡 macOS 15 Sequoia 驱动项目,目标是在 macOS 上为 Turing 及更新架构的 NVIDIA GeForce / RTX / Quadro 显卡提供显示输出与 Metal 支持。项目通过 Metal Driver Bundle、Apple AIR 到 SPIR-V 的着色器翻译层、Mesa NVK Vulkan 后端、NVIDIA open GPU kernel modules 以及 GSP 固件组合实现。当前 README 明确表示项目仍较新,实际硬件验证主要集中在 RTX 5060 与 macOS 15.7.x / 15.8.1,设备表覆盖范围大于真实测试范围。

适用领域 macOS 驱动开发 / Hackintosh / OpenCore / GPU 驱动 / Metal 图形接口 / Vulkan / Mesa NVK / NVIDIA RTX 显卡 / 内核扩展 kext / 图形渲染与显示系统
配置难度 高。该项目面向熟悉 Hackintosh、OpenCore、macOS kext、安全策略和 GPU 驱动栈的高级用户。虽然提供 1401 图形化工具,但一旦出现黑屏、卡 PCI configuration end、WindowServer 崩溃或 kext 加载失败,仍需要较强的 EFI 配置和 macOS 调试能力。
商业价值 商业价值受许可证显著限制:项目明确免费、源码包含,但禁止销售或用于赚钱,因此不适合直接集成到商业产品或收费服务中。其主要价值在于个人和研究场景:延长 NVIDIA RTX 显卡在 macOS 黑苹果环境中的可用性,为 macOS 图形驱动、Metal 到 Vulkan 翻译、Mesa NVK 移植和 NVIDIA open kernel modules 提供高价值参考。对硬件爱好者和驱动研究者价值较高,对企业生产环境价值较低且风险较大。
01

技术亮点

  • 非常罕见地尝试为 macOS 15 上的新款 NVIDIA RTX 显卡提供 Metal 驱动支持。
  • 包含源代码,并清晰拆分 plugin、translator、NVK、kext、firmware 等组件。
  • 支持 Metal 3 路径,README 声称覆盖 argument buffers tier 2、ray tracing、mesh shaders、MPS、MetalFX path。
  • 基于 Mesa NVK、NAK compiler 和 NVIDIA open GPU kernel modules,技术路线现代且有研究价值。
  • 提供预编译安装包和 1401 图形化安装工具,降低普通黑苹果用户的安装门槛。
  • 1401 工具会备份 OpenCore 配置,并添加可在启动选择器中移除 NVIDIA 驱动的恢复入口。
  • 文档详细说明 OpenCore、BIOS、SIP、AMFI、BAR、SecureBootModel 等关键配置。
  • 提供卸载脚本,理论上便于回滚。
  • 明确说明不会主动发送日志,1401 的 crash report 需要用户主动上传。
02

目标用户

  • 使用 Intel 平台黑苹果并希望使用 NVIDIA RTX 显卡的开发者或高级用户
  • 熟悉 OpenCore、EFI 配置、NVRAM、SIP、kext 管理的 Hackintosh 用户
  • 希望在 macOS 15 Sequoia 上尝试 NVIDIA Turing 及更新显卡 Metal 支持的硬件玩家
  • 研究 macOS 图形驱动、Metal 到 Vulkan 翻译、Mesa NVK 移植的系统开发者
  • 非商业用途的个人、教育、研究或非营利用户
03

配置要求

  • 操作系统:macOS 15 Sequoia,README 中测试版本为 15.7.x 和 15.8.1,x86_64。
  • 硬件平台:Intel Mac 或 OpenCore 黑苹果环境,不面向 Apple Silicon。
  • 显卡:NVIDIA Turing 及更新架构,设备表包含 GTX 16、RTX 20/30/40/50、TITAN RTX 以及部分 Quadro/RTX 工作站卡;但物理验证主要为 RTX 5060。
  • OpenCore:必须已有可启动 macOS 的 OpenCore 配置。
  • NVRAM Add 路径:7C436110-AB2A-4BBB-A880-FE41995C9F82。
  • csr-active-config:<430A0000>,用于允许未签名 kext 及相关 root patch 需求。
  • boot-args:nvfb=1 nvaccel=1 nvfbheads=4 -nvkmsnosmooth amfi_get_out_of_my_way=0x1 amfi=0x80。
  • NVRAM Delete:应加入所有手动设置的 key,确保每次启动重写。
  • UEFI → Quirks → ResizeGpuBars:13,用于 8GB BAR,README 表示 RTX 5060 已测试。
  • Booter → Quirks → ResizeAppleGpuBars:-1,让 macOS 看到完整 BAR。
  • Kernel → Block:阻止 com.apple.iokit.IONDRVSupport,Strategy 为 Exclude,避免固件 framebuffer 抢占显示索引。
  • Misc → Security → SecureBootModel:Disabled,因为 Apple Secure Boot 会拒绝非 Apple 签名 kext。
  • BIOS:Above 4G Decoding 必须开启,CSM 必须关闭。
  • SMBIOS:应使用支持 macOS 15 且带独显的 Mac 型号;README 中测试和 1401 使用 iMacPro1,1。
  • 需要移除 nv_disable=1、WhateverGreen NVIDIA patches、agdpmod=pikera 等与该 NVIDIA 卡冲突的配置。
  • 不需要为 NVIDIA 卡添加 DeviceProperties。
  • kext 安装位置为 /Library/Extensions,并从 Auxiliary Kernel Collection 加载,不应同时从 EFI/OC/Kexts 注入。
  • macOS 安装器阶段需要相反的 BAR 设置:ResizeAppleGpuBars 为 0,ResizeGpuBars 为 -1,且不要排除 IONDRVSupport。
  • 从源码构建需要 Xcode 16、Rust stable、Meson、Ninja,以及 NVIDIA open-gpu-kernel-modules tag 610.57.04。
04

适用场景

  • 在 Intel / OpenCore macOS 15 Sequoia 系统上驱动 NVIDIA RTX 显卡
  • 让部分 NVIDIA Turing、Ampere、Ada、Blackwell 等新架构显卡获得 macOS 显示输出
  • 为 Metal 应用提供基于 NVIDIA GPU 的实验性运行路径
  • 通过 Apple GL-on-Metal 间接支持 OpenGL,通过相关组件支持 OpenCL、Core Image、Core ML 等场景
  • 用于研究 Metal Driver Bundle、着色器翻译、NVK、kext 与 macOS WindowServer 的集成方式
  • 为已有 Windows / Linux / macOS 多系统 OpenCore 环境增加 NVIDIA macOS 驱动能力
05

部署与配置

  • 前提:确保机器已经可以通过 OpenCore 正常启动 macOS 15 Sequoia;如果尚未完成,应先按照 Dortania OpenCore Install Guide 配置。
  • 推荐方式一:从 GitHub Releases 下载 nullmoth-nvidia-<version>.tar.gz。
  • 解压:tar -xzf nullmoth-nvidia-*.tar.gz && cd pkgroot。
  • 校验文件:shasum -a 256 -c SHA256SUMS,确保每个文件显示 OK。
  • 安装:sudo ./install.sh,该脚本会复制驱动文件并重建 Auxiliary Kernel Collection。
  • 重启:sudo shutdown -r now。仅注销不会加载驱动。
  • 首次安装后,macOS 会要求在 System Settings → Privacy & Security 中允许扩展;允许后需要再次重启。
  • 推荐方式二:下载 1401-Mac-<version>.dmg,运行 1401 图形化应用,由其识别 OpenCore 分区、备份配置、安装驱动,并添加移除驱动的启动项。
  • 如果手动接入已有 OpenCore,需要配置 SIP、boot-args、BAR、SecureBootModel、Kernel Block 等项目。
  • 安装后验证:运行 kmutil showloaded --list-only | grep nullmoth,应看到 4 行;运行 system_profiler SPDisplaysDataType | head -20,确认显卡识别且 Metal 显示 supported。
  • 卸载:在安装包目录运行 sudo ./uninstall.sh && sudo shutdown -r now。
06

风险与注意事项

  • 项目非常底层,涉及 macOS kext、WindowServer、OpenCore、SIP、AMFI 和显卡 BAR 配置,错误配置可能导致无法启动、黑屏或系统不稳定。
  • README 明确提示该驱动较新,可能并不适用于所有 PC。
  • 设备表支持不等于真实运行验证,目前物理验证范围很窄,主要为 RTX 5060。
  • 需要禁用 SecureBootModel、调整 SIP、使用 AMFI 参数,安全性会下降。
  • 安装未签名或非 Apple 签名 kext,需要在系统设置中手动允许扩展。
  • Metal、OpenGL、OpenCL、Core Image、Core ML 等应用行为取决于显卡、系统版本和组件状态,不保证所有软件可用。
  • macOS 26 Tahoe 虽然包内包含独立 NVAccel 构建,但 README 明确表示完整硬件和应用验证仍未完成,不应视为可靠升级路径。
  • 许可证为 PolyForm Noncommercial 1.0.0 等组合许可证,明确禁止商业用途;企业或商业项目不能直接使用。
  • GitHub 元数据 license 为 NOASSERTION,说明许可证识别并非标准单一许可证,需要人工审查。
  • 依赖 NVIDIA GSP 固件、Mesa NVK patch、open-gpu-kernel-modules 等多来源组件,维护复杂度高。
  • 如果用户不熟悉 OpenCore 或 Hackintosh 排障,安装失败后的恢复难度较高。
  • 可能与已有 WhateverGreen、AGDP、DeviceProperties、启动参数或 USB 启动盘布局发生冲突。

历史记录

热榜历史快照

2026-10-09 第11名 新收录 · github_search