tools: give launch_mission a boot-timeout knob and an extra-flags hook
Both exist for one diagnostic. KeWaitForSingleObject is declared kHighFrequency, so it is silent even at LOG_LEVEL=3 unless --log_high_frequency_kernel_calls=true is passed - and that flag writes ~157 MB in ten minutes and slows the emulator so far that the title had still not appeared when skip_intro's fixed 600 s budget ran out. The run was then scored "BOOT FAILED" when it was only slow. EXTRA_FLAGS passes one-off diagnostic cvars without making them defaults; SKIP_INTRO_TIMEOUT lets a deliberately-slowed run have the time it needs. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE
This commit is contained in:
@@ -58,10 +58,20 @@ XUID="${SYLPH_XUID:-$(ls "${XENIA_CONTENT:-$HOME/.local/share/Xenia/content}" 2>
|
||||
[ -n "$XUID" ] || { echo "NO PROFILE on disc"; exit 2; }
|
||||
LOG="${LAUNCH_MISSION_LOG:-$SHOTS/launch_mission-canary.stdout}"
|
||||
echo "signing in profile $XUID; emulator log: $LOG"
|
||||
# EXTRA_FLAGS is for one-off diagnostics that should not become defaults --
|
||||
# e.g. --log_high_frequency_kernel_calls=true, which is the only way to see
|
||||
# KeWaitForSingleObject at all (it is declared kHighFrequency and is therefore
|
||||
# silent even at LOG_LEVEL=3).
|
||||
# shellcheck disable=SC2086
|
||||
nohup run-canary --apu=sdl --log_mask="${LOG_MASK:-13}" --log_level="${LOG_LEVEL:-2}" \
|
||||
--logged_profile_slot_0_xuid="$XUID" </dev/null >"$LOG" 2>&1 &
|
||||
--logged_profile_slot_0_xuid="$XUID" ${EXTRA_FLAGS:-} </dev/null >"$LOG" 2>&1 &
|
||||
sleep 5
|
||||
"$SD/skip_intro.sh" 600 || { echo "BOOT FAILED (skip_intro exit $?)"; exit 1; }
|
||||
# The boot budget is a knob because one diagnostic blows straight through the
|
||||
# default: --log_high_frequency_kernel_calls=true writes ~157 MB in ten minutes
|
||||
# and the title had still not appeared, so skip_intro timed out and the run was
|
||||
# scored a BOOT FAILED when it was only slow.
|
||||
"$SD/skip_intro.sh" "${SKIP_INTRO_TIMEOUT:-600}" \
|
||||
|| { echo "BOOT FAILED (skip_intro exit $?)"; exit 1; }
|
||||
sleep 14 # main menu is not input-ready before this
|
||||
|
||||
step down # NEW GAME -> LOAD GAME
|
||||
|
||||
Reference in New Issue
Block a user