Commit Graph
26 Commits
Author SHA1 Message Date
Madison 89fb3fc07e Clarify cross-platform Steam Frame build and installation 2026-10-11 20:20:41 +09:00
Madison 73d20c21aa Record public experimental source publication 2026-10-11 17:58:43 +09:00
Madison 41a599a871 Prepare public Lambda1VR source and remove tracked SDK paths 2026-10-11 17:46:14 +09:00
Madison b5f1779386 Record PR0 hygiene findings and publication holds 2026-10-11 16:59:23 +09:00
Madison f3773cb04d Fix LAN host slots and OpenXR loader for paired Android builds 2026-10-11 14:18:03 +09:00
Madison 1a6749b072 docs: refresh Steam Frame README and setup 2026-10-11 13:16:34 +09:00
Madison 04676eefe1 Document experimental private hold and PR0 release blockers 2026-10-11 10:29:45 +09:00
Madison 4fb7428b9e Frame map test and VR_ARCHITECTURE.md: right stick Y unbound, D-pad weapons and laser, flat screen view as a setting, the menu tile (dev only) 2026-10-05 16:48:03 +09:00
Madison 98bdb4405b VR_ARCHITECTURE.md: the reference display settings of the worn build (dev only) 2026-10-05 16:47:07 +09:00
Madison aacf6e5a0f Frame diagnostics: layer poses of the menu laser in the dump, composite_menu.py; status after the Steam-in-place, laser and 120 Hz runs (dev only) 2026-10-05 16:47:07 +09:00
Madison 2aee8ee1e1 VR_ARCHITECTURE.md: status after the controls, roll, laser, Steam-in-place and refresh work (dev only) 2026-10-05 16:47:07 +09:00
Madison 3843dda03e VR_ARCHITECTURE.md: the Frame controller map as one table, what the grips rely on (dev only) 2026-10-05 16:47:07 +09:00
Madison 57aa2aea08 VR_ARCHITECTURE.md: eye poses, the HUD pass and what was measured (dev only) 2026-10-05 16:47:07 +09:00
Madison b791b82099 Note the first Steam title launch and the release assets in VR_ARCHITECTURE.md (dev only) 2026-10-05 16:47:07 +09:00
Madison ad16b48b1f Fetch the git-ignored models and sounds from the v1.7.4 release (dev only)
The repo ignores *.mdl, *.wav and the loading backgrounds, so a build from
source had no hands or replacement weapons. The script copies only the
missing, ignored files out of Team Beef's release APK, hash pinned.
2026-10-05 16:47:07 +09:00
Madison 208cb7d1c7 Frame diagnostics: read the eyes with the driver's GL, more state in the dump (dev only)
The readback used gl4es's glReadPixels, which doesn't know the swapchain's
framebuffers. It uses the driver's now. The dump logs the driver's
framebuffer bindings, viewport and scissor, the share of pixels that
aren't black and the connection state, and vr-state.txt says whether a map
is running. New probe key: clear each eye to a flat colour before the dump,
to tell a broken readback from a broken picture. [vr-perf] shows game=active
once a map is running.

VR_ARCHITECTURE.md has what the first unattended runs found.
2026-10-05 16:46:58 +09:00
Madison b5689385e1 Add VR_ARCHITECTURE.md for the Frame build (dev only)
The target, the frame protocol as it is in TBXR, a list of the draw
calls that depend on the camera or the screen with the rule each one
uses, the diagnostic keys and a status table. Nothing in it has been
run on the headset yet.
2026-10-05 16:46:57 +09:00
Madison e6b3e26003 Frame: make the menu tile with the Frame's button help at build time
make_frame_tile.py reads the release tile from the git-ignored
assets/background, takes the Quest help off it, draws the Frame's, and
writes it into build/frame-assets. The frame build type's assets override
the release tile with it, a gradle task runs it before mergeFrameAssets.
Quest and Pico builds are untouched. If the tile or Pillow and numpy are
missing, the Frame build goes on with the release tile and a warning.
2026-10-05 16:46:57 +09:00
Madison 3c5d2cc813 Frame: right stick up and down do nothing, D-pad is weapons and laser, flat screen view is a setting
Right stick up/down no longer toggle the flat screen view or the laser
sight. D-pad left/right are previous/next weapon, up is the last weapon
and down toggles the laser sight. The D-pad crowbar is gone, the crowbar
is the grip behind the head. With the other hand behind the head, the
right stick click is quick save and View is quick load.

The flat screen view is the vr_flat_screen cvar now, with a Flat Screen
View checkbox on the Video options page in the Frame build only. In
multiplayer, View still toggles the scoreboard.
2026-10-05 16:45:00 +09:00
Madison 5ee2b12181 Doc: the reference display settings for the Frame build 2026-10-05 10:51:10 +09:00
Madison afbc400cfe Frame: size the eye image from vr_resolution_scale, ask for a refresh rate
The Frame build rendered the runtime's 1728 square recommendation, but the
panel is 2160 square. The eye image is now the recommended size times
vr_resolution_scale (archived, 1.25 by default, which is 2160), held to what
the view (maxImageRect) and the swapchain allow; the engine's screen size is
set to match before the swapchains are made. The log has the recommended size,
the largest the view and swapchain take, and what was used. The HUD shift
and the rest work from the real width, so they follow.

vr_refresh_rate (archived, default 90, standard section 9) is asked for
with xrRequestDisplayRefreshRateFB: the highest the runtime offers that isn't
over it. The offered list, the request and the result are logged. The
earlier "now: 90 Hz" at a 13.89 ms frame period was a mismatch in what
was read, not asked for; vr_refresh follows the real frame period.

Frame build only. Builds, haven't run it on the headset yet.
2026-10-05 02:02:49 +09:00
Madison a4f12f84fd Frame: use Half-Life from Steam where it is, read only
The Android container on the Frame shows the headset's Steam folders at the
same paths, read only. At start the app looks for steamapps/common/Half-Life
(valve/liblist.gam) in the Steam library and in the other libraries
libraryfolders.vdf lists, and gives the engine that folder as XASH3D_RODIR.
The engine searches it after the writable folder, so the saves, the
settings and the files this app puts in /sdcard/Documents/Lambda1VR (the
replacement models and sprites) win over Steam's. Nothing is written into the
Steam folder. If there's no Half-Life there, a copy in Documents is used as
before, and a [data] line in the log says which one it was.

Builds. Haven't tried it on the headset yet.
2026-10-04 23:38:22 +09:00
Madison 45c66088fd Doc: the Frame controls, from Half-Life's own gamepad layout, and the level HUD 2026-10-04 22:10:56 +09:00
Madison 0220e23845 Doc: eye poses and the HUD distance on the Frame
What the runtime said about the eyes on my headset (+-34.5 mm, no
rotation), what's drawn and submitted from that now, where the HUD
sits and how to move it, and what I measured on the eye images.
2026-10-04 21:24:01 +09:00
Madison daec3490e7 Update the Steam Frame doc after the first run on the headset
Unattended on the desk, but it runs: loader, session, first level in both
eyes, clean quit. Also the three Frame fixes (framebuffer attachments,
engine log, refresh rate) and the JavaVM one, which touches Quest too.
2026-10-04 19:13:10 +09:00
Madison 3e9c44b38b Add a doc for the Steam Frame build
How to build it, install it, where the game data goes, what the controls
are, what I changed and why, and what I've checked so far (not much on
the headset side, I haven't tried it there yet).
2026-10-04 18:47:00 +09:00