Windows 経路:Windows の起動前に動く EFI ペイロード

このサイトが扱う 3 つの上流プロジェクトはいずれも Linux カーネルモジュールです。Windows-GPU-UNLOCK は別実装で、独自の EFI システムパーティションを作成し、レジスタ操作を Windows Boot Manager へ引き継ぐペイロード内で行います。純正とアンロック後の比較も公開していないため、このページでは記録済みの構成と起動経路を示し、向上率は掲載しません。

これは Linux モジュールではなく、代用にもなりません

ここでの内容は Linux 環境には当てはまらず、カーネルモジュールも Windows には使えません。根底の考え方——NVIDIA ドライバがバインドする前にレート選択レジスタを書く——は共通ですが、起動経路・ツール・失敗の仕方は異なります。Linux をお使いの場合は、このサイトのカード一覧と実測データを参照してください。

現時点でのこのリリース

最新タグは v0.3.1 で、ソースのみのプレリリースです。対応済みと判断する前に、下の範囲の説明を読んでください。

記録済みおよび報告済みのハードウェア

プロファイルは特定の 1 システム上の 1 枚のカードを対象にします。同じ GPU 型番でもマザーボードが違えば対象外であり、メンテナ自身の検証で記録されたのは 1 行目だけです。

カードチップ状態経路
RTX 3090 FE 24 GBGA102メンテナが記録Internal headless — default profile (ASUS TUF B650M)
RTX 3070 Ti 8 GBGA104ハードウェア成功の報告ありInternal headless (ASUS TUF B660M-E D4)
RTX 3090 Ti 24 GBGA102ハードウェア成功の報告ありHeadless USB only (Gigabyte X870 Aorus Elite WiFi7)
RTX 3060 12 GBGA104ハードウェア成功の報告ありHeadless USB only (ASUS Prime B660-Plus D4)
RTX 3080GA102上流の対象のみNo dedicated profile in this port

4 つの起動経路は互換ではありません

どの経路を使うかは、映像出力を単体 GPU に残すかどうか、USB メモリを使えるかどうかで決まります。経路ごとにリポジトリ内のガイドが分かれています。

経路表示と入力ガイド
Internal headlessMonitors on the RTX card, display temporarily removed, no T/U/Enter inputガイドを開く
Headless USBProfile-specific wrapper and child staged on a FAT32 USB stickガイドを開く
Internal AMD-display manual / autoMotherboard or iGPU display preserved; the manual variant needs Uガイドを開く
Legacy USB manualAMD/iGPU display profile; U once, then Boot Override to Windows without a resetガイドを開く

開始前の要件

重要なのは順序

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.

記録済みの実行で測られた値

元の B650M / RTX 3090 FE の実行では、CUDA 12.6 / cuBLAS 12.6、4096 x 4096 で 3 回の中央値として次の値が報告されました。アンロック後のカードの絶対値であり、対応する純正値は公開されていないため、向上率ではありません。

項目値
FP32 pedantic22.85 TFLOPS
FP16 Tensor / FP32 accumulate124.97 TFLOPS
BF16 Tensor / FP32 accumulate128.93 TFLOPS

記録済みの実行が残した状態

成功した子ペイロードはアンロック後に次の状態を報告しました。カードが正しくドライバへ引き渡された証拠です。

ライセンス

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.

GitHub の impacifist/Windows-GPU-UNLOCK

よくある質問