A rota Windows: um payload EFI que roda antes do Windows iniciar
Os três projetos upstream documentados aqui são módulos do kernel Linux. Windows-GPU-UNLOCK é outra implementação: cria sua própria partição de sistema EFI e faz o trabalho nos registradores em um payload que passa o controle ao Windows Boot Manager. Ele também não publica comparação de origem/desbloqueado no mesmo cartão, então esta página traz os perfis registrados e as rotas de boot, não um ganho.
Este não é o módulo de Linux e não o substitui
Nada aqui se aplica a uma instalação Linux, e o módulo do kernel não se aplica ao Windows. Os dois compartilham a ideia de base — gravar o registrador de seleção de taxa antes de o driver NVIDIA se ligar —, mas o caminho de boot, as ferramentas e os modos de falha são diferentes. Se você usa Linux, veja a lista de cartões e as medições deste site.
O que esta versão é hoje
A tag mais recente é v0.3.1, uma pré-versão que traz apenas código-fonte. Leia a lista de escopo antes de considerar um cartão coberto.
- Later main-branch hardening added host and build checks, not a new physical boot or recovery test.
- The latest tag, v0.3.1, is a source-only pre-release; the tree carries changes beyond it, including the USB route and the X870 profile.
- Firmware assets and partition-specific EFI binaries are not bundled — you build locally with your own partition GUIDs.
- A generated local profile does not add another verified machine profile.
Hardware registrado e reportado
Um perfil cobre um cartão em um sistema específico. O mesmo modelo de GPU em outra placa-mãe não é coberto por esse perfil, e apenas a primeira linha foi registrada pelo mantenedor no próprio teste.
| Cartão | Chip | Estado | Rota |
|---|---|---|---|
| RTX 3090 FE 24 GB | GA102 | Registrado pelo mantenedor | Internal headless — default profile (ASUS TUF B650M) |
| RTX 3070 Ti 8 GB | GA104 | Sucesso de hardware reportado | Internal headless (ASUS TUF B660M-E D4) |
| RTX 3090 Ti 24 GB | GA102 | Sucesso de hardware reportado | Headless USB only (Gigabyte X870 Aorus Elite WiFi7) |
| RTX 3060 12 GB | GA104 | Sucesso de hardware reportado | Headless USB only (ASUS Prime B660-Plus D4) |
| RTX 3080 | GA102 | Apenas alvo upstream | No dedicated profile in this port |
Quatro rotas de boot, não intercambiáveis
A rota depende de a saída de vídeo ficar no cartão dedicado e de você poder usar um pendrive. Cada uma tem seu próprio guia no repositório.
| Rota | Tela e entrada | Guia |
|---|---|---|
| Internal headless | Monitors on the RTX card, display temporarily removed, no T/U/Enter input | Abrir guia |
| Headless USB | Profile-specific wrapper and child staged on a FAT32 USB stick | Abrir guia |
| Internal AMD-display manual / auto | Motherboard or iGPU display preserved; the manual variant needs U | Abrir guia |
| Legacy USB manual | AMD/iGPU display profile; U once, then Boot Override to Windows without a reset | Abrir guia |
Requisitos antes de começar
- Exact supported hardware from a recorded profile — a matching GPU model on another board is not covered.
- A separate GPT FAT32 EFI System Partition of at least 1 GiB. An ordinary FAT32 data partition does not qualify.
- The existing Windows ESP and recovery partition preserved; the tools never create, shrink or format partitions.
- Secure Boot disabled, a fully decrypted Windows C: with BitLocker protection off, and a connected keyboard.
- Python 3.9+, clang/lld-link 20.1.8, the pinned repository dependencies and five firmware assets obtained locally.
A ordem que importa
1. Prepare a second ESP, not a data partition
The port boots from its own EFI System Partition and leaves Windows' ESP and recovery partition untouched. It does not create, shrink, delete or format anything: you prepare a GPT FAT32 partition of at least 1 GiB and give it a letter.
2. Configure and build from an elevated PowerShell
Both scripts run from the repository root in an administrator PowerShell. Configuration and build stage no boot entry by themselves.
.\internal-boot\Configure.ps1 -UnlockDriveLetter U `
-WindowsEspGuid 'YOUR-WINDOWS-ESP-GUID'
.research\headless\build-unlock.ps1 `
-Clang 'C:\TOOLS\LLVM20\bin\clang.exe' `
-LldLink 'C:\TOOLS\LLVM20\bin\lld-link.exe'3. Register a separate F8 test entry first
Registering adds its own test entry and keeps your existing boot priority. Automatic boot is a separate, explicit action and stays off until the F8 test has actually worked.
.\internal-boot\Headless.ps1 -Assets '.\assets' -Register4. Run one F8 test and wait
Save your work and fully power off, then pick the test entry. Do not press T, U or Enter. The screen goes black while the RTX GOP is removed; the child attempts once and the wrapper starts Windows directly.
5. Only then enable automatic boot
After the F8 test succeeds and the display recovers, automatic boot can be enabled. That action places headless first, Windows Boot Manager second, and disables Windows Fast Startup. Registering the test entry alone does nothing like this.
.\internal-boot\Headless.ps1 -EnableAutomatic -ConfirmedSuccess6. Recovery is Windows-first and independent of the build
If the handoff fails or Windows does not return, power off fully and choose F8 → Windows Boot Manager, or run the restore switch. Windows-first recovery works without saved state.
.\internal-boot\Headless.ps1 -RestoreWindowsFirstO que a execução registrada mediu
A execução original de B650M / RTX 3090 FE reportou estes valores com CUDA 12.6 / cuBLAS 12.6 em 4096 x 4096, mediana de três execuções. São números absolutos do cartão desbloqueado — não há valor de origem publicado ao lado, então não são um ganho.
| Caminho | Valor |
|---|---|
FP32 pedantic | 22.85 TFLOPS |
FP16 Tensor / FP32 accumulate | 124.97 TFLOPS |
BF16 Tensor / FP32 accumulate | 128.93 TFLOPS |
O estado que a execução registrada deixou
O payload filho bem-sucedido reportou este estado após o desbloqueio, o que comprova que o cartão foi entregue limpo ao driver.
- SS0 read back as 0x88888888
- SS1 read back as 0x8
- Bus-master enable disabled
- Zero remaining mappings
- Cleanup completed and one FLR performed
Licença
GPL-2.0-only for the port and the reused core; EDK2 and separately attributed components keep their own licences. Based on rough2515-hub/rtx3080-unlock-public and Zagitta/gpu-unlock. NVIDIA firmware, PROM/BIOS images, drivers and CUDA DLLs are not redistributed in the source release.