WIP: feat(recomplauncher): DLSS and FSR 4 options for the setup step #354
No reviewers
Labels
No labels
area/accessibility
area/audio
area/input
area/install
area/menu
area/renderer
area/saves
area/upscaling
beanstalk: approved @ 1697603
beanstalk: approved @ 2c5a62e
beanstalk: approved @ 4fd82b7
beanstalk: approved @ 64d6d09
beanstalk: approved @ 6f91fae
beanstalk: approved @ 70a78f9
beanstalk: approved @ 8d361dc
beanstalk: approved @ 9d8356e
beanstalk: approved @ abf2227
beanstalk: approved @ d82f202
beanstalk: approved @ e5f1e40
beanstalk: approved @ ee8ab5f
ci: approved
good first issue
gpu/amd
gpu/igpu
gpu/intel
gpu/nvidia
help wanted
kind
bug
kind
chore
kind
docs
kind
feature
kind
performance
kind
question
needs measurements
platform/linux
platform/macos
platform/steam-deck
platform/windows
preview
priority
critical
priority
high
priority
low
regression
status
blocked
status
confirmed
status
duplicate
status
invalid
status
needs-info
status
wontfix
testing wanted
ci: approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Longshot!354
Loading…
Reference in a new issue
No description provided.
Delete branch "elripalda/Longshot:recomplauncher-dlss-fsr4"
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?
Why
Players who set up Longshot through RecompLauncher can't get DLSS or FSR 4. The launcher runs
LongshotBuilder --cli --prepare --game {game}with no way to ask for either, and it's the first thing people ask about on its Discord.What changed
prepare.options, two ticks RecompLauncher shows on its setup screen. When a tick is on, the launcher adds itsargsafter the prepare step's own, so the Builder gets the make_game.py flags that already exist for this (LongshotBuilder --clihands everything after--clito make_game.py,builder/LongshotBuilder/Program.cs):--fetch-ngx-sdk --accept-nvidia-license, shown only on NVIDIA cards ("gpu": "nvidia").--fsr --fetch-fsr-runtime --accept-amd-license, shown only on AMD cards on Windows ("gpu": "amd","os": ["windows"]), since the runtime fetch is Windows only.license(NVIDIA's DLSS SDK license, AMD's FidelityFX SDK license, both at a fixed commit). RecompLauncher puts the license name next to the tick as a link, and a tick with a license always starts off, so the player accepts it themselves before anything is downloaded.Flags and settings
prepare.optionsdlss(RecompLauncher setup tick)--fetch-ngx-sdk --accept-nvidia-licenseprepare.optionsfsr4(RecompLauncher setup tick)--fsr --fetch-fsr-runtime --accept-amd-licenseNo new environment variable, menu row or ini key.
Measurements
Nothing to measure yet: RecompLauncher reads
prepare.optionsfrom Beta 46, which isn't out. Once it is, the comparison is what a RecompLauncher setup builds on the same PC with main's file and with this one.main:
cf605c85(2026-11-13)this PR: recomplauncher-dlss-fsr4 @
cde1ec80Hardware: (to fill: an RTX PC on Windows, an RX 9000 PC on Windows)
Scene: RecompLauncher's setup screen, then the built game's upscaler row
Method: one RecompLauncher setup with each side's file, the tick on for this PR; RecompLauncher's setup log and longshot_log.txt
How to reproduce: (to fill once Beta 46 is out)
cf605c85cde1ec80Testing
Tested: no build yet, only the file and the source it relies on. The file parses, and with
prepare.optionstaken out it is the same as main's, key for key. It validates against RecompLauncher's schema (recomplauncher.com/schema/recomplauncher.json), which already hasprepare.options. Whattests/test_recomplauncher_json.pychecks (format, the settings keys, the start and prepare programs, norepo) is untouched. The flag names match make_game.py,Runner.csand the README's "A builder from the command line".Not tested: a setup through RecompLauncher with either tick on, on any PC, because the launcher side isn't released yet.
python -I -B tests/run_all.py: no checkout on this machine, so it waits on CI's Python checks.Needs other testers:
Screenshots
Nothing in the game changes. RecompLauncher's setup screen with the ticks to come once Beta 46 is out.
Risk and rollback
Launchers before Beta 46 ignore
options(their prepare step doesn't refuse unknown keys), so they build as today. With Beta 46, a player who leaves both ticks off also gets today's build. If a flag turns out wrong, only a build with that tick on fails, with make_game.py's own error. Reverting the commit is enough.Reviewer notes
The labels and notes are what players read on the setup screen ("Sharper, faster picture on NVIDIA RTX cards.", "For AMD Radeon RX 9000 cards."), so change them to whatever you'd rather say. If you want it, I can add a check to
tests/test_recomplauncher_json.pythat each option's args are flags make_game.py takes and each license has a url.Issues
None filed for this.
Checklist
For everyone
type(scope): description).main.python -I -B tests/run_all.pyrun and passing (any failure that also fails onmainis named above). Not run here: waiting on CI's Python checks.third_party/untouched (a new folder with aPROVENANCE.mdinstead).If applicable
Assisted-by:/Co-Authored-By:trailers.🤖 Generated with Claude Code
https://claude.ai/code/session_01YU7Wh23MaQWW1k6RtLRVZF
recomplauncher.json: DLSS and FSR 4 ticks for the setup stepto WIP: feat(recomplauncher): DLSS and FSR 4 options for the setup stepView command line instructions
Manual merge helper
Use this merge commit message when completing the merge manually.
Checkout
From your project repository, check out a new branch and test the changes.