Skip to content

Quest 3 teleop: rcsv1 IRIS APK shows no UI and never appears in pyzlc get_nodes_info #339

Description

@Jasper1004

Hi — I'm setting up the Quest 3 teleoperation from examples/teleop in simulation
(DuoBench tasks) and the headset never gets discovered. I've ruled out the networking
side, so I suspect a version pairing issue and would appreciate some guidance.

Setup

  • IRIS APK: rcsv1 release (2026-04-09, built from main)
  • SimPublisher: RobotControlStack fork, 56e5ea5a (2026-05-05)
  • pyzlc: 2.2.0
  • rcs-core: 0.7.2 (PyPI wheel)
  • OS / Python: Ubuntu 24.04, Python 3.11
  • Network: Quest and PC on the PC's own Wi-Fi hotspot — PC 10.42.0.1, Quest 10.42.0.214, ufw inactive

Symptoms

  1. The app runs but renders nothing. logcat confirms it starts correctly
    (Unity + OpenXR initialised, VrMode=1, PT=1, hand tracking services connected),
    but inside the headset there is only passthrough — no UI or panels anywhere in view.
    It also cannot be launched from the Library ("app unavailable"); it only starts via
    adb shell monkey -p com.IntuitiveRobotsLab.IRISMetaQuest3 -c android.intent.category.LAUNCHER 1.

  2. The headset never appears in pyzlc.get_nodes_info(ZLC_GROUP_NAME), so
    quest_align_frame.py prints None indefinitely and the Dashboard's Scan finds nothing.

What I've already ruled out

Networking is fine in both directions.

  • tcpdump on the hotspot interface shows multicast to 239.255.10.10:7720 from both
    10.42.0.1 and 10.42.0.214.
  • The TCP port advertised in the Quest's heartbeat is reachable (nc -zv succeeds).
  • ip maddr show confirms the PC joined 239.255.10.10 on the correct interface.
  • Two pyzlc processes on the PC discover each other without problems.

It doesn't look like a version mismatch. The APK was built 2026-04-09, and pyzlc 2.2.0
(released 2026-03-15) was the latest release at that time — which is exactly what's installed.
Checking out SimPublisher 7819186 (2026-04-03) doesn't help either: uv then resolves pyzlc
to 2.2.4 and pyzlc.init() raises TypeError: init() got an unexpected keyword argument 'sub_group'.

For reference, the Quest's heartbeat payload contains two UUIDs and a TCP port, but no name
or topic list.

Questions

  1. Which SimPublisher / pyzlc versions is the rcsv1 APK meant to be paired with?
  2. Is a newer APK build available anywhere? The link in examples/teleop/README.md points to
    Actions run 25190284304, whose artifact expired on 2026-07-29 — and every artifact in that
    repo is now past the 90-day retention window, so there's currently no downloadable build
    from that link. (I tried building it myself from a fork, but the workflow needs the
    UNITY_LICENSE secret.)
  3. Does the IRIS app require any in-headset configuration before it registers as a node?

Happy to run any further diagnostics. Thanks for open-sourcing this — the rest of the stack has been
working well for us.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions