Driver unlock
More actions
| Proven 8 GB and 10 GB | |
| Driver | nvidia-open 610.43.02 / 610.43.03 / 610.57.04 / 615.71.09 / 615.71.10 / 615.78.08 |
|---|---|
| Unlock build | amoghmunikote/cmpunlocker v0.5 |
| Steps | Driver unlock |
| Source | link |
| Confirmations | Reproduced by @68x0 (both), 2026-10-04 · details |
cmpunlocker is the mainline unlock for the CMP 170HX, by Amogh Munikote (@_j3ns on Discord, GitHub
amoghmunikote). It is an installer plus a set of patches against NVIDIA's open GPU kernel modules; it rebuilds
nvidia.ko and friends so the card comes up with its real memory size, full SM compute throughput, PCIe
Gen2, ECC, BAR1, JTAG, profiling and VFIO passthrough. It is driver-side only: nothing is flashed, nothing is burned.
On the 8 GB card that is the whole story; the 10 GB card can go further with the RIR fuse burn.
Source: @globalapathy, 2026-10-18
Repository: amoghmunikote/cmpunlocker (GPL-2.0; patched NVIDIA files keep their MIT / dual notices). The current release is v0.5, released 2026-10-04 (64 GB, +4 SM, ECC). Source: @_j3ns, 2026-10-04
What it unlocks
Per the repo README, all marked Working:
- Full SM compute throughput (the SS0 / SS1 speed selectors)
- Memory geometry: 64 GB on the 8 GB card, 40 GB on the 10 GB card
- PCIe Gen2 (see Gen2 link retrain)
- ECC DRAM and SRAM
- Full BAR1 (64 GB) (credited to asm64-hooligan)
- JTAG (Host2Jtag register access)
- VFIO passthrough
- GPU profiling (credited to lesj0610)
- Persistence across reboot (the patched modules stay in place)
It does not unlock, on master as of commit 2c7e2ec (2026-10-27): PCIe Gen3/Gen4, the 10 GB card beyond 40 GB, more than 74 SM, or NVLink. The +4 SM step brings both cards to 74 SM; everything past that on the 10 GB card is the RIR path, not this repo. Source: @lia_oc, 2026-10-22
Requirements
- Linux x86-64, root.
- nvidia-open 610.xx.xx or newer already installed (libraries and firmware). Running
sudo ./NVIDIA-Linux-x86_64-610.43.03.run is enough; you do not build the stock kernel module from source
first. Source: @dottoreargus, 2026-10-06
- Kernel headers matching the running kernel.
- Secure Boot disabled (the patched modules are unsigned).
- Network access on first install (it downloads the matching stock
open-gpu-kernel-modulestarball). - Python 3 (used at build time to pick the 8 GB / 10 GB geometry).
Supported driver versions
driver/VERSION at master (2c7e2ec) lists: 615.78.08, 615.71.10, 615.71.09, 610.57.04, 610.43.03,
610.43.02. The installer refuses any other version. nvidia-open 615.71.09 was added in v0.4 and is the most widely
confirmed working version. Source: @xeax, 2026-10-06
615 series works fine on the 10 GB card. Source: @68x0, 2026-10-05
Is the unlock tied to 610.43.02-1, or does a 615.x driver also work? dagb asked this on 2026-10-23 and got no reply in
the thread; the list above is the answer: any version in driver/VERSION, 615.71.09 being the most confirmed.
Source: @da6b, 2026-10-23
Warning 615.78.08 breaks the unlock for several people. The install reports no errors, but the cards
fail to train PCIe Gen2 at boot and show up in lspci but not in nvidia-smi. Downgrading to
615.71.09 loaded the unlock on the first try. Source: @drew_2, 2026-10-10
The ECC tool failed on 615.78.08 and worked on 615.71.09 for two more people.
Source: @.henrykrinkle, 2026-10-20
Zagitta reported cmpunlocker not working on 615.78.08 and that the boot loader image changed in that release; Humvee55's
advice was to use the old booter. Source: @zagitta, 2026-10-17
Source: @zagitta, 2026-10-17
Source: @scallion_9883, 2026-10-17
Repo support for 615.78.08 was added to master on 2026-10-08.
Source: @_j3ns, 2026-10-08
Two other versions come up for specific setups. The Morrowmake fork's four-card P2P result was measured on
610.57.04. Source: repo github.com/Morrowmake/cmpunlocker by Morrowmake on GitHub, posted by @trustinter, 2026-10-07
Inside a VM that also holds other NVIDIA GPUs, 615.71.09 plus cmpunlocker made those GPUs hit
krcWatchdog: GPU is probably locked and wedged UVM, so the lab ported the v0.5 core patches to
580.178.04 (see Virtual machines and passthrough). Source: @darkmaniac7, 2026-10-21 (lab notes)
Install
From the repo (docs/INSTALLATION.md):
sudo ./install.sh
# force a profile if you want (geometry is still chosen per PCI ID):
sudo ./install.sh --profile=8gb # 8 GB card -> 64 GB
sudo ./install.sh --profile=10gb # 10 GB card -> 40 GB
Then a cold reboot (sudo shutdown -h now, then power on). Multi-GPU and mixed 8 GB + 10 GB systems
are handled in one install; each card is classified by PCI ID (10de:20c2 to 8 GB/64 GB,
10de:2082 to 10 GB/40 GB). Upgrading an existing install needs no uninstall: just rerun
./install.sh as root. Source: @phoenixone7, 2026-10-06
Other installer flags: --no-iommu (leave the kernel command line alone), --no-gen2-service
(skip the early-boot Gen2 link retrain unit), --no-passthrough (do not set the card up for VM
passthrough). By default the installer appends intel_iommu=on / amd_iommu=on plus
iommu=pt to the kernel command line and installs two boot-time services; it backs up the GRUB or
/etc/kernel/cmdline file first (<file>.cmpunlocker.bak). See
Kernel parameters and module options.
Verify
sudo ./verify.sh
nvidia-smi --query-gpu=pcie.link.gen.current,pcie.link.gen.max --format=csv # expect 2,2
sudo dmesg | grep SEC2_DEBUG
cat /proc/cmdline && ls /sys/class/iommu # IOMMU after reboot
verify.sh treats 60000 MiB or more as unlocked for an 8 GB card and 35000 to 59999 MiB for a 10 GB card.
An unlocked 8 GB card reports about 65024 MiB and roughly 1493 GB/s.
Source: @kio063218, 2026-10-16
How the patch works (reference)
The compute unlock re-fires the SEC2 Booter Load with an enlarged signature buffer to open privilege-mask (PLM)
registers during GSP bootstrap, then the host writes the speed selectors. Values from the patch set
(sec2-postbl-plm-ss-cfg.patch), useful when an agent needs the exact registers:
- SM speed select 0
0x0082381c = 0x88888888, SM speed select 10x00823820 = 0x00000008. - PLMs opened (to
0xffffffffunless noted): WPR_CFG0x001fa7cc = 0xfffff0ff, FBPA
0x009a0148, WPR0x001fa7c4, FEAT0x00823804, OPT0x008200fc, PJTAG0x0000c840.
- Memory geometry: FBPA CFG1
0x009a0204=0x02779000(8 GB) /0x02669000
(10 GB); MMU LMR0x00100ce0=0x0000020B(64 GB) /0x0000028A(40 GB).
The compute half survives a function-level reset; the memory geometry is re-applied every GSP boot, which is why the patched modules must be loaded each boot. Source: @rrickk420, 2026-08-22 (values cross-checked against Consensus-Protocol/cmp170hx and the cmpunlocker source.)
The 14-patch order in driver/build.sh is: sec2-postbl-plm-ss-cfg, booter-verify, late-pma,
bar0-pramin-clamp, ce-scrub-workarounds, persistent-sw-state, pcie-gen2, pcie-gen2-probe-retrain, name-string,
bar1-resize-unlock, cmp-sku-mask, ecc-enable, ecc-fbpa-static, ecc-reporting.
Known issues
- Reinstall after every kernel upgrade. The installer removes the nvidia DKMS modules, so a kernel update leaves
the card on the stock driver (reporting 8 GB) until you rerun ./install.sh. The
asm64 and Morrowmake forks add kernel-update hooks to avoid this.
- Mixed-GPU hosts: the installer auto-detects the profile from the first GPU in
nvidia-smiorder, so
always pass --profile= on a host that also has, say, an RTX 3080, or it picks the wrong geometry.
Source: @rrickk420, 2026-08-22
- Other GPUs vanish after install: mixing works but is picky. Pascal and older will not work; Turing (20-series)
and newer generally do; test it yourself. Source: @xeax, 2026-10-15
- Decode regression 0.4 to 0.5: one user dropped from 60-80 to 35 tok/s on Qwen 3.8 27B after moving to 0.5 and
suspected ECC; no ECC errors were in dmesg and the cause was not confirmed. Unresolved.
Source: @mowgli8628, 2026-10-18
- Debian 13 build error
fatal error: stdarg.h: No such file or directory(ViPiC, Debian 13.4
Trixie, kernel 6.12.113, nvidia-open 615.71.09, cmpunlocker commit 2d10f89). Fix: indriver/build.shsetKSRC="/lib/modules/${KVER}/source"andKSOUT="/lib/modules/${KVER}/build"and build with one linemake -j"${JOBS}" modules SYSSRC="${KSRC}" SYSOUT="${KSOUT}" CC="${CC_CMD}". The modules then compile. Source: @vipic, 2026-10-18 Themodule verification failed: signature and/or required key missing - tainting kernelline that came up in the same thread was answered by matstatman with "its alright"; xanthe_ first did not see it in his own dmesg, then found it there too. Source: @xanthefin, 2026-10-18
Source: @matstatman, 2026-10-18
Source: @xanthefin, 2026-10-18
- Compute hang in a passthrough VM was fixed by dropping
bar1-resize-unlock.patch; the full fix is on
Resizable BAR and BAR1 64 GB. Source: @vipic, 2026-10-18
- Warning 615.78.08 can leave the cards off the bus (above); keep a known-good 615.71.09 to roll back.
Status
Released by the maintainer and reproduced live on master by others the same day, so the core unlock is Proven. See the confirmation below.
Sources
- Repo: amoghmunikote/cmpunlocker, posted by @globalapathy.
- RH-3D's v0.5 walkthrough video (8 GB, 64 GB + 4 SM + ECC): https://youtu.be/tFbZMc7cDho
Source: @rh3dai, 2026-10-11