Skip to content

Releases: CyberoniOntoni/opentrack-smoothtrack

OpenTrack SmoothTrack 1.0.4

Choose a tag to compare

@CyberoniOntoni CyberoniOntoni released this 28 Sep 10:29

Dual-platform SmoothTrack USB tracking for iOS and Android with upstream OpenTrack sync.

What's New in 1.0.4

  • Upstream Synchronization:
    • Cherry-picked and merged critical fixes and enhancements from upstream opentrack/opentrack master:
      • CMake install prefix safeguard (cmake: set install prefix before any errors can occur).
      • PaperTracker multi-marker pose estimation overhaul with bundle adjustment.
      • PaperTracker OpenCV 5 compatibility guards and out-of-bounds line clipping.
      • Pose cache optimization after refinement to reduce redundant CPU usage.
  • SmoothTrack USB Reliability:
    • Hardened ADB reverse relay lifecycle for Android USB tracking (automatic ABI detection for ARM64 and ARMv7, automatic daemon staging and graceful cleanup).
    • Native iOS USB tracking via libusbmuxd (port 47047).
    • Bundled ADB platform-tools and relay binaries directly in the distribution.
  • Documentation:
    • Added complete, step-by-step Quick Start guides for both iOS and Android in the README.

How SmoothTrack USB Tracking Works

Android USB

  1. Enable Developer Options and turn on USB Debugging on your phone.
  2. Connect your device to your PC via USB cable and allow debugging when prompted.
  3. Open SmoothTrack on Android: set Target IP to 127.0.0.1 and Port to 4242.
  4. In OpenTrack: select SmoothTrack (USB) as tracker -> click ... -> select Android (USB via ADB Relay).
  5. Click Start. OpenTrack sets up the reverse tunnel, runs st-relay on device, and cleans up automatically on stop.

iOS USB

  1. Connect your iPhone / iPad via USB cable and ensure it trusts the PC.
  2. Open SmoothTrack on iOS -> Settings -> enable Activate USB Connection.
  3. In OpenTrack: select SmoothTrack (USB) -> click ... -> select iOS (Apple USB via usbmuxd) (Port 47047).
  4. Click Start.

OpenTrack SmoothTrack 1.0.3

Choose a tag to compare

@CyberoniOntoni CyberoniOntoni released this 15 Sep 14:54
0eb4703

In this version Android USB support added. Select SmoothTrack (USB) as input and click settings to select Android as your platform.

How Android USB tracking works

The phone never talks to your PC’s real IP, so we won't have networking conflicts with your existing connection.
USB + ADB makes the phone think OpenTrack is 127.0.0.1 on the phone itself.

  1. You plug in the phone and turn on USB debugging (which needs to be enabled on your device).
  2. OpenTrack starts a listener on the PC: 127.0.0.1, port 4242 (or whatever you set).
  3. ADB reverse maps that same port on the phone back to the PC. Phone 127.0.0.1:4242 → PC 127.0.0.1:4242.
  4. OpenTrack copies a tiny program (st-relay) onto the phone and runs it.
  5. SmoothTrack on the phone sends head pose as UDP to 127.0.0.1:4242 (the relay).
  6. st-relay turns that UDP into a TCP stream and sends it through the reverse tunnel to OpenTrack.
  7. OpenTrack reads 6 numbers (yaw, pitch, roll, x, y, z) and moves the view.

Stop tracking and OpenTrack kills the relay and removes the port mapping. No VPN, no typing the PC’s IP address.

Bugfix. Fixed all previous issues and ADB service now closes automatically if no connection is established or OpenTrack is closed.

OpenTrack SmoothTrack 1.0.2

Choose a tag to compare

@CyberoniOntoni CyberoniOntoni released this 15 Sep 08:10
0eb4703

In this version Android USB support added. Select SmoothTrack (USB) as input and click settings to select Android as your platform.

How Android USB tracking works

The phone never talks to your PC’s real IP, so we won't have networking conflicts with your existing connection.
USB + ADB makes the phone think OpenTrack is 127.0.0.1 on the phone itself.

  1. You plug in the phone and turn on USB debugging (which needs to be enabled on your device).
  2. OpenTrack starts a listener on the PC: 127.0.0.1, port 4242 (or whatever you set).
  3. ADB reverse maps that same port on the phone back to the PC. Phone 127.0.0.1:4242 → PC 127.0.0.1:4242.
  4. OpenTrack copies a tiny program (st-relay) onto the phone and runs it.
  5. SmoothTrack on the phone sends head pose as UDP to 127.0.0.1:4242 (the relay).
  6. st-relay turns that UDP into a TCP stream and sends it through the reverse tunnel to OpenTrack.
  7. OpenTrack reads 6 numbers (yaw, pitch, roll, x, y, z) and moves the view.

Stop tracking and OpenTrack kills the relay and removes the port mapping. No VPN, no typing the PC’s IP address.

Fixed Android ARM64 Loader

OpenTrack SmoothTrack 1.0.1

Choose a tag to compare

@CyberoniOntoni CyberoniOntoni released this 15 Sep 00:00
0eb4703

In this version Android USB support added. Select SmoothTrack (USB) as input and click settings to select Android as your platform.

How Android USB tracking works

The phone never talks to your PC’s real IP, so we won't have networking conflicts with your existing connection.
USB + ADB makes the phone think OpenTrack is 127.0.0.1 on the phone itself.

  1. You plug in the phone and turn on USB debugging (which needs to be enabled on your device).
  2. OpenTrack starts a listener on the PC: 127.0.0.1, port 4242 (or whatever you set).
  3. ADB reverse maps that same port on the phone back to the PC. Phone 127.0.0.1:4242 → PC 127.0.0.1:4242.
  4. OpenTrack copies a tiny program (st-relay) onto the phone and runs it.
  5. SmoothTrack on the phone sends head pose as UDP to 127.0.0.1:4242 (the relay).
  6. st-relay turns that UDP into a TCP stream and sends it through the reverse tunnel to OpenTrack.
  7. OpenTrack reads 6 numbers (yaw, pitch, roll, x, y, z) and moves the view.

Stop tracking and OpenTrack kills the relay and removes the port mapping. No VPN, no typing the PC’s IP address.

This release Android support is bugged. Fixed in 1.0.2

OpenTrack SmoothTrack 1.0

Choose a tag to compare

@CyberoniOntoni CyberoniOntoni released this 03 Aug 01:46
0eb4703

This version is identical to the official OpenTrack repo with SmoothTrack implemented and polished from pending PRs on original repo