Bug Report: nvv4l2decoder Fails on JetPack 6.2 - Missing nvdec Kernel Modules

Platform Information

  • Hardware Platform: NVIDIA Jetson Orin Nano Developer Kit
  • JetPack Version: 6.2 (L4T 36.4.3)
  • Kernel Version: 5.15.148-tegra
  • Ubuntu Version: 22.04 Jammy Jellyfish
  • Installation Method: SD Card image from official JetPack 6.2

Issue Summary

The nvv4l2decoder GStreamer plugin fails to function on JetPack 6.2 due to missing nvdec-related kernel modules. All nvdec modules are absent from the kernel, making hardware video decoding impossible.

Expected Behavior

  • nvv4l2decoder should successfully decode H.264 streams from RTSP sources
  • Hardware video decoding should work as documented in NVIDIA multimedia guides
  • GStreamer pipelines using nvv4l2decoder should function normally

Actual Behavior

  • nvv4l2decoder fails with error: NVMMLITE_NVVIDEODEC, video_parser_parse Unsupported Codec
  • All nvdec kernel modules are missing from /lib/modules/5.15.148-tegra
  • Hardware video decoding is completely non-functional

Diagnostic Evidence

1. Missing Kernel Modules

$ sudo modprobe tegra-vde
modprobe: FATAL: Module tegra-vde not found in directory /lib/modules/5.15.148-tegra

$ sudo modprobe nvhost_vic
modprobe: FATAL: Module nvhost_vic not found in directory /lib/modules/5.15.148-tegra

$ sudo modprobe nvdec
modprobe: FATAL: Module nvdec not found in directory /lib/modules/5.15.148-tegra

2. Missing Device Files

$ ls -la /dev/nvdec /dev/nvhost-vic /dev/nvhost-nvdec
ls: cannot access '/dev/nvdec': No such file or directory
ls: cannot access '/dev/nvhost-vic': No such file or directory
ls: cannot access '/dev/nvhost-nvdec': No such file or directory

3. GStreamer Plugin Available but Non-Functional

$ gst-inspect-1.0 nvv4l2decoder
Plugin Details:
  Name                     nvv4l2
  Description              NVIDIA v4l2 based plugins
  Filename                 /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstnvv4l2.so
  Version                  1.20.3
  License                  Proprietary
  Source module            nvv4l2
  # Plugin exists but fails when used

4. Test Results

# Basic decoder test fails
$ gst-launch-1.0 videotestsrc num-buffers=10 ! x264enc ! h264parse ! nvv4l2decoder ! fakesink
ERROR: NvMMLiteOpen : Block : BlockType = 261
ERROR: NVMMLITE_NVVIDEODEC, video_parser_parse Unsupported Codec

# Memory allocation test fails
$ gst-launch-1.0 videotestsrc ! nvvidconv ! 'video/x-raw(memory:NVMM)' ! fakesink
ERROR: Syntax error in pipeline

5. System Information

$ cat /etc/nv_tegra_release
# R36 (release), REVISION: 4.3, GCID: 38968081, BOARD: generic, EABI: aarch64, DATE: Wed Jan  8 01:49:37 UTC 2025

$ uname -r
5.15.148-tegra

$ dpkg -l | grep nvidia-l4t-core
nvidia-l4t-core    36.4.3-20250107174145    arm64    NVIDIA L4T Core Package

Reproduction Steps

  1. Flash JetPack 6.2 on Jetson Orin Nano Developer Kit using official SD card image
  2. Complete initial setup and verify installation
  3. Attempt to use nvv4l2decoder with any GStreamer pipeline
  4. Observe failure due to missing nvdec kernel modules

Workaround Currently Used

Using software decoding with avdec_h264 as fallback, but this significantly increases CPU usage and reduces overall system performance.

Impact

  • Hardware video decoding completely unavailable
  • Applications depending on nvv4l2decoder cannot function properly
  • Significant performance degradation when falling back to software decoding
  • RTSP streaming applications have increased latency and CPU usage

Comparison with Previous Versions

  • JetPack 5.1.3: nvv4l2decoder works correctly with all required modules present
  • JetPack 6.0/6.1: Mixed reports of functionality
  • JetPack 6.2: Consistently fails across multiple installations

Request for Resolution

  1. Immediate: Confirm if this is a known issue in JetPack 6.2
  2. Short-term: Provide instructions to manually install missing nvdec modules if available
  3. Long-term: Include nvdec modules in future JetPack 6.2 updates or JetPack 6.3

Additional Information

  • All other NVIDIA multimedia components (CUDA, TensorRT, VPI) function correctly
  • Software video decoding with avdec_h264 works as expected
  • This issue appears to affect multiple users based on community forum discussions
  • Hardware video encoding (nvv4l2h264enc) is correctly unavailable on Orin Nano as documented

Contact Information

Please let me know if you need additional diagnostic information or logs to help resolve this issue.


Environment Details:

  • Installation: Fresh JetPack 6.2 SD card image
  • No custom kernel modifications
  • Standard NVIDIA packages and repositories
  • Issue reproducible across multiple Jetson Orin Nano units

Hi,
We don’t observe the issue on Orin Nano developer kit. On your system, please try to clean cache and see if it works:

$ rm .cache/gstreamer-1.0/registry.aarch64.bin

And may try decoding a mp4 file:

$ gst-launch-1.0 filesrc location=test.mp4 ! qtdemux ! h264parse ! nvv4l2decoder ! fakesink sync=1

If it still fails, please re-flash the system and install nvidia-l4t-gstreamer and try again:

Accelerated GStreamer — NVIDIA Jetson Linux Developer Guide

Thank you for the quick response and suggestions.

We will test these solutions systematically and report back with detailed results within the next few days.

Quick question: Should we install nvidia-l4t-gstreamer on our current system first before considering a re-flash, or do you specifically recommend the re-flash approach?

We appreciate your support and will provide a comprehensive update with logs and test results soon.

Hi,
Yes, please install nvidia-l4t-gstreamer, clean the cache and try again.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.