GitHub 每日精选

每天 3 个值得看的开源项目,喂饭级解读:这是什么、解决什么问题、小白怎么用起来

【每日精选】NullMoth驱动:让N卡在Mac上跑起来

2026-10-10 · ⭐ 1907 · Rust · nullmoth/nvidia-macos-driver

一句话总结

用一个免费驱动,让你电脑上的 NVIDIA 显卡在 macOS 15 上能正常显示画面,并且能跑苹果的 Metal 图形接口。

它是干什么的(大白话)

苹果的 Mac 系统一直只认苹果自己选过的那几块显卡。你要是给一台英特尔 Mac 或者自己组装的电脑装上 NVIDIA 新显卡,再装 macOS,系统基本当这块卡不存在,画面只能靠软件硬撑。

这个项目就是干这件事的:它做了一套驱动,装上之后系统能认出你的 N 卡,把它当显示输出来用,也能让画图、剪辑、玩游戏的软件通过 Metal(苹果家的图形接口,软件靠它指挥显卡干活)调用这块卡。

官方说支持的显卡是 Turing 架构(英伟达 2018 年之后的一代核心代号)及以后的型号,包括 GTX 16、RTX 20/30/40/50、TITAN RTX 和一部分 Quadro/RTX 专业卡。这里有一句很重要的提醒:能列进支持表,不等于在你的机器上一定能跑起来。文档里说明确实测过的只有 RTX 5060,系统是 macOS 15.7.x 和 15.8.1。

功能方面,文档里提到的有 Metal 3 的部分高级能力(argument buffers 二级、光线追踪、mesh shader 网格着色器、MPS、MetalFX 路径),还有通过苹果自家的 GL-on-Metal 转出来的 OpenGL,以及 OpenCL、Core Image、Core ML。

它内部的流程,文档给了一条链子:Metal 程序 → NVMTLDriver.bundle → 翻译器(把苹果的 AIR 转成 SPIR-V)→ NVK(Mesa 的 Vulkan 加 NAK 编译器)→ 内核扩展 → 显卡。翻成大白话就是:苹果格式的图形指令,被一层一层翻译成 N 卡听得懂的话,再交给显卡。

它解决什么问题(举个例子)

假设你有一台老款英特尔 iMac,或者自己配了一台带 RTX 3060 的机器,折腾着装上了 macOS 15。开机之后你会发现:分辨率怪怪的,鼠标拖窗口一顿一顿,打开个视频网站风扇就开始叫。因为系统没有这块卡的驱动,只能拿 CPU 去顶图形活儿。

装上这个驱动之后,负责合成整个桌面画面的 WindowServer 就能走显卡了,桌面动画、视频播放这些都会落到 GPU 上。

另一个实际问题是"装坏了怎么退回去"。文档里说,1401 这个 Mac App 会在改 OpenCore 配置之前先做备份,还会往 OpenCore 的启动菜单里加一项叫「1401: Remove NVIDIA driver」的入口。哪天不想用了,选这一项,下次开机它会把驱动卸掉,系统恢复成装之前的样子,然后自己重启。这个设计对新手很友好,等于给你留了一条退路。

小白怎么用起来(照抄就行)

前提:你的电脑现在必须已经能用 OpenCore(一套让普通 PC 引导 macOS 的引导程序)正常启动 macOS 15。如果现在还启动不了,文档建议先去把 OpenCore 装好,再回来装这个驱动。

推荐路线:用 1401 图形 App(最简单)

  1. 打开项目的 Releases(发行版下载页),下载最新的 1401-Mac-<版本号>.dmg。
  2. 双击打开这个磁盘映像,运行里面的 1401。驱动安装包就在这个映像里,不用另外下载。
  3. 按它的步骤一步步走。它每一处改动都会先给你看,还会先把 OpenCore 配置备份好。
  4. 全程把你启动 Mac 的那根 U 盘或那块硬盘插着,那才是它要改的配置。装完重启前也别拔。
  5. 装完重启。第一次带驱动启动时,画面会在「PCI configuration end」这里停最多一分钟,然后显卡才会起来,别急着强制关机。

命令行路线(下载预编译包)

tar -xzf nullmoth-nvidia-*.tar.gz && cd pkgroot
shasum -a 256 -c SHA256SUMS          # 每个文件都必须显示 OK
sudo ./install.sh                    # 复制文件,重建辅助内核集合
sudo shutdown -r now                 # 必须重启,注销不会加载驱动

第一次装完,macOS 会在「系统设置 → 隐私与安全性」里问你要不要允许这些扩展,允许之后再重启一次。

重启后验证

kmutil showloaded --list-only | grep nullmoth      # 应该出现 4 行
system_profiler SPDisplaysDataType | head -20      # 应该能看到你的 GeForce,Metal: supported

卸载

sudo ./uninstall.sh && sudo shutdown -r now

OpenCore 里还要配的几项(文档里列的,改配置对新手有点难度):NVRAM 里加 csr-active-config 值为 <430A0000>,boot-args 填 nvfb=1 nvaccel=1 nvfbheads=4 -nvkmsnosmooth amfi_get_out_of_my_way=0x1 amfi=0x80;ResizeGpuBars 设 13,ResizeAppleGpuBars 设 -1;在 Kernel → Block 里把 com.apple.iokit.IONDRVSupport 用 Exclude 策略挡掉;SecureBootModel 设 Disabled。BIOS 里要开 Above 4G Decoding、关 CSM。SMBIOS(机型标识)用文档实测过的 iMacPro1,1。另外要把 nv_disable=1、WhateverGreen 的 NVIDIA 补丁、agdpmod=pikera 都删掉。

你需要什么基础

要不要会编程:不需要。走 1401 App 那条路,全程点鼠标。走命令行那条路,也就是复制粘贴上面那几行命令。真正的门槛在 OpenCore 配置那一步,要会改配置文件,这是唯一需要花时间学的地方。

要不要买服务器:完全不用。这东西就是装在你自己那台带 N 卡的电脑上,不涉及任何云端服务。

大概多久能跑起来:如果你的机器现在已经有能正常启动的 OpenCore,装驱动加上重启,大概十几分钟到一小时(第一次启动会卡在 PCI configuration end 最多一分钟)。如果 OpenCore 都还没弄好,那要先花时间搞 OpenCore,这一步没有固定时长。另外文档说,首次开机在 System Settings 里允许扩展之后,还要再重启一次。

适合谁 / 不适合谁

适合:手里有 NVIDIA Turing 及以后显卡(比如 RTX 20/30/40/50 系列)的英特尔 Mac 用户,或者玩黑苹果、愿意折腾 OpenCore 配置的人;只是想自己用、做研究或者学习的人;以及希望有"一键卸干净"退路的谨慎用户。

不适合:用苹果 M 系列芯片 Mac 的人,文档里写的是英特尔 Mac 和 OpenCore 系统,架构是 x86_64;想靠它挣钱的人,许可证写明免费使用、可以看源码,但不许卖、不许拿来赚钱;没有 NVIDIA 显卡的人;连 OpenCore 都还没跑起来的新手,文档建议先把 OpenCore 弄好再装驱动;以及完全不想折腾的人,因为文档自己就说了,这驱动很新,可能不是每台电脑都能用。

还有一点值得留意:这个项目在 GitHub 上的许可证字段显示的是 NOASSERTION(没能自动识别),但 README 里写明主体部分用的是 PolyForm Noncommercial 1.0.0,翻译器部分是 LGPL-3.0-or-later,NVK 部分是对 Mesa 的修改(MIT),显卡固件是英伟达自己的可再分发固件许可。商用之前务必自己看清楚。

⚠️ 以上信息整理自项目官方仓库,使用前请自行确认许可证与安全风险。

项目地址:https://github.com/nullmoth/nvidia-macos-driver

← 回首页