Skip to main content

Jetson AGX Orin Developer Kit with JetPack 7.2

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 JetPackInstaller SelectionGMSL2 Adaptor
Jetson AGX Orin Developer KitJetPack 7.2Jetson AGX OrinVL-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, Linux for Tegra 39.2, and kernel 6.8.12-1021-tegra using the TechNexion JetPack 7.2 pre-built camera driver package.


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 cameras on Jetson AGX Orin Developer Kit. For adaptor pinout and power details, see VL-GM2-AGX-8CAM.


Using TechNexion pre-built modules

info

Set up the Jetson AGX Orin Developer Kit with NVIDIA JetPack 7.2 first, then install the TechNexion camera driver package for JetPack 7.2.

  1. Download pre-built modules.

    wget https://download.technexion.com/demo_software/EVK/NVIDIA/OrinNano/pre-built-modules/latest/JP72/tn_camera_modules_jp72.tar.gz
  2. Uncompress the modules.

    tar -xf tn_camera_modules_jp72.tar.gz
  3. Run the installation script.

    cd tn_camera_modules_orin_nano_jp72_<release_time>/
    sudo ./tn_install.sh
note

The driver package and extracted directory use OrinNano naming, but the same installer supports Jetson AGX Orin. Select Jetson AGX Orin when prompted.

  1. Select the Jetson AGX Orin platform. VLS-GM2 is selected automatically because it is the supported camera module for this platform.

    $ 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
    Target platform:
    [1] Jetson Orin Nano
    [2] Jetson AGX Orin
    Select platform [1-2] (default: 1): 2
    Reboot after installation? [y/N] n
    Installing OrinNano JP72
    Selected platform: Jetson AGX Orin
    Selected module: VLS-GM2
    Installation summary:
    Kernel: 6.8.12-1021-tegra
    Modules installed: 5
    Boot files installed: 18
    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.


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