资讯动态

Dell G3 3590 黑苹果实战:OpenCore 1.0.8 + NullMoth 驱动让 GTX 1660 跑起 Metal

发布时间:2026/10/15 8:35:33 来源:尧图企业网站定制
Dell G3 3590 黑苹果实战OpenCore 1.0.8 NullMoth 驱动让 GTX 1660 跑起 Metal一句话总结把一份 2022 年的 OpenCore 0.8.7 EFI 迁到 1.0.8按驱动安装脚本的权威清单逐项改config.plist最终ocvalidate零问题、自建 63 项审计全过。但 GTX 1660 笔记本 Optimus 是整条链路上最没被验证过的一段 —— 本文把前提、改法、坑全部摊开不藏结果。平台Dell G3 3590十代 Intel 酷睿 UHD 630 核显 NVIDIA GTX 1660 系列引导OpenCore 1.0.8驱动NullMothnvidia-macos-driverv1.14.2系统macOS 15 Sequoia只支持这一个版本目录一、先把事实核查做掉NullMoth 是不是噱头二、驱动架构Metal 请求是怎么落到 NVIDIA 卡上的三、目标硬件与可行性判断四、动手前必须知道的三个前提五、OpenCore 0.8.7 → 1.0.8 迁移做了什么六、config.plist 的 12 处改动七、kext 刷新清单21 个八、校验方法论ocvalidate 不够得自己审九、两个还没解决的坑一、先把事实核查做掉NullMoth 是不是噱头社区里传的版本是「NullMoth 在 GitHub 发布了开源项目 nvidia-macos-driver通过 OpenCore 引导成功让 NVIDIA RTX 系列显卡在 macOS 15 Sequoia 上启用 Metal 硬件加速。」结论是真的但有三个重要限定。核查项结果项目是否真实存在是源码 1030 个文件、约 19.7 MB授权PolyForm Noncommercial—— 免费但不能商用是否开源是含 Rust 编写的 AIR→SPIR-V 翻译器实测环境RTX 5060 / macOS 15.7.x 与 15.8.1支持系统仅 macOS 15 Sequoia不是 Ventura 也不是 TahoeGTX 1660 状态设备表覆盖实机验证 Pending未验证生产可用性否—— 要关 SIP、关安全启动、放开 AMFI最后一条值得展开。驱动 README 原文把话说得很清楚A Metal driver for NVIDIA Turing-and-later cards … runningmacOS 15 Sequoia也就是说这不是一个「装上就能用」的日常方案。它要求你主动削弱系统的三层安全机制来换取一个尚未在目标硬件上验证过的图形栈。要上车先接受这个交换。二、驱动架构Metal 请求是怎么落到 NVIDIA 卡上的这部分是整个项目最值得读的地方。macOS 的图形栈是封闭的Apple 从来没给过第三方 Metal 后端的官方接口。NullMoth 的做法不是「逆向 Metal」而是搭一座桥Metal 应用 │ ▼ NVMTLDriver.bundle ← 驱动提供的 Metal 实现被 WindowServer 动态加载 │ ▼ AIR → SPIR-V 翻译器 ← Rust 实现把 Apple 的 AIR 中间码翻成 SPIR-V │ ▼ Mesa NVKVulkan NAK ← 开源的 Vulkan 驱动 NVIDIA 汇编器 │ ▼ 内核扩展NVRM / NVAccel / NVRMFB / NVRMAGDC │ ▼ GPU内核态跑的是NVIDIA 官方开源 GPU 内核模块 r610加 GSP 固件。用户态的 Metal→SPIR-V 翻译走 Mesa NVK。这套路径决定了它对系统的几个硬性要求也解释了后面config.plist里那些看着很怪的 boot-args必须放开 AMFI。NVMTLDriver.bundle是 ad-hoc 签名的macOS 的 AMFI 会拒绝加载未签名驱动包。WindowServer 才能加载它。这就是为什么需要AMFIPass.kextLilu 插件—— 它给特定进程开后门。四个内核扩展必须装进/Library/Extensions绝对不要再从EFI/OC/Kexts注入一遍因为它们链接的是 macOS 自带内核集合里的框架。顺带说一个坑AMFI 放开之后Firefox 这类做了硬化的应用会在启动时崩溃。解药是ipc_control_port_options0。三、目标硬件与可行性判断Dell G3 3590 是台 2020 年的游戏本十代 Intel 酷睿 UHD 630 核显 NVIDIA GTX 1660 系列独显。原厂 EFI 是 2022 年 12 月给macOS Ventura做的使用 OpenCore0.8.7。可行性结论分三层核显没问题。UHD 630 是 Comet Lake在 macOS 15 支持范围内。Skylake 那代需要注意Apple 在 Ventura 之后砍掉了 Skylake 核显 kext但 Kaby Lake 的还在WhateverGreen v1.6.1 会自动把 SKL 伪装成 KBL十代不在这个问题里。独显驱动能装能不能亮是另一回事。见第四节第 3 条。系统版本必须 Sequoia。驱动只支持 15。如果你原来在 Ventura这份 EFI 的 kext 更新同样兼容 Ventura但 NullMoth 驱动装不上。反过来想从 Ventura 升到 Sequoia那就直接用这份重做过的。四、动手前必须知道的三个前提1. 这个驱动只支持 macOS 15 Sequoia别再问「能不能在 Ventura / Sonoma / Tahoe 上用」。README 写死了。要在 Tahoe 上折腾等驱动的下一个大版本。2. GTX 1660 是「设备表覆盖」不是「实机验证」驱动的docs/CARD-SUPPORT.md家族设备表覆盖本版本的实机验证状态TuringGTX 1650/1660、RTX 20、TITAN RTX、Quadro T1000/RTX是Pending未验证Ampere / Ada是PendingBlackwellRTX 50是RTX 5060 自动化通过GTX 1660 系列是TU116PCI ID 落在2180–21FF段在设备表里但 NullMoth没在 Turing 卡上做过物理验证。装它的人确实是第一批吃螃蟹的。3. ⚠️ 笔记本没有独显直连Optimus MUX这是硬伤这条最容易让人白忙一晚。驱动文档原文A laptop also needs a display/output route the NVIDIA card can drive;accepting its PCI ID does not implement an Optimus display mux.Dell G3 3590 是无 MUX 的 Optimus 机型内屏物理上接在 Intel UHD 630 上没接到 GTX 1660。驱动不可能点亮内屏。外接输出看主板走线HDMI 口通常接独显Type-C 的 DP Alt Mode 通常接核显。也就是说装好驱动后大概率只能靠 HDMI 口外接显示器才能看到 Metal 加速效果。这一点无法从 EFI 里读出来必须实测确认。预期管理即使驱动完美工作内屏上跑的仍然是 Intel 核显独显只能做无显示输出的计算或者驱动那台挂在独显上的外接屏。五、OpenCore 0.8.7 → 1.0.8 迁移做了什么不是替换几个 exe 就完事config.plist的架构在 0.9 / 1.0 之间变过。二进制替换逐个 SHA-256 比对确认来自 1.0.8 官方包BOOT/BOOTx64.efi OpenCore.efi Drivers/OpenCanopy.efi OpenHfsPlus.efi OpenRuntime.efi Drivers/ResetNvramEntry.efi ToggleSipEntry.efi Tools/ x15config 架构迁移以 1.0.8 官方Docs/Sample.plist为基准同步键结构新增 14 个键删除 1 个Misc.Serial.Custom1.0.x 已移除Kernel.Block补Strategy键1.0.x 必需值为ExcludeUEFI.Drivers5 条各补HideVerbose键删掉迁移时误带入的 Sample 占位项PciRoot(0x0)/Pci(0x1b,0x0)它的layout-id01会和本机声卡的layout-id0x15打架主题资源OpenCore 1.0.8 官方包的Resources/是空的不含主题所以完整保留原 EFI 的Resources/。另外补一件事原包的Image/Acidanthera/基础图标集是缺的只有.gitkeepSyrah 变体又少 4 个图标OpenCore.icns、Apple.icns、ResetNVRAM.icns、ToggleSIP.icns—— 从Image/Dark/复制了 78 个图标补齐。不补的话选择器图标会显示空白。六、config.plist 的 12 处改动改造依据不是 README 猜的是驱动自己的安装脚本nullmoth-setup.sh1401 图形界面在安装时执行的那个 root 脚本。这是驱动要求的权威清单比文档更完整 —— 里面甚至写了 SIG 判断逻辑和 kext 版本的 SHA-256 钉死值。6.1 NVRAM boot-args在原有一串后面追加nvfb1 nvaccel1 nvfbheads4 -nvkmsnosmooth amfi_get_out_of_my_way0x1 amfi0x80 ipc_control_port_options0 nvrmsettle10000 -nvrmnoflip参数作用nvfb1 nvaccel1 nvfbheads4打开 NVRMFB 帧缓冲 NVAccel 加速器4 个显示头-nvkmsnosmooth关掉 NVKMS 平滑amfi_get_out_of_my_way0x1amfi0x80放开 AMFI让 WindowServer 能加载未签名的驱动 bundleipc_control_port_options0AMFI 放开后 Firefox 等硬化应用启动即崩这条是解药nvrmsettle10000Turing 专属。GTX 16/RTX 20 固件需要更长就绪时间不加会在AppleKeyStore死循环-nvrmnoflip桌面画在核显上的机器走拷贝路径避免开机一分钟后黑屏只剩光标Turing 判定逻辑脚本原文case$NVDEVin1[eEfF]??|21[89a-fA-F]?)TURING1;;*)TURING0;;esac[$TURING1]WANT_ARGS$WANT_ARGSnvrmsettle10000GTX 1660 是 TU116PCI ID 落在21xx段命中21[89a-fA-F]?所以TURING1nvrmsettle10000必须加。最后一条-nvrmnoflip是笔记本特有的桌面画在 Intel 核显上独显只做计算NVKMS 走 flip 路径会导致开机一分钟后黑屏。6.2 必须不存在的三个参数nv_disable1 -wegnoegpu agdpmodpikera这三个会屏蔽独显一条都不能留。6.3 csr-active-config 与 NVRAM.Deletecsr-active-config保持0x0FFFff0f0000没动。驱动要求0x0A43而0x0FFF是它的超集0x0A43 untrusted kexts (bit0) | unrestricted FS (bit1) | unrestricted NVRAM (bit6) | any recovery (bit9) | unapproved kexts (bit11) 0x0FFF 是 0x0A43 的超集脚本逻辑是SIP 现有 | 0x0A43只加不减所以原样保留。NVRAM.Delete增加csr-active-config原来只有boot-args—— 驱动要求这两项每次开机都重写。6.4 Quirks / Security项原值新值原因UEFI.Quirks.ResizeGpuBars-1138 GB BAR1满带宽。13表示 2¹³ MB 8 GBBooter.Quirks.ResizeAppleGpuBars-1-1未变macOS 看到完整 BARBooter.Quirks.AllowRelocationBlockfalsetrue驱动要求Misc.Security.SecureBootModelDefaultDisabledApple 安全启动会拒绝非 Apple 签名的 kext⚠️ResizeGpuBars13和装 macOS 时用的值相反。装系统时没有 NVIDIA 驱动要跑在固件屏上必须是ResizeAppleGpuBars0/ResizeGpuBars-1/不排除IONDRVSupport。装完驱动后才切到上表的值。1401 会自动切换手工装的话别忘了切回去否则装完黑屏。6.5 Kernel.Block 新增一条原 EFI 完全没有Kernel.BlockIdentifier: com.apple.iokit.IONDRVSupport Strategy: Exclude不加这条固件帧缓冲会抢占 display index 0NVRMFB 就上不了位。6.6 Kernel.Add动作条目说明关掉AirportItlwm.kext上游最新只到 Sonoma 14.4没有 macOS 15 版本新增IntelBTPatcher.kextmacOS 12 的 Intel 蓝牙必须和IntelBluetoothFirmware搭配新增RestrictEvents.kext装上了但默认关闭。只在桌面级 SMBIOSMacPro7,1配revpatch时才需要kext 加载顺序上Lilu.kext必须第一、AMFIPass.kext紧跟其后。驱动脚本里有一条硬校验[-n$ap][-n$lp][$ap-lt$lp]stopAMFIPass.kext loads before Lilu.kext ...6.7 ACPI三处屏蔽独显的开关要关掉SSDT-dGPU-Off.aml→Enabled false原来开着ACPI.Patch 里_WAK to ZWAK、_PTS to ZPTS→Enabled false原来开着这三处是原 EFI故意屏蔽独显用的不关掉驱动永远看不到 GTX 1660。SSDT-USTP→XSTP、BRT6→BRTX两条改名保留不动和显卡无关。6.8 SMBIOS不改但不能照抄驱动文档建议用iMacPro1,1或新版建议MacPro7,1但那是台式机的建议。笔记本换 SMBIOS 会连带搞坏核显缓冲帧、背光、电源管理和 iCloud 登录所以保持MacBookPro16,4。驱动要的只是「一个能跑 macOS 15 的机型」MacBookPro16,4满足。这是本文唯一一处「照抄我的配置可能对你不利」的地方 —— SMBIOS 机型跟着你的核显走不要盲抄。七、kext 刷新清单21 个原 EFI 的 kext 全是 **Ventura 时代2022 年底**的在 macOS 15 上大多加载不了或行为异常。全部换新kext原版本新版本备注Lilu1.6.21.7.3 驱动安装器钉死版本AMFIPass❌ 缺失1.4.1 钉死版本。原包 config 引用了它但文件根本不存在USBToolBox1.1.11.2.0 钉死版本VirtualSMC1.3.01.3.85 个插件一并更新WhateverGreen1.6.21.7.1核显缓冲帧 背光AppleALC1.7.71.9.8声卡NVMeFix1.1.01.1.3CPUFriend1.2.61.3.0VoodooI2C2.72.9.1触控板VoodooI2CHID11VoodooPS2Controller2.3.22.3.7键盘BlueToolFixup2.6.12.7.2IntelBluetoothFirmware2.2.02.4.0RealtekRTL81112.4.23.0.4有线网卡IntelBTPatcher❌ 缺失2.4.0新增RestrictEvents—1.1.7新增默认关闭CPUFriendDataProvider / DisableTurboBoost / VerbStub / UTBMap—原样保留这四个是机器专属数据不能换AirportItlwm2.1.0保留原文件config 里关闭上游死结见第九节 NullMoth 安装器里带 SHA-256 钉死的版本Lilu-1.7.3-RELEASE.zip 261aebb9dc83adb6515c96405653f53c3c50b09c89babdb91fb41f7b33a1cd2a AMFIPass-v1.4.1-RELEASE.zip 07b266145906db41f4b13a7938fbb173ea28888cc1fa65f84417f8820adc961e USBToolBox-1.2.0-RELEASE.zip c315a3a5acfd496dd97d0d19b4fbd1d487103d2fd541c5651583d4c9cebcfe07注意Lilu 官方最新 release 是 1.7.2驱动钉的是 dortania build-repo 的1.7.3RestrictEvents 同理官方 1.1.6 / 驱动钉 1.1.7。以驱动的钉死版本为准因为驱动是照它测试的。另外删掉了一个顶层VoodooInput.kext1.1.2—— 它没被 config 引用而且和VoodooI2C.kext/Contents/PlugIns/VoodooInput.kext的 bundle ID 重复。八、校验方法论ocvalidate 不够得自己审ocvalidate是权威工具但它只查 config 是否符合 OpenCore 的 schema不查你的配置是否满足驱动的需求。两边都得要。8.1 ocvalidate官方ocvalidate config.plistNOTE: This version of ocvalidate is only compatible with OpenCore version 1.0.8! Completed validating config.plist in 1 ms. No issues found.迁移过程中它抓到了 6 个问题都是 1.0.x 新增的必需键Missing key Strategy x1 (Kernel.Block) Missing key HideVerbose x5 (UEFI.Drivers)8.2 自建 63 项审计因为 ocvalidate 不知道驱动要求什么所以写了一个审计脚本把nullmoth-setup.sh里的每一条硬要求翻成断言分区查什么A7 个二进制的 SHA-256 是否真来自 OpenCore 1.0.8 官方包Bocvalidate输出C9 个 boot-arg 是否在、3 个禁用参数是否已消失、SIP 位、NVRAM.DeleteD4 个 Quirks / Security 项EKernel.Block的 IONDRVSupport 用了Exclude策略FLilu 第一、AMFIPass 第二、所有 BundlePath 都能在磁盘上解析G16 个 kext 的实际版本读Info.plist的CFBundleShortVersionString不是信配置文件HSMBIOS 四项IdGPU-Off 与两条 ACPI 改名已关闭最终63 PASS / 0 FAIL。8.3 字节级完整性另生成EFI-SHA256SUMS.txt覆盖 EFI 内每个文件sha256sum --ignore-missing-cEFI-SHA256SUMS.txt372 个文件全部通过。九、两个还没解决的坑1. Intel 无线网卡在 macOS 15 上无解上游问题OpenIntelWireless 的AirportItlwm最新 release 是 v2.3.02024-06-09最高只到Sonoma 14.4没有 Sequoia 版本AirportItlwm_v2.3.0_stable_Ventura.kext.zip 15,110,181 AirportItlwm_v2.3.0_stable_Sonoma14.0.kext.zip 15,120,535 AirportItlwm_v2.3.0_stable_Sonoma14.4.kext.zip 15,205,597 - 最新没有 15.x itlwm_v2.3.0_stable.kext.zip 15,094,333所以只能把AirportItlwm.kext在 config 里关掉文件保留随时可翻回来。两条路推荐itlwm.kextv2.3.0 HeliPortapp。它是IOEthernetController实现不依赖 Apple 私有的IO80211Family跨版本稳定。代价Wi-Fi 显示成一块网卡需要用 HeliPort 连网没有原生菜单栏 Wi-Fi、没有 AirDrop/接力。实验性第三方分支zhangcheng142/AirportItlwm-Sequoia原生接口但是个人 fork、beta、只支持 WPA2-Personal。在 kext 里跑第三方内核代码有风险自行权衡。原 EFI 的 README 本来也写着「❌ 无线网卡使用 usb 网卡代替」—— 所以对这台机器大概不是新问题继续用 USB 网卡即可。2. 蓝牙加了 IntelBTPatcher待验证macOS 12 以后官方要求IntelBluetoothFirmwareIntelBTPatcherBlueToolFixup三件套原配置只有两件。补上了。如果加完后蓝牙反而不工作把Kernel - Add里IntelBTPatcher.kext的Enabled改回false即可。参考NullMothnvidia-macos-drivergithub.com/nullmoth/nvidia-macos-driverDortania OpenCore Install GuideOpenCorePkg含macrecovery.pydocs/CARD-SUPPORT.md、docs/TROUBLESHOOTING.md驱动自带最权威镜像版权归 Apple Inc. 所有。本文仅整理公开可得的技术资料与实测记录。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑