Repository navigation
Releases: nullmoth/nvidia-macos-driver
Release list
1401 and NVIDIA driver 1.1.0
1401 and NVIDIA driver 1.1.0
Changes
- Pair framebuffer, allocation and accelerator interfaces so queued work cannot use a recycled allocation identity.
- Retain display backing until the replacement flip is latched; bound the surface cache and serialize display and allocation transactions.
- Query and reset the mapped NVIDIA flip notifier for each committed surface. Accept the initial console handoff without prematurely releasing its backing.
- A display request the GPU rejects (for example an unsupported cursor size) now fails only that request. Previously one rejected request could stop presentation and block every later resolution and refresh change until restart.
- Balance asynchronous callback references across scheduling, cancellation and shutdown.
- Move the Mac Send logs authorization dialog onto the main thread and show its authorization status. Retain local reports and exact-byte upload confirmations from the logging maintenance updates.
- Require startup-partition ownership evidence before internal EFI operations; remove the timestamp-only fallback.
- Windows: repair EFI Doctor panic parsing, retry recovery downloads and forced USB dismounts, handle duplicate kexts, improve firmware guidance and display scaling, and use verified dependency mirrors.
- Preserve signed recovery loading with SecureBootModel enabled.
- Allow bounded cold-start CIM queries to finish inside the existing hardware-worker timeout.
- Include matching 1.1.0 Mac companion and driver payload in the Windows bundle.
Validation
- macOS 15.8.1, RTX 5060, two physical displays: guarded reboot, refresh changes (60, 75 and 100 Hz) committed on the changed display with WindowServer running throughout, and a verified 4096-byte Metal buffer copy.
- Native allocation, callback and mapped completion tests with address/undefined-behavior sanitizers; paired kernel builds and macOS 15 auxiliary collection validation.
- Windows source and packaged startup, report lifecycle, native hardware capture and regression checks are recorded in VALIDATION.json.
- Public artifacts and source are scanned before publication; downloadable payloads have SHA-256 checksums.
Known issue
- With two displays connected, changing the refresh rate or resolution of one display can make the other display flash or go blank until the Mac is restarted. A fix is planned for 1.2.
Scope
This update installs the revised paired driver on macOS 15 only. Device-table coverage is broader than physical validation. RTX 5090, macOS 26, switching between integrated and discrete graphics, DRM and full Firefox/Blender/Geekbench behavior are not qualified by these checks. Optional DTrace capture and automatic internal EFI migration remain unavailable pending their separate security and runtime qualification. Existing compiler, GPU userland and firmware binaries are preserved; this is not a new direct machine-code compiler release.
1401 Mac 1.0.18
1401 Mac 1.0.18
This maintenance update retains diagnostic files locally after failed uploads. Every bounded collected file is saved into a private upload queue before networking; failed sends remain available after restart. Each send balances fresh crash/driver evidence with older pending files. A report is confirmed only after a successful HTTP response returns its exact SHA-256. Late replies cannot turn a timed-out send into success. Original setup reports are marked confirmed only when their saved bytes match.
Download/update failures, USB-map failures, setup launch errors and collection errors now leave explicit local evidence. Setup creates a saved record before asking for administrator authorization; if that record cannot be saved, setup does not start. Saving failures are shown instead of silently claiming a report exists. Open Logs finds the retained Reports folder, and Send logs retries pending files after another explicit confirmation.
Privileged collection and setup output are spooled in root-private temporary directories and imported by the unprivileged app. No privileged shell redirects into a user-controlled report file. The read-only log collector has a three-minute watchdog and reports partial collection or export failures. Root-private evidence is retained if export fails. Limits are explicit: collected files may be truncated at 512KiB, queued files at 2MiB, total queued bytes at 32MiB and files at 256; omitted originals stay local and a warning is shown.
The driver helper remains 1.0.11 and its GPU/kernel/compiler/firmware/removal files are unchanged. Automatic internal EFI copying and optional DTrace capture are not enabled by this release. No additional card, MUX, application, DRM or macOS 26 qualification is claimed. The disk image contains the app and instructions; the helper is a separate pinned download or is discovered on the installation stick.
Validation covers production file creation/append, byte-confirmed upload handling, queue restart/fairness/confirmation, malformed collector records, FIFO refusal, capture export faults, bounded collector process behavior, strict x86_64 signatures and package contents. The read-only capture path is tested on macOS 15 without installing a driver or changing EFI contents.
1401 Mac 1.0.17 and driver helper 1.0.11
1401 Mac 1.0.17
Driver helper 1.0.11 creates a unique recovery directory for every install, preventing recovery snapshots from being merged when two runs start in the same second. A guarded driver install now refuses overlapping cooperating installers before kernel-collection preflight and retains its guard if restoration cannot complete. Existing guards, symlinked parents, unexpected ownership, writable parents and unreviewed access-control entries stop the install for review; existing permissions and foreign files are preserved. If a guard directory identity changes during the install, cleanup retains its current path for review.
Backup failure output retains the component, command exit status and last 4096 bytes of error output. Backup refusal still stops before driver replacement. The installer guard covers the driver installer only; earlier OpenCore configuration changes made by the setup companion are outside it. This update does not establish the cause of an unlinked Tahoe backup report.
Automatic USB-to-internal EFI promotion remains disabled. Keep the startup OpenCore stick or disk attached for every restart. Optional DTrace capture remains unavailable; ordinary saved logs and explicit Send logs consent are unchanged.
All 47 protected GPU/kernel/compiler/firmware/removal files and the two runtime links remain byte-identical to helper 1.0.10. The existing NVIDIA userland runtime requires macOS 15.5 or later. This is an installer maintenance repair, with no new graphics, per-card, sleep, protected-playback or macOS 26 hardware qualification.
Validation: twenty isolated production-shell backup, overlap, parent ownership, directory replacement, copy failure and rollback checks pass. The fixture copies use only private temporary files; no live install or hardware workload is performed. Distribution builds are separately bound to reviewed source and checked for signatures, versions, complete archive contents and hashes before publication.
1401 Mac 1.0.16 - preserve existing boot files
1401 for Mac 1.0.16 repairs a boot-file preservation defect in USB-to-internal OpenCore promotion. Earlier versions could replace the destination EFI tree and remove active Windows or vendor boot files; a backup did not keep those paths active.
Automatic copying onto another EFI partition is now disabled. Driver installation continues on the verified or explicitly selected startup OpenCore partition. If the machine starts from a USB stick, keep it attached for every restart until the internal boot setup is separately reviewed. This update does not restore boot files already removed by an earlier installation.
The expanded hardware logs, explicit log-submission consent and installer checks from 1.0.15 remain. Optional DTrace capture remains unavailable. The obsolete Tahoe preparation action is removed.
Validation: eight production-segment no-write cases, three startup-partition ownership cases, six runtime compatibility cases and twenty removal cases pass. The companion builds for x86_64/macOS 15.0 and passes strict bundle and individual executable signatures. Final ZIP and read-only DMG contents match the built app.
Driver helper package 1.0.10 is unchanged, including all 47 protected GPU/kernel/compiler/firmware/removal files and both runtime links. Its NVIDIA runtime requires macOS 15.5 or later. Version 1.1 remains held for unresolved application graphics, protected playback and per-card qualification. No full RTX 5090 or macOS 26 support is claimed.
1401 Mac 1.0.15 - installation preservation review
Installation notice: Do not use the USB-to-internal OpenCore promotion path in this version or earlier versions. A preservation defect can remove existing Windows and vendor boot files from the active destination EFI partition; a backup alone does not keep Windows bootable. A corrected installer is being validated. This version is marked prerelease pending replacement. Existing hardware-log evidence does not qualify this installation path.
1401 for Mac 1.0.15 adds a bounded hardware map to support logs: registry and HID collection observations, CPU counts, anonymous audio channel and sample-rate descriptors, and reported display modes. Completed registry and CPU data survive optional metadata queries that time out or fail. These observations describe driver-reported state; functional hardware qualification remains specific to each system.
Each log submission uses a fresh temporary batch value shared by that submission's files. The optional diagnostics check reports prerequisites only. Trace capture is unavailable in this version; ordinary support log collection remains available.
The companion requires macOS 15.0 or later. Driver helper package 1.0.10 checks actual payload load-command compatibility before installation; the NVIDIA runtime requires macOS 15.5 or later. All 47 protected GPU, kernel, firmware, compiler and removal files, plus both runtime links, remain unchanged from package 1.0.9. Existing hardware and operating-system qualification boundaries remain unchanged.
Validation: the integrated app and archive pass strict bundle signature verification. Hardware-map metadata, privacy, checkpoint and failure-handling tests pass, including 251 optimized AddressSanitizer assertions and 24 owned-child checkpoint cases. Optional trace capture remains unqualified and disabled.
Additional companion and installer changes:
- Removed the obsolete Tahoe preparation action.
- Require a verified startup OpenCore partition or explicit partition selection; shared machine-model labels no longer choose the installation target.
- Individually sign the bundled runtime compatibility checker.
The 1.1 graphics and per-system functional qualification work remains separate.
1401 for Mac 1.0.14
Installation preservation notice: avoid USB-to-internal OpenCore promotion in the bundled Mac companion. This path can remove existing Windows/vendor boot files from the active destination EFI partition. A corrected companion is being validated. Do not use that path until the replacement is available.
1401 for Mac 1.0.14 prevents an attached Windows setup profile from selecting board or chipset rules for the wrong machine. Mounted profiles remain available as diagnostic evidence; live GPU, CPU and platform properties continue to select rules.
Validation: compiled profile-selection tests passed, including unrelated profiles with matching CPU/GPU names and multiple attached profiles. The packaged app and extracted ZIP passed strict signature verification and scan checks.
The driver package remains version 1.0.9 with unchanged GPU binaries. This maintenance release does not qualify additional cards, laptop display routing or macOS 26.
1401 Mac 1.0.13 (driver package 1.0.9)
1401 Mac 1.0.13 / driver package 1.0.9
This maintenance release fixes installation, updating, removal and USB-map handling. The NVIDIA kernel extensions, Metal plugin, shader translator, Vulkan backend and firmware match driver 1.0.8. New GPU qualification and graphics feature work remain pending for 1.1.
Changes
- Validate the package manifest, both OS-specific accelerator variants and exact kernel-extension identifiers before installation.
- Build and inspect a staged kernel collection before publishing it. Restore the previous installation if a later install step fails.
- Use the app's audited installer while keeping the downloaded package and its checksum unchanged.
- Check the recorded OpenCore partition, configuration and backup before removal. Preserve unrelated configuration edits and shared AMFI flags unless the install record establishes ownership; carry that ownership across verified upgrades. Keep recovery available until removal completes.
- Rebuild recovery from the current extension repository, preserving other drivers. Refuse incompatible backup collections and retain the recovery trigger after failure.
- Clear stale installed-version records and driver-owned update-parking entries during successful removal.
- Recognize two-part releases such as 1.1 and 1.11, with numeric version ordering. Reset failed download controls so an update can be retried.
- Identify USB controllers by their registry paths, preserve sparse port numbers, enforce the 15-port selection limit and reject stale or invalid selections.
- Keep USB scan results on the main queue and discard results from superseded scans.
- Restrict Tahoe preparation to macOS 15, and recover stale preparation state instead of waiting for an impossible second major-version change.
- Include installed-component fingerprints and processor information in explicitly requested logs. Include recent Firefox, plugin-container and Blender crash reports; paths and identifying information are redacted.
Validation
- 6 installer rollback and integrity tests, 20 removal/preflight tests, 15 recovery tests and 4 OS-update guard tests passed.
- Production Swift USB-map and version-parser checks passed; updater UI checks passed.
- The release app builds for x86_64 macOS 15 and passes signature and public-content checks. Live startup, updater discovery and USB-controller scanning passed on macOS 15.8.1.
- The exact driver package passed kernel-collection preflight on macOS 15.8.1 without changing the installed driver.
- The packaged NVIDIA binaries and firmware are unchanged from the verified 1.0.8 release asset.
Remaining work
This release does not qualify additional cards or complete Blender, Firefox, DRM, adjustable refresh rates, switchable graphics or macOS 26 support. Those items remain under investigation for 1.1. Existing boot-policy requirements remain in effect.
Use the DMG for the app and offline driver package together. The ZIP contains the app; the driver tarball is also available separately. Verify downloads against SHA256SUMS.txt.
1401 Mac 1.0.12 (driver 1.0.8)
1401 Mac 1.0.12 with NVIDIA driver 1.0.8
- Fixes "boot failure" stops at STOP 0x16 (boot.efi cannot place the kernel in memory) on some boards: the installer turns on OpenCore's AllowRelocationBlock, which is only used when it is needed.
- Driver package 1.0.8: same driver as 1.0.7, with tidied scripts and a fully signed NVIDIAShared bundle.
- "Update the driver" now installs newer driver releases correctly.
Download 1401-Mac-1.0.12.dmg (the driver package is inside), or update from the app.
1401 Mac 1.0.11 (driver 1.0.7)
1401 Mac 1.0.11 (NVIDIA driver 1.0.7, unchanged)
- Fixes for your exact machine: 1401 now reads which card generation, CPU, form factor and eGPU you have (and your PC's real board and chipset from the 1401 stick) and applies only the driver fixes that match that machine. The fixes it applied are saved and sent with your logs, so reports say exactly which system they came from.
- First per-machine fix: on GTX 16 and RTX 20/30/40 cards the hardware video encoder is switched off, so apps use Apple's software encoder instead of failing to encode (it works on RTX 50 only so far).
- Update the driver now installs newer driver versions correctly (1.0.10 would have refused a newer package at its checksum test).
Something not working? 1401 > Crash report > Send logs, then post the report ID in the NullMoth Discord.
SHA-256: see SHA256SUMS.txt
Driver 1.0.7 and 1401 Mac 1.0.10
Fixes from the logs people sent, plus one-click updates.
NVIDIA driver 1.0.7
- Two monitors: the second screen no longer jitters. Every lit display now runs on its own real vblank, not only the one that flips.
- GTX 16 and RTX 20 series (Turing): the graphics queue could not create its copy engine, so Metal never started (VK_ERROR_UNKNOWN). It now asks the card which copy engine belongs to its graphics engine, as NVIDIA's own driver does.
- RTX 50 series: keeps exactly the image sizes 1.0.5 used; the RTX 20/30/40 resolution-change fix from 1.0.6 stays for those cards.
- Everything from 1.0.6: removal that really removes, BAR1 resize capped at 8 GB, eGPU/Thunderbolt cards left in place.
- Tested on an RTX 5060 with two monitors (75 Hz + 60 Hz).
1401 Mac 1.0.10
- New Update the driver panel: checks for the newest driver release, downloads it, checks it against the SHA-256 published with it, and installs it the normal way (your OpenCore config is backed up first).
- Installs driver 1.0.7.
Known: Screen Sharing with "Both Displays" and scaling on shows a garbled picture; turn scaling off (View > Turn Scaling Off) until a fix lands.
Something not working? 1401 > Crash report > Send logs, then post the report ID in the NullMoth Discord.
SHA-256: see SHA256SUMS.txt