La voie Windows : une charge EFI exécutée avant le démarrage de Windows

Les trois projets amont documentés ici sont des modules noyau Linux. Windows-GPU-UNLOCK est une autre implémentation : elle crée sa propre partition système EFI et effectue le travail sur les registres dans une charge qui passe la main au Windows Boot Manager. Aucune comparaison d'origine/déverrouillé sur la même carte n'est publiée, cette page donne donc les profils enregistrés et les parcours de démarrage, pas un gain.

Ce n'est pas le module Linux et cela ne le remplace pas

Rien ici ne s'applique à une installation Linux, et le module noyau ne s'applique pas à Windows. Les deux partagent l'idée de base — écrire le registre de sélection de débit avant que le pilote NVIDIA ne s'attache — mais le chemin de démarrage, les outils et les modes d'échec diffèrent. Sous Linux, utilisez la liste des cartes et les mesures de ce site.

Ce qu'est cette version à ce jour

Le dernier tag est v0.3.1, une pré-version qui ne contient que les sources. Lisez la liste du périmètre avant de considérer une carte comme prise en charge.

Matériel enregistré et signalé

Un profil couvre une carte dans un système précis. Le même modèle de GPU sur une autre carte mère n'est pas couvert par ce profil, et seule la première ligne a été enregistrée par le mainteneur lors de son propre test.

CartePuceÉtatParcours
RTX 3090 FE 24 GBGA102Enregistré par le mainteneurInternal headless — default profile (ASUS TUF B650M)
RTX 3070 Ti 8 GBGA104Succès matériel signaléInternal headless (ASUS TUF B660M-E D4)
RTX 3090 Ti 24 GBGA102Succès matériel signaléHeadless USB only (Gigabyte X870 Aorus Elite WiFi7)
RTX 3060 12 GBGA104Succès matériel signaléHeadless USB only (ASUS Prime B660-Plus D4)
RTX 3080GA102Cible amont uniquementNo dedicated profile in this port

Quatre parcours de démarrage, non interchangeables

Le parcours dépend de si l'affichage reste sur la carte graphique et de si vous pouvez utiliser une clé USB. Chacun a son propre guide dans le dépôt.

ParcoursAffichage et saisieGuide
Internal headlessMonitors on the RTX card, display temporarily removed, no T/U/Enter inputOuvrir le guide
Headless USBProfile-specific wrapper and child staged on a FAT32 USB stickOuvrir le guide
Internal AMD-display manual / autoMotherboard or iGPU display preserved; the manual variant needs UOuvrir le guide
Legacy USB manualAMD/iGPU display profile; U once, then Boot Override to Windows without a resetOuvrir le guide

Prérequis avant de commencer

L'ordre qui compte

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.

An ordinary FAT32 data partition is not a substitute. The tools also do not disable BitLocker — decrypt C: and turn protection off first.

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'

Use your own partition GUID and tool paths. Without an action switch, `Headless.ps1 -Assets '.\assets'` only stages files.

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' -Register

On the tested ASUS firmware the entry appears as F8 → GPU Headless UNLOCK - EXPERIMENTAL.

4. 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.

Do not reset between the unlock and Windows. The two Esc windows differ: Esc in the initial wrapper boots Windows without the release, while Esc in the later three-second child window cancels into a stop and does not restore the display.

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 -ConfirmedSuccess

`-ConfirmedSuccess` is the acknowledgement that you personally saw the test boot work.

6. 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 -RestoreWindowsFirst

Restoring the previous Fast Startup setting does need the saved state, so keep it and keep backups.

Ce que l'exécution enregistrée a mesuré

L'exécution d'origine B650M / RTX 3090 FE a rapporté ces valeurs en CUDA 12.6 / cuBLAS 12.6 à 4096 x 4096, médiane de trois exécutions. Ce sont des valeurs absolues de la carte déverrouillée — aucune valeur d'origine n'est publiée en regard, ce n'est donc pas un gain.

CheminValeur
FP32 pedantic22.85 TFLOPS
FP16 Tensor / FP32 accumulate124.97 TFLOPS
BF16 Tensor / FP32 accumulate128.93 TFLOPS

L'état laissé par l'exécution enregistrée

La charge enfant réussie a rapporté cet état après le déverrouillage, ce qui atteste que la carte a été rendue proprement au pilote.

Licence

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.

impacifist/Windows-GPU-UNLOCK sur GitHub

Questions fréquentes