repowisejustaresearcher/gpu-unlock-ada

Architecture of justaresearcher/gpu-unlock-ada

justaresearcher/gpu-unlock-ada is 190 source files holding 1,253 symbols across 7 modules, written mainly in C++, C, Python. The largest module is windows, with 63 files, and 2 files are entry points into the dependency graph.

How gpu-unlock-ada fits together

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.

Largest modules

  • windows: 63 files and 4,957 lines of code
  • tests: 35 files and 2,323 lines of code
  • kernel: 16 files and 2,725 lines of code
  • tools: 6 files and 626 lines of code
  • diagnostics: 5 files and 383 lines of code
  • firmware: 4 files and 462 lines of code
  • root: 1 file and 130 lines of code

Languages

By file count: C++ 61 files, C 38 files, Python 28 files, Makefile 3 files.

Documentation

Repowise documents gpu-unlock-ada in 177 pages generated from the source, 13 of them written explanations of the repository and its modules. Module guides include:

  • windows/ad104-msi/tools: Archive and Firmware Image Inspection
  • tools: Booter and Clock Analysis Tools
  • windows/ad104-msi/diagnostic/src: Diagnostic Capture and Verification

More on gpu-unlock-ada: summary and FAQ, codebase overview, code health.

Related guide: Best dependency graph tools for monorepos