RX_VK_FRAME_LOG writes nothing in a headless run (HOS_HEADLESS) #2353
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#2353
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Hookshot version
main
49f75dc8andbdfe09c, built from sourceWhat kind of problem
Something else
What happened
RX_VK_FRAME_LOG=<csv>("A CSV line per present: frame, seconds, frame time in ms",docs/development.md) writes nothing when the game runs without a window (HOS_HEADLESS), which is how scripted tests and measurements run it: the file is never even created. None of 23 headless runs of main on this machine left a frame log, with the switch set in every one.Expected: the same CSV as with a window.
The cause: the writer is only in
present_out(gpu/vk/vk_replay.cpp), aftervkQueuePresentKHR. Without a window a present copies the picture into the offscreen image anddo_presentreturns beforepresent_image, so it never gets there.Where in the game
Any headless run; it does not depend on the place
How often
Every time
Graphics card and driver version
RTX 4090, NVIDIA 615.78.08
CPU, RAM and operating system
i9-13900K, 96 GB, Arch Linux
Changes from the defaults
HOS_HEADLESS=1,RX_VK_FRAME_LOG=<file>Other software hooked into the game
No, nothing hooked in
hookshot_log.txt
The line that marks such a run:
vk: no window: presents render offscreen (1920x1080). The frame log's file is missing afterwards.Claim
I'm working on this: #2354 is open with the fix and its test. By
docs/workflow.md: S3 (1), a developer's measuring switch x reach (anyone who measures or tests headless) x confidence 1.0 (cause found, fix run in the game). I can test on Linux with an RTX 4090 (NVIDIA 615.78.08) and an Intel UHD 770 (Mesa 26.2.5), not on Windows or AMD.