From 6f5d2d9a1c4902c4e3482911e21de0a901b5faa7 Mon Sep 17 00:00:00 2001 From: Ivan Yang Date: Tue, 27 Oct 2026 15:16:17 -0700 Subject: [PATCH] docs: point source-build entry points at the shared prerequisites Link the OAK, Wuji and LeRobot pages to the whole Build from Source page so readers see the CMake version note in Prerequisites, and add the same pointer to the device pages, plugin READMEs and examples that run a top-level configure without one. Keep only plugin-specific packages inline. The camera_viz source-build prompt names the sections to follow and says that camera_viz needs Televiz, which builds only when the Vulkan headers and the CUDA toolkit are found. Signed-off-by: Ivan Yang --- docs/source/device/cameras/oak.rst | 4 ++-- docs/source/device/gamepad.rst | 5 +++-- docs/source/device/hand_tracking/haptikos.rst | 2 ++ docs/source/device/hand_tracking/manus.rst | 3 ++- docs/source/device/hand_tracking/wuji_glove.rst | 5 +++-- docs/source/device/spatial_controllers/spacemouse.rst | 3 ++- docs/source/device/tactile/oglo.rst | 3 ++- docs/source/integrations/lerobot/data_collection_real.rst | 6 ++++-- docs/source/integrations/lerobot/data_collection_sim.rst | 5 +++-- examples/camera_viz/scripts/_install_deps.sh | 7 +++++-- examples/noitom/README.md | 5 +++-- examples/oglo_tactile/README.md | 5 ++++- examples/oxr/README.md | 4 ++-- examples/oxr/python/README.md | 5 +++-- examples/robot_viz/README.md | 2 +- examples/vehicle_teleop/README.md | 3 ++- src/plugins/haptikos/README.md | 2 ++ src/plugins/noitom_mocap/README.md | 3 ++- src/plugins/oak/CMakeLists.txt | 3 ++- src/plugins/oak/README.md | 3 +++ src/plugins/oglo_tactile/README.md | 5 +++-- src/plugins/xsens_full_body/USER_GUIDE.md | 3 ++- 22 files changed, 57 insertions(+), 29 deletions(-) diff --git a/docs/source/device/cameras/oak.rst b/docs/source/device/cameras/oak.rst index 957004f48c..f2047989c3 100644 --- a/docs/source/device/cameras/oak.rst +++ b/docs/source/device/cameras/oak.rst @@ -34,8 +34,8 @@ subsequent builds are fast. Prerequisites ~~~~~~~~~~~~~ -Complete the :ref:`source-build prerequisites ` first, then install -the OAK-specific dependencies: +Complete the :doc:`source-build prerequisites ` +first, then install the OAK-specific dependencies: .. code-block:: bash diff --git a/docs/source/device/gamepad.rst b/docs/source/device/gamepad.rst index e3a1a1c945..c1a615e3af 100644 --- a/docs/source/device/gamepad.rst +++ b/docs/source/device/gamepad.rst @@ -86,8 +86,9 @@ and pass the pad's ``/dev/input/event*`` node into a container. Build ----- -Linux only. The plugin builds with the default plugin set and fetches SDL3 (zlib license) at -configure time, linking it statically with only its joystick and HIDAPI subsystems: +Linux only. Complete the :doc:`source-build prerequisites ` +first. The plugin builds with the default plugin set and fetches SDL3 (zlib license) at configure +time, linking it statically with only its joystick and HIDAPI subsystems: .. code-block:: bash diff --git a/docs/source/device/hand_tracking/haptikos.rst b/docs/source/device/hand_tracking/haptikos.rst index 94d535e38f..f65ba76a98 100644 --- a/docs/source/device/hand_tracking/haptikos.rst +++ b/docs/source/device/hand_tracking/haptikos.rst @@ -33,6 +33,8 @@ Prerequisites ------------- - **Linux** — x86_64 (tested on Ubuntu 22.04 / 24.04). - **Haptikos API** for Linux. +- **Source-build prerequisites** — the toolchain and system packages in + :doc:`/development/build_from_source/index`. Quick Start diff --git a/docs/source/device/hand_tracking/manus.rst b/docs/source/device/hand_tracking/manus.rst index f39b53d927..237bff9c7e 100644 --- a/docs/source/device/hand_tracking/manus.rst +++ b/docs/source/device/hand_tracking/manus.rst @@ -122,7 +122,8 @@ Expected directory layout after placing the SDK: lib/ libManusSDK.so -Then build from the root: +Then, after the :doc:`source-build prerequisites `, +build from the root: .. code-block:: bash diff --git a/docs/source/device/hand_tracking/wuji_glove.rst b/docs/source/device/hand_tracking/wuji_glove.rst index 2f27753f9e..b293283d99 100644 --- a/docs/source/device/hand_tracking/wuji_glove.rst +++ b/docs/source/device/hand_tracking/wuji_glove.rst @@ -35,8 +35,9 @@ Prerequisites ------------- - **Linux** — x86_64 or aarch64 (tested on Ubuntu 22.04 / 24.04). -- **Source-build prerequisites** — complete :ref:`one-time-setup` before running - ``install.sh``. +- **Source-build prerequisites** — the toolchain and system packages in + :doc:`/development/build_from_source/index`, for ``install.sh`` and the manual + CMake build alike. - **wuji_sdk C SDK v2026.7.14** — the ``wuji-sdk-c-2026.7.14--linux-gnu.tar.gz`` GitHub release asset, which extracts to ``include/wuji_sdk.h`` plus ``lib/libwuji_sdk_c.so`` and its diff --git a/docs/source/device/spatial_controllers/spacemouse.rst b/docs/source/device/spatial_controllers/spacemouse.rst index 07000e4e0e..9d896bccfb 100644 --- a/docs/source/device/spatial_controllers/spacemouse.rst +++ b/docs/source/device/spatial_controllers/spacemouse.rst @@ -53,7 +53,8 @@ read-only for all users. No group membership is needed. Build ----- -Linux only. The plugin builds with the default plugin set: +Linux only. Complete the :doc:`source-build prerequisites ` +first. The plugin builds with the default plugin set: .. code-block:: bash diff --git a/docs/source/device/tactile/oglo.rst b/docs/source/device/tactile/oglo.rst index 000a25f4dc..ec2467fe78 100644 --- a/docs/source/device/tactile/oglo.rst +++ b/docs/source/device/tactile/oglo.rst @@ -38,7 +38,8 @@ Components Build ----- -Linux only (BlueZ). The plugin is off by default. +Linux only (BlueZ). The plugin is off by default. Complete the +:doc:`source-build prerequisites ` first, then: .. code-block:: bash diff --git a/docs/source/integrations/lerobot/data_collection_real.rst b/docs/source/integrations/lerobot/data_collection_real.rst index 4230ad23be..3f9c9f4c42 100644 --- a/docs/source/integrations/lerobot/data_collection_real.rst +++ b/docs/source/integrations/lerobot/data_collection_real.rst @@ -157,14 +157,16 @@ Then follow the steps for your teleop device: Isaac Teleop's ``so101_leader`` plugin, which the script launches for you. #. **Build the so101_leader plugin.** It is part of Isaac Capture's C++ source, not the - ``isaaccapture`` pip package, so build it from an Isaac Capture checkout: + ``isaaccapture`` pip package. Install the + :doc:`source-build prerequisites ` first, then + build it from an Isaac Capture checkout: .. code-block:: bash cmake -B build && cmake --build build --parallel && cmake --install build The binary lands at ``install/plugins/so101_leader/so101_leader_plugin``. For details see - :ref:`so101-leader-plugin` and :doc:`/development/build_from_source/index`. + :ref:`so101-leader-plugin`. #. **Calibrate the leader** so the leader and follower agree on each joint's zero and range. This reuses the serial SO-101 leader's calibration (stored under ``so_leader/.json`` diff --git a/docs/source/integrations/lerobot/data_collection_sim.rst b/docs/source/integrations/lerobot/data_collection_sim.rst index 8fe2654d09..58a52a7ad7 100644 --- a/docs/source/integrations/lerobot/data_collection_sim.rst +++ b/docs/source/integrations/lerobot/data_collection_sim.rst @@ -114,8 +114,9 @@ Collect Teleop Data source. If ``./install/plugins/so101_leader/so101_leader_plugin`` does not exist, this step has not been completed. - Install the :ref:`source-build prerequisites ` first, including - ``clang-format-14`` for the Linux format check. Then clone, configure, build, and install: + Install the :doc:`source-build prerequisites ` + first, including ``clang-format-14`` for the Linux format check. Then clone, configure, + build, and install: .. code-block:: bash diff --git a/examples/camera_viz/scripts/_install_deps.sh b/examples/camera_viz/scripts/_install_deps.sh index 17f7d8836f..f362f24828 100755 --- a/examples/camera_viz/scripts/_install_deps.sh +++ b/examples/camera_viz/scripts/_install_deps.sh @@ -442,9 +442,12 @@ EOF isaaccapture can be built from this checkout instead: $REPO_ROOT -That is a full C++ / CUDA / Vulkan build and takes a while. Install the -source-build prerequisites first: +That is a full C++ / CUDA / Vulkan build and takes a while. First install +the source-build prerequisites from the Prerequisites and One time setup +sections of: $REPO_ROOT/docs/source/development/build_from_source/index.rst +camera_viz needs Televiz (isaaccapture.viz), which is built only when the +Vulkan headers (libvulkan-dev) and the CUDA toolkit are found. EOF if ! $BUILD_FROM_SOURCE; then diff --git a/examples/noitom/README.md b/examples/noitom/README.md index b9d6027f93..a8fdad0353 100644 --- a/examples/noitom/README.md +++ b/examples/noitom/README.md @@ -20,8 +20,9 @@ set its `--host` and `--port` arguments to the Hybrid Data Server TCP endpoint. ## Build -The Noitom SDK is not vendored in this repository. Build the optional plugin -when you need Noitom support: +The Noitom SDK is not vendored in this repository. Complete the +[source-build prerequisites](https://nvidia.github.io/IsaacCapture/main/development/build_from_source/index.html), then build the +optional plugin when you need Noitom support: ```bash cmake -B build -DBUILD_PLUGIN_NOITOM_MOCAP=ON diff --git a/examples/oglo_tactile/README.md b/examples/oglo_tactile/README.md index 6779aa2214..6b65b05837 100644 --- a/examples/oglo_tactile/README.md +++ b/examples/oglo_tactile/README.md @@ -28,9 +28,12 @@ session, records, and draws the overlay). `oglo_heatmap.py` is the renderer. 1. **System deps** + Complete the [source-build prerequisites](https://nvidia.github.io/IsaacCapture/main/development/build_from_source/index.html) + first, then: + ```bash sudo apt install libdbus-1-dev # BlueZ for the BLE plugin - sudo apt install pkg-config glslang-tools libvulkan-dev # BUILD_VIZ=ON below + sudo apt install libvulkan-dev # BUILD_VIZ=ON below; also needs the CUDA toolkit pip install pillow numpy # heatmap renderer pip install cupy-cuda12x # headset overlay GPU upload (match your CUDA) ``` diff --git a/examples/oxr/README.md b/examples/oxr/README.md index 7e63f62118..f09146c916 100644 --- a/examples/oxr/README.md +++ b/examples/oxr/README.md @@ -1,5 +1,5 @@ @@ -9,7 +9,7 @@ Examples demonstrating the modular OpenXR tracking API. ## Prerequisites -1. **Build the core library first:** +1. **Build the core library first**, after the [source-build prerequisites](https://nvidia.github.io/IsaacCapture/main/development/build_from_source/index.html): ```bash # From project root cmake -B build diff --git a/examples/oxr/python/README.md b/examples/oxr/python/README.md index afc1ace4c0..5ff2ca5f07 100644 --- a/examples/oxr/python/README.md +++ b/examples/oxr/python/README.md @@ -1,5 +1,5 @@ @@ -9,7 +9,8 @@ Python examples demonstrating the OpenXR tracking API using the `isaaccapture` P ## Prerequisites -1. **Build and install the project** (from the project root): +1. **Build and install the project** from the project root, after the + [source-build prerequisites](https://nvidia.github.io/IsaacCapture/main/development/build_from_source/index.html): ```bash cd ../../.. cmake -B build diff --git a/examples/robot_viz/README.md b/examples/robot_viz/README.md index 25f01e3500..ab57774694 100644 --- a/examples/robot_viz/README.md +++ b/examples/robot_viz/README.md @@ -40,7 +40,7 @@ Two calibrations, different in kind. `src/viz/robot_twin/cpp/frames.hpp` is a co ## Build -Nothing here is compiled; what has to be built is `isaaccapture` itself. +Nothing here is compiled; what has to be built is `isaaccapture` itself. Complete the [source-build prerequisites](https://nvidia.github.io/IsaacCapture/main/development/build_from_source/index.html) first, including the Televiz ones that `BUILD_VIZ=ON` needs. ```bash cmake -B build -DBUILD_VIZ=ON diff --git a/examples/vehicle_teleop/README.md b/examples/vehicle_teleop/README.md index f12a288420..a836efdcf6 100644 --- a/examples/vehicle_teleop/README.md +++ b/examples/vehicle_teleop/README.md @@ -17,7 +17,8 @@ The remote side uses the native Linux steering wheel plugin and Isaac Teleop Ope ## Setup -Build and install Isaac Teleop with examples enabled. From the Isaac Teleop repository root: +Build and install Isaac Teleop with examples enabled, after the [source-build prerequisites](https://nvidia.github.io/IsaacCapture/main/development/build_from_source/index.html). +From the Isaac Teleop repository root: ```bash cmake -B build -DBUILD_EXAMPLES=ON diff --git a/src/plugins/haptikos/README.md b/src/plugins/haptikos/README.md index 1f94116865..7fbeb6bd18 100644 --- a/src/plugins/haptikos/README.md +++ b/src/plugins/haptikos/README.md @@ -33,6 +33,8 @@ src/plugins/haptikos/ ``` ### Build +Complete the [source-build prerequisites](https://nvidia.github.io/IsaacCapture/main/development/build_from_source/index.html) first. + #### Build the plugin ```bash diff --git a/src/plugins/noitom_mocap/README.md b/src/plugins/noitom_mocap/README.md index 8c3e9dd4b1..0bee75d8b4 100644 --- a/src/plugins/noitom_mocap/README.md +++ b/src/plugins/noitom_mocap/README.md @@ -22,7 +22,8 @@ provides it. ## Build The SDK is fetched from `https://github.com/pnmocap/MocapApi`; it is not checked -into this repository. +into this repository. Complete the [source-build prerequisites](https://nvidia.github.io/IsaacCapture/main/development/build_from_source/index.html) +first. ```bash cmake -B build -DBUILD_PLUGIN_NOITOM_MOCAP=ON diff --git a/src/plugins/oak/CMakeLists.txt b/src/plugins/oak/CMakeLists.txt index d8292acf72..33076a633c 100644 --- a/src/plugins/oak/CMakeLists.txt +++ b/src/plugins/oak/CMakeLists.txt @@ -6,7 +6,8 @@ # ============================================================================== # This plugin uses FetchContent for DepthAI and vcpkg for its transitive deps. # -# Prerequisites: +# Prerequisites, after the shared source-build prerequisites in +# docs/source/development/build_from_source/index.rst: # 1. Build tools for vcpkg to build libusb (Linux only): # sudo apt install libudev-dev autoconf automake libtool pkg-config # diff --git a/src/plugins/oak/README.md b/src/plugins/oak/README.md index b956eed960..ff1eb17ee6 100644 --- a/src/plugins/oak/README.md +++ b/src/plugins/oak/README.md @@ -22,6 +22,9 @@ builds are fast. ### Prerequisites +Complete the [source-build prerequisites](https://nvidia.github.io/IsaacCapture/main/development/build_from_source/index.html) +first, then install the OAK-specific dependencies: + ```bash # Install build tools for vcpkg to build libusb (Linux) sudo apt install libudev-dev autoconf automake libtool pkg-config diff --git a/src/plugins/oglo_tactile/README.md b/src/plugins/oglo_tactile/README.md index 10df4b7456..f52596c232 100644 --- a/src/plugins/oglo_tactile/README.md +++ b/src/plugins/oglo_tactile/README.md @@ -28,10 +28,11 @@ so packet sizes are never hardcoded (wire spec: the OGLO firmware packed12-v5 pa ## Build -Linux only (BlueZ). Prerequisite: +Linux only (BlueZ). Complete the [source-build prerequisites](https://nvidia.github.io/IsaacCapture/main/development/build_from_source/index.html) +first, then: ```bash -sudo apt install libdbus-1-dev pkg-config +sudo apt install libdbus-1-dev ``` ```bash diff --git a/src/plugins/xsens_full_body/USER_GUIDE.md b/src/plugins/xsens_full_body/USER_GUIDE.md index 0789ec07f7..ee382c5155 100644 --- a/src/plugins/xsens_full_body/USER_GUIDE.md +++ b/src/plugins/xsens_full_body/USER_GUIDE.md @@ -50,7 +50,8 @@ You do **not** need an XR headset. ## 3. Get the plugin binary -If you built Isaac Teleop from source, the binary is already there: +If you built Isaac Teleop from source (see the [source-build prerequisites](https://nvidia.github.io/IsaacCapture/main/development/build_from_source/index.html)), +the binary is already there: ```bash cmake -B build