Record Vulkan GPU checks and verified Frame deployment

This commit is contained in:
baketnk committed 2026-09-24 14:16:42 -04:00
1 parent 4c043c9962
commit 46b3c37a8a
2 files changed
+56 -1

No files matched your search

@@ -0,0 +1,53 @@
# Persistent Vulkan overlay deployment — 2026-09-24
Source commit: `4c043c99`.
Installed native ARM64 version: `2026-09-24T181314Z-g4c043c99`.
The user requested replacing raw uploads with a GPU texture and supplied the
current Frame SSH target and key for native build/install verification. These
are dated observations, not future device availability or permission to launch
hardware checks.
## Implementation
The overlay now uses `SetOverlayTexture` with a persistent Vulkan RGBA8 image.
The CPU panel rasterizer still produces the pixels. One staging allocation,
image and command buffer are reused; redraws do not recreate them. SteamVR
selects the physical device and required instance/device extensions. Transfers
share one FrameYap-owned graphics queue with SteamVR, and GPU resources survive until
`VR_Shutdown` completes. No desktop surface, swapchain or raw-upload fallback
was introduced. See [rendering details](../overlay.md).
## Verification
- Default local offline build: 13/13 CTest checks passed.
- Local native build: all 16 checks passed; the fake Wayland protocol check
required permission to bind its local test socket outside the sandbox.
- Native ARM64 Release build on Frame from a checksum-verified Git archive:
16/16 hardware-free checks passed, including the Vulkan fake-driver test.
- Explicit offscreen Vulkan check on the workstation's RTX 4090, with
`VK_LAYER_KHRONOS_validation` enabled: eight exact 1000×680 RGBA readbacks,
one stable image, no validation messages.
- The same explicit offscreen check on Frame's `Turnip Adreno (TM) 750`:
eight exact 1000×680 RGBA readbacks and one stable image. This exercised the
actual image upload/layout/readback path, without OpenVR initialization.
- Staged and installed native dependency resolution succeeded. Vulkan resolves
to the system loader; SDL/OpenVR resolve inside FrameYap's own `lib/`.
- The native archive was checksum-verified and installed. `current` selects
the version above; `previous` retains `2026-09-24T174700Z-gc59c8b1`.
Installed `--version` matched and its executable hash matched the staged
binary. No app, SSH or user-session process was terminated.
Native archive SHA-256:
`d6f0173b25a879c02f0ee67063c881a23dff874a71674826ddd7666d0980759d`.
Installed executable SHA-256:
`761ea0e4d2dc235c5f056d8d944cb68392713c246aaec008d0b6c235954ef645`.
## Acceptance boundary
The updated headset installation is verified, but this session did not launch
an OpenVR visual/controls probe or collect a wearer report. GPU readback does
not establish SteamVR texture acceptance, orientation, click behavior or a
flicker fix. No microphone, inference or text/Enter delivery was exercised.
The next human headset check should compare both static action clicks and
content-changing tabs using the installed Vulkan build's `--check-controls`.
+3 -1
View File
@@ -46,7 +46,9 @@ were compared with kouseki's `openvr_session.cpp` and `vulkan_renderer.cpp` at
`738569f4c41ff4c8fc9edd5bfff9c861957ea39e`; FrameYap owns this implementation.
GPU setup/submission errors stop startup or the run with an explicit error.
This replaces the raw-upload rendering path; headset flicker acceptance still
requires an on-device comparison.
requires an on-device comparison. The
[Vulkan deployment record](evidence/vulkan-overlay-2026-09-24.md) documents the
native installation and offscreen GPU checks separately from headset acceptance.
The complete transcript preview is paginated by glyph width and four-line
height; Previous and Next navigate it without changing the source transcript.