Skip to content

ALVR v21 API Migration, 3DoF Stillness-based Bias estimator, ARCore with Complimentary filter, Adjustable FOV - #458

Open
righthandpaw wants to merge 30 commits into
PhoneVR-Developers:masterfrom
righthandpaw:own-head-filter
Open

righthandpaw wants to merge 30 commits into
PhoneVR-Developers:masterfrom
righthandpaw:own-head-filter

Conversation

@righthandpaw

Copy link
Copy Markdown
  • Migrated to ALVR v21 API (v21.0.0-Dev14)
  • Stillness-based bias estimator to reduce IMU Yaw drift
  • ARCore (6DoF) with Complimentary filter
  • Settings page
  • 3DoF only mode
  • Adjustable FOV
  • Compatible with ALVR Wired mode

righthandpaw and others added 30 commits October 5, 2026 01:18
…caling option; 30 ms prediction; ARCore optional meta-data
ALVR's dashboard decides whether the wired client is ready by reading
the first "mResumed" line of `dumpsys activity <package>`. Once the
ALVR screen was opened, PhoneVR had two activities on the stack: the
stopped InitActivity and the resumed ALVRActivity. InitActivity's line
came first, so the dashboard kept reporting "client is paused" and
never connected. That status is not logged in release builds, so the
only symptom was that the Wired Connection toggle did nothing.

Call finish() on InitActivity after it starts ALVRActivity, both from
the ALVR button and from the "remember" auto-start path, so only one
activity remains. The "switch server" menu item still brings the menu
back because it starts a new InitActivity.

The Wired Connection toggle now connects without adding 127.0.0.1 by
hand, using the Custom wired client type with viritualisres.phonevr.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Replaces Cardboard's gyro tracker as the 3DoF orientation source once sensor
data arrives (USE_OWN_HEAD_FILTER; falls back to Cardboard before that).
head_sensor_source.h reads gyro/accelerometer via the NDK and detects the
landscape direction from gravity. ARCore yaw correction is unchanged.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ln5UrkKLMZcTty7AhppJei
Pitching or rolling the head now moves the eyes a few cm, as on a real neck.
Zero when looking straight ahead; yaw is ignored on purpose. Only used when
ARCore is off (NECK_MODEL_ENABLED, NECK_EYE_UP_M, NECK_EYE_FORWARD_M).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ln5UrkKLMZcTty7AhppJei
Add neck model for seated 3DoF (no ARCore)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants