watchthelight labs

Releases

2.4.3-nvgfx.1

2.4.3-nvgfx.1 · 2026-10-20

The fork's 44 changes rebased onto NullMoth 2.4.3 (branch nvgfx-2.4.3). Upstream 2.4.3 brought its own fix for the thread_call pile-up (#295: every framebuffer callback runs one at a time) and merged PR 294 (the AIR digest kept on the translated text), so the plugin is byte-identical to 2.4.1-nvgfx.1 and the framebuffer carries upstream's change under the fork's present path. New in NVRM: the boot hold no longer lets WindowServer in while the card is still coming up (the settle + 40 s cap used to fire mid bring-up on this laptop's slow GSP boots and left the desktop on software rendering); it now waits in 10 s steps while go(2) runs, up to nvrmholdcap= (default 120), and logs how long go(2) took. The 115 W TGP mode follows the charger again. Built with Command Line Tools 26.6 against the 15.5 SDK. Booted on the Legion 5 15IAX10 (RTX 5070 Laptop, macOS 26.7.1 25G241) on 2026-10-20: a 35 s bring-up armed under the new cap, Metal 3, 165 Hz. No package attached: build with build/nvgfx and package.sh against NullMoth's 2.4.3 pkgroot.

2.4.1-nvgfx.1

2.4.1-nvgfx.1 · 2026-10-20

The fork's 36 changes rebased onto NullMoth 2.4.1 (branch nvgfx-2.4.1). Two commits for the new base: the fork's own _PSR power-source answer is dropped, since 2.4.1 reads the battery service itself, and the build links upstream's new nv_xnu_power.cpp (without it NVRM had two undefined symbols). Built with Command Line Tools 26.6 against the 15.5 SDK; NVRMFB and NVAccel came out byte-identical to the 2.3.7-nvgfx.1 binaries. Booted on the Legion 5 15IAX10 (RTX 5070 Laptop, macOS 26.7.1 25G241) on 2026-10-19: Metal, 165 Hz, the 115 W TGP mode and the GPU firmware's new power-source report all present. No package attached: build with build/nvgfx and package.sh against NullMoth's 2.4.1 pkgroot, as the README says.

Known regression in this tag, fixed in the next: the TGP mode no longer switches off when the charger is unplugged (the 5 s poll reads 2.4.1's cached power source).

2.3.5-nvgfx.3

2.3.5-nvgfx.3 · 2026-10-18

Same plugin, translator and firmware as 2.3.5-nvgfx.2; NVRM rebuilt with upstream pull request 273 by Liang Shuang (nullmoth/nvidia-macos-driver#273, fix for issue 221), carried here ahead of its merge. NVKMS used to reject every mode where the desktop is scaled to the panel, because the window scaler caps are zero on these GPUs; the patch keeps the primary layer 1:1 and scales at the head viewport, so scaled resolutions stop bouncing back. Compared against the shipped 2.3.5 NVRM, only NvKmsKapiLayerConfigToKms changed (693 to 717 instructions). Tested on the Legion 5 15IAX10 (RTX 5070 Laptop, macOS 26.7.1), boot N-132: desktop, 115 W, 1600x1000 and 2048x1280 held and reverted on request where they used to bounce back within three seconds. Package SHA256SUMS sha256 c53afc81d6ec09628403d69908cbdf5b24148a1cafeb779ba0b788f29b12e319.

2.3.5-nvgfx.2

2.3.5-nvgfx.2 · 2026-10-18

Second package on the NullMoth 2.3.5 base; same NVRM (power glue, 115 W), translator, NVRMFB, NVAccel, NVRMAGDC and NVK as 2.3.5-nvgfx.1, plugin with two fixes. The Dock badge digit: CoreAnimation creates the badge text texture with a full mip chain, uploads only level 0 and samples it trilinear, so on this driver the minified draw read empty levels and the digit never showed. The plugin now fills the never-written levels of a mipmapped 8-bit texture from its level-0 upload (box filter per level for replaceRegion, GPU mip generation after a buffer-to-texture copy); any explicit higher-level write or generateMipmaps call switches that off for the texture. Second fix: the sampler a shader gets at a slot nothing was bound to reads level 0 only. Built with build/nvgfx/package.sh from the 2.3.5 release pkgroot. Tested on the Legion 5 15IAX10 (RTX 5070 Laptop, macOS 26.7.1), boot N-131: desktop, badge digits render, a8rt 17 ok, 115 W. Package SHA256SUMS sha256 65259b5c97d50632095e44e2935d74c184bcbca4a32a8c222820c69d0dc2d230.

2.3.5-nvgfx.1

2.3.5-nvgfx.1 · 2026-10-17

First package on the NullMoth 2.3.5 base. Upstream 2.3.5 NVRMFB, NVAccel, NVRMAGDC and NVK as shipped; NVRM rebuilt from 2.3.5 source with the power glue (115 W nvrmtgp, nvrmgps/nvrmnvpcf, nvrmphysctl); plugin with the WindowServer shader-cache fallback, the A8 render-target fix and zeroed color reads with framebuffer fetch off; translator with the A8 fix. Built with build/nvgfx/package.sh from the 2.3.5 release pkgroot. Tested on the Legion 5 15IAX10 (RTX 5070 Laptop, macOS 26.7.1), boot N-112: desktop, Metal self-test 16/16, legacy window capture restored, 115 W. Package SHA256SUMS sha256 28235da0b7eeaf63d829f3522eb699df9ce1f7f742646484f58b5e2928c178eb.