Grand Diomande Research · Full HTML Reader

Orbbec Femto Mega — Jetson AGX Orin 64GB Build Rehearsal

No container runtime on Mac1: `docker`, `colima`, `podman`, `lima` all absent, and `/Applications` has no Docker/OrbStack. Per the operating contract, no host install attempted. A cross-arch rehearsal is not possible on this machine without first installing Docker Desktop or Colima + qemu-user-static.

Embodied Trajectory Systems research note experiment writeup candidate score 20 .md

Full Public Reader

Orbbec Femto Mega — Jetson AGX Orin 64GB Build Rehearsal

Target: Ubuntu 22.04 aarch64, JetPack 6, native build on device.
Rehearsal host: Mac1 (Apple Silicon). Date: 2026-04-21.

(a) arm64 build status on Mac1 — BLOCKED

No container runtime on Mac1: `docker`, `colima`, `podman`, `lima` all
absent, and `/Applications` has no Docker/OrbStack. Per the operating
contract, no host install attempted. A cross-arch rehearsal is not
possible on this machine without first installing Docker Desktop or
Colima + qemu-user-static.

Mitigation: sources audited directly from the Orbbec GitHub repos. The
authoritative dependency list below is lifted verbatim from Orbbec's
own `scripts/docker/aarch64.dockerfile` at tag `v2.7.6`, so the Jetson
bootstrap is not guesswork.

(b) Confirmed apt package list (from official aarch64.dockerfile)

sudo apt-get update
sudo apt-get install -y --no-install-recommends \
  build-essential git pkg-config curl ca-certificates zip tzdata \
  openssl libssl-dev \
  libusb-1.0-0-dev libudev-dev \
  libgtk-3-dev libglfw3-dev \
  libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev \
  libnuma1 \
  python3 python3-dev python3-venv python3-pip
# OpenCV: JetPack 6 ships libopencv-dev with CUDA; use system pkg:
sudo apt-get install -y libopencv-dev

CMake: JetPack 6 apt cmake is 3.22 which meets the >=3.15 floor, but
Orbbec's own image installs Kitware 3.30 to be safe. If `cmake
--version` < 3.25, pull the aarch64 tarball:
`https://github.com/Kitware/CMake/releases/download/v3.30.0/cmake-3.30.0-linux-aarch64.tar.gz`.

Note: `libudev-dev` is not in the upstream Dockerfile (it's pulled in
transitively by `libusb-1.0-0-dev`) but keep it explicit per spec.

(c) OrbbecSDK_v2 version

Use tag `v2.7.6` (latest stable, 2026-02-13). Femto Mega / Femto
Mega I are both "recommended for new designs" on v2.x.

git clone --branch v2.7.6 --depth 1 https://github.com/orbbec/OrbbecSDK_v2.git
cd OrbbecSDK_v2 && mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF ..
cmake --build . --config Release -j$(nproc)
# udev rules (MANDATORY — device open fails without them):
cd ../scripts/env_setup && sudo ./install_udev_rules.sh
sudo udevadm control --reload-rules && sudo udevadm trigger

Closed-source prebuilt libs: Orbbec ships them under
`lib/linux_aarch64/` (not `lib/arm64/`). The SDK CMake picks the right
subdir automatically via `CMAKE_SYSTEM_PROCESSOR`. Verify on-device
with `ls OrbbecSDK_v2/lib/linux_aarch64/` before `cmake`; if missing,
the git clone was truncated.

(d) pyorbbecsdk build notes

Use branch `v2-main` (tracks SDK v2.x; latest tag `v2.0.18`).

git clone --branch v2-main --depth 1 https://github.com/orbbec/pyorbbecsdk.git
cd pyorbbecsdk
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt   # pybind11==2.12.0, numpy, opencv-python, av, pygame, pynput
mkdir build && cd build
cmake -Dpybind11_DIR=$(pybind11-config --cmakedir) \
      -DCMAKE_BUILD_TYPE=Release ..
make -j$(nproc)
make install

Python 3.10 (JetPack 6 default) is inside the supported 3.8–3.13 band.
Same udev step applies. `av` wheel for aarch64 may need
`libavformat-dev libavcodec-dev libswscale-dev` — add those to apt if
`pip install av` hits a source build.

(e) Jetson-side bootstrap blockers / watch-outs

1. No local rehearsal performed — Mac1 lacks a container runtime.
First on-device build is the real test. Budget 20 min extra.
2. JetPack 6 OpenCV is CUDA-enabled and may collide with
`opencv-python` pip wheel inside the pyorbbec venv. Prefer
`--system-site-packages` on the venv, or drop `opencv-python` from
`requirements.txt` and rely on `python3-opencv`.
3. Femto Mega is GigE + USB; the camera needs a static-IP NIC
config for GigE mode. Bootstrap script should warn, not configure.
4. l4t-base r32.7.1 in the upstream Dockerfile is JetPack 5-era.
Native build on JetPack 6 is correct; do not copy the Dockerfile's
base image choice.
5. Prebuilt libs under `lib/linux_aarch64/` are closed-source — a
shallow clone is fine, but `git lfs` is not required (confirmed: no
`.gitattributes` LFS pointers in v2.7.6).

Rehearsal exit status: GREEN on info, YELLOW on verification. Ready to
run when device lands Friday.

Promotion Decision

Attach run IDs, datasets, metrics, and reproduction commands.

Source Anchor

lume-commerce/scripts/bringup/ORBBEC_BUILD_NOTES.md

Detected Structure

Evaluation · Figures · Code Anchors