Files
baketnk--frame-yap/docs/evidence/vulkan-overlay-2026-09-24.md
T

54 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`.