Skip to main content

Jetson AGX Orin Developer Kit with JetPack 7.2.x

Instruction

TechNexion Embedded Vision Solutions provide embedded system developers access to high-performance, industrial-grade camera solutions to accelerate their time to market for embedded vision projects.

Supported Platforms

PlatformSupported JetPackGMSL2 Adaptor
Jetson AGX Orin Developer KitJetPack 7.2, 7.2.1VL-GM2-AGX-8CAM

Supported Camera Modules

Camera SeriesProducts
VLS-GM2
VLS-GM2-AR0144
VLS-GM2-AR0145
VLS-GM2-AR0234
VLS-GM2-AR0235
VLS-GM2-AR0246
VLS-GM2-AR0521
VLS-GM2-AR0522
VLS-GM2-AR0544
VLS-GM2-AR0821
VLS-GM2-AR0822
VLS-GM2-AR0830
VLS-GM2-AR1335
VLS-GM2-AR2020
Camera Sensor Comparison

More Camera Products Details...

Validated configuration

This guide has been validated on Jetson AGX Orin Developer Kit with JetPack 7.2 and 7.2.1. JetPack 7.2 uses Linux for Tegra 39.2.0 and the JP72 package; JetPack 7.2.1 uses Linux for Tegra 39.2.1 and the JP721 package. Both versions use kernel 6.8.12-1021-tegra.


Install TN Camera on Jetson AGX Orin Developer Kit

Adaptor for NVIDIA Jetson AGX Orin Developer Kit

Use the VL-GM2-AGX-8CAM adaptor for VLS-GM2 and VLM-GM2 cameras on Jetson AGX Orin Developer Kit. For adaptor pinout and power details, see VL-GM2-AGX-8CAM.


Method 1 - Using TechNexion pre-built modules

info

Install the NVIDIA JetPack version matching the selected tab before installing the camera package. Replace <release_time> with the timestamp in the extracted directory name. JetPack 7.2 uses L4T 39.2.0 (JP72); JetPack 7.2.1 uses L4T 39.2.1 (JP721).

  1. Download and extract the package for your JetPack version, then enter its directory.
wget https://download.technexion.com/demo_software/EVK/NVIDIA/AGXOrin/pre-built-modules/latest/JP72/tn_camera_modules_jp72.tar.gz
tar -xf tn_camera_modules_jp72.tar.gz
cd tn_camera_modules_agx_orin_jp72_<release_time>/
  1. Run the installer and select the connected camera series when prompted.

The following examples show a successful interactive installation, answering Y to continue and n to reboot later. Kernel versions and additional backup/cleanup messages may vary by system.

$ sudo ./tn_install.sh
****** TechNexion Camera Driver Installation ******
This installer updates TechNexion camera drivers, camera DTBOs,
and boot entries for NVIDIA Jetson Development Kits.
Back up your image before continuing.
Continue? [Y/n] Y
Camera module:
[1] VLS-GM2 - VLS-GM2 Series Cameras with VL-GM2-8CAM-RPI22 Adaptor
[2] VLM-GM2 - VLM-GM2 Series Cameras with VL-GM2-8CAM-RPI22 Adaptor
Select camera module [1-2] (default: 1): 1
Reboot after installation? [y/N] n
Installing AGX Orin JP72
Selected module: VLS-GM2
Installation summary:
Kernel: 6.8.12-1021-tegra
Modules installed: 4
Boot files installed: 10
Default boot entry: vls-gm2
Camera overlay: /boot/tegra234-p3737-camera-vls-gm2-overlay.dtbo
Camera boot entries: 5
Finish Camera Driver Installation.
Reboot the device when the user is ready.
tip

Reboot the device after installation.


Method 2 - Build drivers from source code

Please follow the JetPack 7.x build guide to build camera driver modules.


Bring up Camera

TechNexion VizionViewer

VizionViewer™

GStreamer

After the camera initializes successfully, use the following commands to inspect and test it.

  1. Check the supported resolutions:

    $ gst-device-monitor-1.0 Video/Source
    Probing devices...

    Device found:

    name : vi-output, tevs 9-003d (V4L2)
    class : Video/Source
    caps : video/x-raw, format=UYVY, width=640, height=480, framerate=60/1
    video/x-raw, format=UYVY, width=1280, height=720, framerate=60/1
    video/x-raw, format=UYVY, width=1920, height=1080, framerate=60/1
    video/x-raw, format=UYVY, width=2560, height=1440, framerate=30/1
    video/x-raw, format=UYVY, width=3840, height=2160, framerate=15/1
    video/x-raw, format=NV16, width=640, height=480, framerate=60/1
    video/x-raw, format=NV16, width=1280, height=720, framerate=60/1
    video/x-raw, format=NV16, width=1920, height=1080, framerate=60/1
    video/x-raw, format=NV16, width=2560, height=1440, framerate=30/1
    video/x-raw, format=NV16, width=3840, height=2160, framerate=15/1
    properties:
    object.path = v4l2:/dev/video0
    device.api = v4l2
    media.class = Video/Source
    api.v4l2.path = /dev/video0
    api.v4l2.cap.driver = tegra-video
    api.v4l2.cap.card = vi-output, tevs 9-003d
    api.v4l2.cap.bus_info = platform:tegra-capture-vi:0
    api.v4l2.cap.version = 6.8.12
    api.v4l2.cap.capabilities = 84200001
    api.v4l2.cap.device-caps = 04200001
    node.name = v4l2_input.platform-tegra-capture-vi
    node.description = vi-output, tevs 9-003d (V4L2)
    factory.name = api.v4l2.source
    media.role = Camera
    gst-launch-1.0 pipewiresrc target-object=49 ! ...

    ...
  2. Verify a 1280x720 camera (/dev/video0) through the NVIDIA capture path without opening a display window:

    $ gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 num-buffers=30 ! \
    "video/x-raw(memory:NVMM), format=UYVY, width=1280, height=720, framerate=60/1" ! \
    nvvidconv ! "video/x-raw(memory:NVMM), format=NV12" ! fakesink sync=false
  3. Launch a 1280x720 camera (/dev/video0) via the GPU on the Jetson display:

    $ DISPLAY=:0 gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 ! \
    "video/x-raw(memory:NVMM), format=UYVY, width=1280, height=720, framerate=60/1" ! \
    nvvidconv ! "video/x-raw(memory:NVMM), format=NV12" ! nv3dsink sync=false

Troubleshooting

Cannot Find Cameras

If you cannot bring up the cameras, check whether the video devices exist.

$ ls /dev/video*  # List all video devices
/dev/video0 /dev/video1 /dev/video2 /dev/video3
/dev/video4 /dev/video5 /dev/video6 /dev/video7

Check whether the camera drivers have been probed.

$ lsmod | grep -E 'tevs|max96724|max96717'
max96717 32768 8
tevs 32768 0

You can also check whether the VLS-GM2 boot entry and the AGX Orin overlay are active after reboot.

$ grep -nE 'DEFAULT|LABEL|FDT|OVERLAYS' /boot/extlinux/extlinux.conf
DEFAULT tn-vls-gm2
LABEL tn-vls-gm2
FDT /boot/tegra234-p3737-0000+p3701-0005-nv.dtb
OVERLAYS /boot/tegra234-p3737-camera-vls-gm2-overlay.dtbo

Could not get EGL display connection or failed to start nv3dsink

If you encounter nvbufsurftransform: Could not get EGL display connection or nv3dsink: Failed to start when running the GStreamer command through SSH, run the command from the Jetson graphical session or set the display environment before launching the pipeline:

$ export DISPLAY=:0
$ export XDG_RUNTIME_DIR=/run/user/$(id -u)
$ gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 ! \
"video/x-raw(memory:NVMM), format=UYVY, width=1280, height=720, framerate=60/1" ! \
nvvidconv ! "video/x-raw(memory:NVMM), format=NV12" ! nv3dsink sync=false

If the display sink still cannot start from SSH, verify the camera capture path without opening a display window:

$ gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 num-buffers=30 ! \
"video/x-raw(memory:NVMM), format=UYVY, width=1280, height=720, framerate=60/1" ! \
nvvidconv ! "video/x-raw(memory:NVMM), format=NV12" ! fakesink sync=false