fix(builder): Linux keeps NVIDIA's DLSS SDK in its cache folder, and the license accepted in its settings #2485
No reviewers
Labels
No labels
accessibility
autorelease: pending
autorelease: tagged
bug
dependencies
documentation
duplicate
enhancement
github_actions
good first issue
help wanted
invalid
question
testing wanted
wontfix
No milestone
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Hookshot!2485
Loading…
Reference in a new issue
No description provided.
Delete branch "linux-ngx-sdk-cache"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
On Linux, an update can silently drop DLSS: the builder uses the DLSS SDK's
LICENSE.txtas its record that you accepted NVIDIA's license, so when that downloaded file is gone, the next update builds without DLSS and deletes the game's runtime. The SDK (58 MB) also sits in the game's data folder rather than the builder's own.Split out of #2317 at review.
What changed
~/.cache/hookshot-builder/ngx-sdk, besidemake_game.py's build files. Windows already keeps it in%LOCALAPPDATA%\HookshotBuilder.~/.config/hookshot/builder.ini(nvidia_license=1) when you tick DLSS.folder_has_dlss()reads that instead of the SDK'sLICENSE.txt, so an emptied cache means the SDK is downloaded again, and DLSS is kept.~/.local/share/hookshot/builder/ngx-sdk) is moved once when the builder starts, and its license is recorded.Testing
tests/test_make_game_ngx.py: the new folder, the settings record, an emptied cache keeping DLSS, the one-time move, including an SDK in both places.python -I -B tests/run_all.pyon Linux: nothing new fails (the three failures there also fail onmain).🤖 Generated with Claude Code
folder_has_dlsschecksnvidia_license=1in builder.ini, and builds still pass--fetch-ngx-sdk --accept-nvidia-license, so an emptied cache re-downloads the SDK and DLSS stays on. The move from the old folder is tested, including the empty-cache case. The full suite passed locally merged into main (395 passed, 0 failed); CI hasn't run here yet.The Windows builder has the same bug: it still uses
LICENSE.txtas the licence record (builder/py/hookshot_builder/window.py:1756). That could be a follow-up.github-sync referenced this pull request2026-11-12 06:22:54 +00:00