Skip to content

Fix NVIDIA NVRTC bundling and require clean KataGo startup - #62

Draft
wimi321 wants to merge 1 commit into
mainfrom
codex/fix-windows-nvrtc-runtime
Draft

wimi321 wants to merge 1 commit into
mainfrom
codex/fix-windows-nvrtc-runtime

Conversation

@wimi321

@wimi321 wimi321 commented Oct 3, 2026 •

Copy link
Copy Markdown
Owner

Summary

The current v0.4.21 Windows NVIDIA bundle contains KataGo 1.17.1 but omits its directly imported nvrtc64_120_0.dll. The official portable archive (SHA-256 7b52ab7e87e3356c22f28ec028bb7c91f2e825f9e78ddcb894f0d313ab2ac8a8) returns loader status 0xC0000135 for katago.exe version. Adding the official CUDA 12.1 NVRTC pair makes that same binary exit 0; withdrawing it reproduces the failure. The official NSIS payload also fails the new dependency check for the same missing DLL.

  • Supplement the source runtime with NVIDIA's official NVRTC 12.1.105, verifying the archive, both DLLs and unchanged license against pinned SHA-256 values. Preserve provenance and the full license beside the existing notices.
  • Check the x64 PE normal/delay import closure and explicit NVRTC builtins. Run the actual engine with an empty working directory, cleared environment and Windows-only PATH, requiring executable version output and exit 0. Embedded metadata / GPU-less smoke exemptions cannot satisfy this gate.
  • Gate afterPack, NVIDIA app smoke, and both final portable and NSIS payloads before release upload. Extract NSIS without executing the installer.
  • Add a Windows CI regression using the hash-pinned broken official portable release: reject the original package, supplement NVRTC, then require clean startup.
  • Import Arch from the declared electron-builder dependency so the packaging hook works under pnpm's isolated dependency layout.

Fixes #58.

Verification

  • Full Node regression suite: 267/267 passed (including five new behavioral dependency/archive tests).
  • Node and renderer TypeScript checks; application build.
  • NVIDIA release workflow contract and YAML parsing.
  • Isolated current-source Windows NSIS build; current afterPack gate.
  • Freshly extracted isolated portable 7z and NSIS app-64.7z payload: dependency/license checks pass and clean version probes return 0 / KataGo 1.17.1 / CUDA.
  • Both unchanged official v0.4.21 NVIDIA artifacts are rejected for missing NVRTC.
  • Exact head 75c96473e7f3be817eb129433221268c4479dac2: CI run 37115875671 passed all five jobs, including NVIDIA clean startup and Windows/macOS/Linux package checks; P0 RC run 37115875660 passed both jobs.
  • GPU model initialization, actual analysis and interactive app/installation QA.

Notes

The NVRTC LICENSE is byte-identical to the CUDA Runtime license already shipped; its Attachment A lists NVRTC and builtins as distributable components under the existing distribution terms. No new license acceptance, global CUDA installation, system PATH/driver/security change, existing installation replacement, GPU analysis, merge or release was performed.

Local artifacts are isolated test builds, not published installations. The local portable archive uses compression level 1 to limit CPU time; release compression remains level 7. This validation concerns packaged KataGo loader/startup behavior, not complete application or GPU QA. See docs/WINDOWS_NVIDIA_RUNTIME.md for official sources, hashes, checks and limits.

Based on main 6debe9e431a6761c003f05c975c0a9b8d37f8fbc. PR #61's commentary changes are not included.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: 无法启动katago

1 participant