# justaresearcher/gpu-unlock-ada

> gpu-unlock-ada is a Linux kernel module for supported GeForce cards such as the RTX 4090, meant to lift a firmware-level lock so the card's SM speed-select override is in place before the NVIDIA driver starts. It generates the GPU firmware payloads on the user's own machine from pinned NVIDIA driver inputs and packages them with the module for the initramfs. The project is written mainly in C, with Python scripts and C++ files in its Windows port.

Source: https://github.com/justaresearcher/gpu-unlock-ada
Indexed: commit 4e7fefc on 2026-10-26 by Repowise. Facts come from the source and git history, not from the maintainer.

## Facts

- Language: C
- Stars: 4,863 at index time
- License: GPL-2.0
- Code health: 5.5/10, Needs_work
- Last commit: 2026-10-24
- Contributors: 5

## Install

From the README: https://github.com/justaresearcher/gpu-unlock-ada

Clone the gpu-unlock-ada repository.
    git clone https://github.com/justaresearcher/gpu-unlock-ada.git

Change into the cloned source directory.
    cd gpu-unlock-ada

Build the packages and install them, with the distribution family detected automatically.
    make install

## How it works

The module takes a pinned NVIDIA driver source tree and per-card PCI identifiers as its inputs. The kernel/gpu_unlock/main.c entry point starts the kernel-side code in kernel/gpu_unlock, which reads firmware images, boot and fuse data and live hardware status to decide whether the GPU firmware state can be trusted. The firmware directory prepares the boot images the driver build depends on from downloaded source archives, JSON manifests and pinned digests. The Makefile drives the build, with make inputs fetching the inputs, make firmware generating the assets and make install packaging the result. The output is the module and firmware for the initramfs, along with kernel-log evidence that the lock lift ran. The tools directory holds standalone scripts that check decoded booter images against known hashes, while windows/ad104-msi/app.c is the entry function of the separate Windows port.

- kernel/gpu_unlock/main.c: entry point
- windows/ad104-msi/app.c: entry point
- Makefile: central file
- QUICKSTART.md: central file
- README.md: central file
Modules: windows, tests, kernel, tools, diagnostics, firmware, root. 190 files, 11,606 lines, 1,253 symbols.

## Code health

- Score: 5.5/10 (Needs_work)
- Rank: not ranked (not on a leaderboard yet)
- Hotspots: tests/test_unlock_adapter.c, kernel/gpu_unlock/unlock_610.c
- Lowest file: kernel/gpu_unlock/unlock_610.c
- Dead code: 4 findings

## Maintenance

- Last commit 2026-10-24, first commit 2026-10-23, 15 commits
- 5 contributors, bus factor 1

## Security

- Security findings are shown to signed-in users at https://repowise.dev/repo/justaresearcher/gpu-unlock-ada/security

## More

- Page: https://repowise.dev/repo/justaresearcher/gpu-unlock-ada
- Ask this codebase: https://repowise.dev/repo/justaresearcher/gpu-unlock-ada/chat
- Docs: https://repowise.dev/repo/justaresearcher/gpu-unlock-ada/docs
- MCP (signs in with Repowise on first use):
    claude mcp add --transport http repowise https://api.repowise.dev/mcp/justaresearcher/gpu-unlock-ada
