> ## Documentation Index
> Fetch the complete documentation index at: https://docs.almond.bot/llms.txt
> Use this file to discover all available pages before exploring further.

# gst.build-zed

> Build and install the patched zed-gstreamer plugins (sensor-accurate timestamps) on a Jetson.

Builds and installs the **patched** Stereolabs zed-gstreamer source plugins (`zedxonesrc` mono / `zedsrc` stereo) that the GPU-resident camera pipeline ([`almond_axol.video.gst_zed`](/api/vr)) uses for [`teleop --cameras`](/cli/teleop) and [`collect-data`](/cli/collect-data). This is the companion to [`gst.install`](/cli/gst-install): `gst.install` sets up the host GStreamer support and PyGObject, while `gst.build-zed` provides the ZED **source elements** themselves.

```bash theme={null}
axol gst.build-zed
```

It exists rather than relying on a stock plugin install for two reasons:

* **A fresh Jetson has no zed-gstreamer plugins at all.** Without them the GPU-resident camera path silently falls back to the slower ZED SDK grab; building them makes the fast path available.
* **The stock `zedxonesrc` / `zedsrc` stamp each frame's PTS at host-receive time** (a software clock sampled right after `grab()` returns), which lags the true sensor exposure by the camera delivery latency. The vendored patch instead stamps the PTS at the sensor-exposure instant (`TIME_REFERENCE::IMAGE`), so a frame lines up with the joint sample taken on the same exposure clock as the SDK [`ZedCamera`](/api/lerobot#zedcamera) path. Without it, collected datasets pair each image with proprioception that is \~delivery-latency too new — and that offset differs from inference (which uses the SDK), i.e. a train/inference mismatch.

The command clones upstream at a pinned commit (the exact ref the patch was generated against), applies the patch, and builds + installs with CMake. The [one-command install](/installation) runs it for you once, right after [`gst.install`](/cli/gst-install).

<Note>
  Requires the **ZED SDK** at `/usr/local/zed` and the Jetson build toolchain. Idempotent (a stamp file recording the pinned ref + patch digest skips a rebuild when the patched plugins are already installed) and best-effort: a no-op on machines without the SDK / toolchain — the camera path then uses the ZED SDK fallback. Installing into the system GStreamer plugin dir needs root: run as root, or you'll be prompted for `sudo` once.
</Note>
