Installation¶
orange is Linux-only and has been tested on NVIDIA GPUs with compute capability 7.5 (Turing) and 8.0 (Ampere). The CMake build produces a fatbin for both architectures by default. To target a different one, pass -DCMAKE_CUDA_ARCHITECTURES=<code> at configure time (e.g. 86 for RTX 30-series, 89 for Ada Lovelace, 90 for Hopper).
Skip the install — use the prebuilt image
An Ubuntu image is available with preinstalled orange and the labeling app red. Contact the developer for access — see Clonezilla image.
Reference system stack¶
This is the stack shipped on the Clonezilla image and is the reference configuration:
| Component | Version |
|---|---|
| Ubuntu | 22.04.4 |
| Linux kernel | 6.5.0-44-generic |
| NVIDIA driver | 535.183.06 |
| Emergent eSDK | 2.55.02 |
| CUDA | 12.2 |
| FFmpeg | 4.4 |
| OpenCV | 4.10 |
| TensorRT | 10.0.1.6 |
Hardware requirements¶
- NVENC required. Video encoding is done on the GPU via NVIDIA NVENC, so the GPU must support it. Most consumer/workstation NVIDIA GPUs do (RTX series, A6000, etc.); some datacenter compute parts (e.g. A100) have limited or no NVENC. Check NVIDIA's Video Encode and Decode GPU Support Matrix before buying hardware.
- Kernel pinned to 6.5. As of writing, the Emergent eSDK does not support kernel 6.8. Disable network access during Ubuntu install to prevent an automatic upgrade — see CUDA & Emergent SDK setup.
- BIOS settings. Enable PCIE Above 4G Decoding and Resizable Bar. You may need to update your BIOS if these options aren't present.
Software dependencies¶
Walkthroughs for each:
- CUDA & Emergent SDK — Linux setup, NIC config, NVIDIA driver, CUDA, GPU-Direct
- FFmpeg 4.4 — built with NVENC support
- OpenCV — with
opencv_sfm, optionally with cuDNN - TensorRT — for real-time detection
-
OpenGL and GLEW (one apt-get):
-
ENET: follow enet.bespin.org, then
sudo ldconfig(or reboot). - Submodules (Dear ImGui, ImPlot, ImGuiFileDialog, IconFontCppHeaders, FlatBuffers) are bundled in
third_party/— fetched automatically withgit clone --recursive. No separate install.
Build orange¶
Once dependencies are in place, see Build orange.