Jump to content
Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Driver unlock (memory geometry + full SM compute)
Proven 8 GB and 10 GB
Drivernvidia-open 610.43.02 / 610.43.03 / 610.57.04 / 615.71.09 / 615.71.10 / 615.78.08
Unlock buildamoghmunikote/cmpunlocker v0.5
StepsDriver unlock
Sourcelink
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-modules tarball).
  • 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 1 0x00823820 = 0x00000008.
  • PLMs opened (to 0xffffffff unless noted): WPR_CFG 0x001fa7cc = 0xfffff0ff, FBPA
 0x009a0148, WPR 0x001fa7c4, FEAT 0x00823804, OPT 0x008200fc,
 PJTAG 0x0000c840.
  • Memory geometry: FBPA CFG1 0x009a0204 = 0x02779000 (8 GB) / 0x02669000
 (10 GB); MMU LMR 0x00100ce0 = 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-smi order, 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: in driver/build.sh set
 KSRC="/lib/modules/${KVER}/source" and KSOUT="/lib/modules/${KVER}/build"
 and build with one line make -j"${JOBS}" modules SYSSRC="${KSRC}" SYSOUT="${KSOUT}" CC="${CC_CMD}".
 The modules then compile. Source: @vipic, 2026-10-18
 The module verification failed: signature and/or required key missing - tainting kernel
 line 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

 Source: @rh3dai, 2026-10-11