Repository navigation
CMP 40HX Windows Unlock v2.0.1
v2.0.1
Secure Boot coexistence, a runtime boot-manager handoff, ReBAR visibility/control, machine-readable diagnostics, and a new CI pipeline that keeps the shipped EFI provably reproducible.
Highlights
- Secure Boot can now stay on. Sign the unlock EFI with your own key and the firmware will run it — see the new Secure Boot section.
- No more separate "Limine" build. The single shipped
40HXUNLK.EFInow honors a runtime--return-to-bootloaderload option instead of requiring a specialNO_AUTO_CHAINLOADbuild. - ReBAR is now visible and controllable, not just applied silently —
40HXCheck.exereports it GPU-Z style, and the installer lets you opt out. 40HXCheck.exe -jsonfor scripting and ticket systems.- New CI rebuilds the EFI from source on every push and fails if it doesn't hash-match the committed binary.
Added
- Secure Boot signing (
windows/tools/unlock40x/sign_efi.sh): signs the built EFI with your owndbkey viasbctl(orsbsignas a fallback), verifies the result actually carries a certificate, and prints the signer so you can confirm it's yours. 40HXInstaller.exe -efi <path>to deploy a signed EFI explicitly; a40HXUNLK.signed.efiplaced next to the installer is also picked up automatically. Deployment now prints the payload's source, SHA-256, and signature state, with an explicit warning if Secure Boot is on and the image is unsigned.- PE/Authenticode signature reader (
40hxcore/pesign.go, read-only, no WinVerifyTrust dependency) so40HXCheck.execan tell you whether the deployed EFI is signed and by whom — including a dedicatedsecure_boot_blocks_unsigned_efiverdict instead of a generic "not unlocked". --return-to-bootloaderEFI load option (aliases--return-to-grub,--return-to-limine) for grub/Limine/rEFInd users: the application applies the unlock and hands control back to your boot manager instead of chainloading Windows.- ReBAR reporting and control:
40HXCheck.exereads the XVE Resizable BAR Control register directly and shows whether the 8 GB resize is in effect (NVIDIA APP/Control Panel never show this for this card). Newnorebarload option, a "ReBar Unlock" checkbox in the installer GUI, and-rebar/-norebaron the CLI. 40HXCheck.exe -json: a stable, versioned (40hxcheck/v1) machine-readable report with a fixed verdict enum and matching process exit codes (0 = unlocked, 1 = not unlocked, 2 = inconclusive).- CI (
.github/workflows/ci.yml): builds and vets every Go module on native Windows and via Linux cross-compile, runs unit tests, rebuilds the shipped executables, diffs the generated Windows resource object, and rebuilds the EFI from source inside a pinned toolchain container to confirm40HXUNLK.EFIstill reproduces byte-for-byte.
Changed
- Replaced the old
NO_AUTO_CHAINLOAD=1build-time experiment (separate binary, never fully reliable) with the runtime load-option handoff above. - Installer/checker/uninstaller version bumped to 2.0.1.0.
Upgrade notes
- Default behavior is unchanged if you don't pass any new options: EFI stays unsigned, Secure Boot must stay off, ReBAR still applies automatically.
- If you signed your own EFI previously via a custom process, switch to
sign_efi.sh+-efi <path>(or the40HXUNLK.signed.efisidecar) — the installer now prints the hash/signature state so you can confirm what actually got deployed.