Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

nv-uefi-unlocker

中文 | English

你的 GeForce 正以半速跑 AI——这个工具在驱动加载前把它修复。

version GeForce platform license stars

实测 FP16 / BF16 / TF32 张量吞吐最高约 2.6× · FP8 最高约 1.9× · 图像 / 视频生成 +14–75% · DirectML 推理算子最高 +94% · 无 VBIOS 刷写,断电即复原(逐卡数据见兼容性矩阵;增益受功耗墙与精度路径制约)

GTX 16 + RTX 20 + RTX 30 + RTX 40 系列通用的 UEFI 预驱动 NVIDIA GPU 解锁工具。

解开 NVIDIA 显卡的 Tensor 计算性能限制。从 U 盘启动,解锁后自动进入 Windows 或 Linux 或任意操作系统,无需刷写 VBIOS;断电后恢复原状。

观看项目宣传片 ↗

兼容性速览

系列支持情况
GTX 16 · Turing理论兼容,欢迎实机验证
RTX 20 · Turing全系兼容;部分型号有已知问题,见完整矩阵
RTX 30 · Ampere GA10x全系兼容,支持笔记本与台式
RTX 40 · Ada全系兼容,支持笔记本与台式
Pascal 及更早 / GA100 / RTX 50不支持

完整兼容性矩阵与逐卡实测 · 常见问题

开始使用

1. 获取工具并检查前置条件

从 Releases 下载并解压发布包。发布包不附带 NVIDIA 固件,制盘脚本会自动下载指定版本并校验、生成所需文件。

准备一个 FAT32 U 盘,先备份其中的文件。目标机器须使用 UEFI 启动,关闭 Secure Boot,或为 EFI 自签并信任证书。笔记本优先使用独显直连,从系统选择“重启”后进入一次性启动菜单。

Turing 用户先在目标 Windows 的管理员 PowerShell 运行一次,再重启:

.\enable-turing-unlock.ps1

重启后确认 GSP 固件已运行,再制作 U 盘。Linux Turing 目标同样需要 GSP-RM;详见 GSP 前置说明。Linux 用户还应检查 RTD3,避免进入系统后掉电丢失解锁。

2. 制作启动 U 盘

在目标机(要解锁的机器)的解压目录直接运行:脚本自动识别本机显卡代际,只生成并下载对应固件。

Windows PowerShell:

.\make-usbroot.ps1

Linux / WSL / Git Bash:

bash make-usbroot.sh

在另一台机器上制作时显式指定代际:40 系 -Family 40,30 系 30,20 / 16 系 20。-Family all 把三代固件全部打进同一张 U 盘(一条命令即可服务多种卡)。

Windows 需要 PowerShell 5+;Linux 版需要 glibc ≥ 2.34(如 Ubuntu 22.04+ / Debian 12+)。首次生成需要联网,下载或校验失败时先处理错误,不要换固件版本。

生成的文件位于本地 usbroot/。将脚本完成时列出的固件文件复制到 U 盘根目录,再把 BOOTX64.EFI 放入 EFI/BOOT/。其余抽取中间文件不需要复制。

U 盘(FAT32)
├── EFI/BOOT/BOOTX64.EFI
└── 固件文件(脚本末尾列出的 .bin 文件)

保留脚本生成的 v67-*.bin 解锁文件。完整文件清单与用途。

替换已有 EFI/BOOT/BOOTX64.EFI 前先备份。不要复制到系统 ESP,也不需要调整永久启动顺序。完整文件用途、异机制盘、多卡选择和其他选项见 USB 文件与选项。

3. 启动并验证

  1. 从固件的一次性启动菜单选择 U 盘。
  2. 版本屏按 空格或回车运行;其他键或 30 秒不操作会中止事务并交回系统引导器。目标 GPU 暂时黑屏或冻结末帧属正常现象。
  3. 等待工具完成并自动链回系统,日志在 U 盘根目录 loader.log。
  4. Windows 下用发布包的 ssdiag-x86_64-windows.exe 检查系统内状态,并用相同负载比较解锁前后的性能。Linux 可在源码仓库运行 sudo python3 tools/diag-unlock.py。详见 验证与修复。每次冷启动需要重放。

遇到 STOP、异常或黑屏卡死,同会话不要重试;完全断电后拔 U 盘,走原系统引导,再按 恢复说明检查。

让 Agent 帮忙部署:部署指南。可以直接把下面这句话交给它:

请根据 https://github.com/physicsdolphin/nv-uefi-unlocker/blob/main/AGENTS.deploy.md ,帮我安装 nv-uefi-unlocker,为我的显卡解锁。

自行构建(可选)

使用发布包可跳过本节。需要 Rust 工具链;Windows 选择 MSVC 版本。在仓库根目录运行:

rustup target add x86_64-unknown-uefi
cargo build --release
cargo efi-tx

EFI 程序生成在 target/x86_64-unknown-uefi/release/loader.efi。用以下命令制作启动文件(40 系示例;30 系改 -Family 30,20 / 16 系改 -Family 20):

.\release\make-usbroot.ps1 -Family 40 -AssetsExe .\target\release\assets.exe -BootEfi .\target\x86_64-unknown-uefi\release\loader.efi
bash release/make-usbroot.sh --family 40 \
  --assets ./target/release/assets \
  --boot-efi ./target/x86_64-unknown-uefi/release/loader.efi

之后按上面的布局复制到 U 盘。只读诊断、测试与开发说明。

与 nvoc 配合

本工具解除 Tensor 计算性能限制;nvoc 在系统内提供功耗、电压和超频控制,两者可以叠加。

  1. 先完成本工具的解锁,在系统内确认状态并记录基准。
  2. 按 nvoc 文档选择适用于显卡的控制方式。kmd 功耗墙解锁在移动端可用,10/20 系桌面卡的效果尚待验证;set-volt-rail-limit 的电压墙控制适用于 10 系及之后 GPU。
  3. 用 cli-stressor-cuda-rs 在相同负载下对比,监控功耗、Hot Spot 和限频原因。

组合后功耗和温度可能大幅超过原厂包络,需自行确认散热与供电余量。组合测试结果与风险说明。

参考资料与仓库

本项目是社区工作的直接受益者与衍生者,完整致谢见 docs/credits.md(按仓库历史中的实际作用核对归类)。 开发期实际研读与引用的仓库已 clone 至本地 reference/(不入库),按作用分组:

事务链母本与一手权威

  • gpu-unlock(GPL-2.0)——事务链移植母本; unlock_610.c 逐段对照与 mock 测试蓝本
  • gpu-unlock-ada(GPL-2.0)—— AD10x 四写链源头;28e1 报告(Windroid234)是本项目直接依据,并驱动本项目 三处判据修正(FBPA 0xffffff0f 接受、scrubber 非致命、EALREADY 不 FLR)
  • gpu-unlock-bar1—— AD10x 大 BAR1 参考线(未并入主线)
  • cmp90hx-unlock——V67 载荷链源头
  • open-gpu-kernel-modules(MIT)—— 引导路径一手权威:Turing 引导路径四处代际差异(BOOT_DIRECT、portal 直写、 RM_RISCV_UCODE_DESC v4、FWSEC generic-BL)全部据此考据落进代码
  • AD103_win_unlocker(TOTORONG)—— Windows EFI 载具工艺先例(GOP 断连/链式交接/事务日志范式)

Turing 谱系与定址(0x4096xx FEAT 块)

  • cmp170hx——PLM 语义、booter 0x89/0x91 状态码字典与验证方法论
  • cmp50hx-unlock——Turing 谱系实机闭环 源头:50HX(TU102)31.7× 实测,40HX/50HX 共用 TU102 booter 归档,是 TU106 全链可行性的实机依据;FEAT 块 0x409650/64/6c 定址亦出自此
  • turing-unlock(nlzy)——Zagitta kmod 的 Turing 官方改编(Dell 2080 Ti 22GB,FP16 约 1.6×);TU102 gadget/栈几何 表与 GSP IDA 库来源;TU_FEAT_READOUT 0x409668 引用源(ssdiag 与 loader 的 Turing readout 同源)
  • travis-mcdevitt/nv-uefi-unlocker—— 本项目下游 fork,其 Turing 成功链记录进入 0x91 取证对照
  • tu102-22g-uefi-unlock—— TU102 22G 改装卡 UEFI 方案(22G 支持线的同类对照)

同类 Windows/UEFI 先行工作

  • rtx30-unlock——Zagitta kmod 的 Windows/UEFI 移植(GA10x 同类先行)
  • rtx30-unlock-windows-toolkit—— 上者的单卡单显伴侣工具
  • rtx3080-unlock-public—— RTX 3080 10GB UEFI 实验先行(韩文)
  • KohakUnlock——Turing 谱系 (boot-hook 形态)与 4090 Windows/UEFI 的源码优先研究
  • Turing-unlock(haohervchb)—— 2080 Ti(TU102)易失解锁,2026-10-22 单跑成功记录
  • nv_unlock_win——Titan RTX Windows 内核例试验(同目标的另一条路)
  • gpuunlock——4090/4070 Ti SUPER 合并发行版

寄存器/熔丝侧线

  • ReBarUEFI(xCuri0,MIT)——30 系+ ReBAR 平台侧机制权威(枚举期 hook + PCIe ReBAR 扩展能力)与平台大 BAR 限制补丁目录;NvStrapsReBar 是其 Turing fork——推翻本项目此前"Turing BAR1 不可扩"的判断;M1 采样 PSTRAPS 解码直接依据
  • ga100-fuse-re · gpcprobe · 170hx-rir-tool——GA100 熔丝/RIR 架构(熔丝语义参考线)
  • p104-gen2-unlock——P104 PCIe Gen2 链路工具(PCI 配置空间操作参考,与算力解锁正交)

逆向工具链

  • envytools——envydis(fuc5 Falcon 反汇编,量产 booter 安全段为密文、需密钥在场才可解)+ nvbios
  • faucon——fuc5 反汇编备选(实测解不了 量产 booter)

许可:GPL-2.0-only(LICENSE)。NVIDIA 固件与 VBIOS 版权归 NVIDIA,按其 原许可条款从钉版公开包本地再生,不在本仓库分发。

Star History

Star History Chart

关于 About

UEFI pre-driver NVIDIA GPU unlocker for Windows Linux Hackintosh and all EFI-bootable system (Rust): SEC2 scrubber -> FWSEC/WPR2 -> signed Booter -> V67 four-write payload, read-back verified. Verified on most RTX 20 30 40 Series.

语言 Languages

Rust89.7%
Shell4.5%
PowerShell4.2%
Python1.6%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
237
Total Commits
峰值: 237次/周
Less
More

核心贡献者 Contributors