Overlay Plane in Jetson AGX Orin

Hi Nvidia Team,

We are using Jetson AGX orin as video receiver (+ decoder ) in Our Wireless Video System.

In our Application, We want to stream video in background and want to put Qt application as overlay(circle crop) on it.

We know that NVIDIA-DRM Framework has support for multiplane.(primary + cursor + overlay.)

As mention in below topic,
https://forums.developer.nvidia.com/t/having-2-nvdrmvideosinks-for-overlay-and-2nd-display-creates-weird-artefacts/173137

We are trying below gstreamer pipleline to check if we can us multiplan in gstreamer (also tried set_mode=1 & plane-id instead of conn-id )but got error.

gst-launch-1.0 videotestsrc ! nvvidconv ! 'video/x-raw(memory:NVMM)' ! tee name=t t. ! queue ! nvdrmvideosink conn-id=1 t. ! queue ! nvdrmvideosink conn-id=0

as below.
ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data stream error.
Additional debug info:
/usr/src/debug/gstreamer1.0/1.22.6-r0/libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn’t want to preroll.
ERROR: from element /GstPipeline:pipeline0/GstQueue:queue0: Internal data stream error.
Setting pipeline to NULL …
Additional debug info:
/usr/src/debug/gstreamer1.0/1.22.6-r0/plugins/elements/gstqueue.c(992): gst_queue_handle_sink_event (): /GstPipeline:pipeline0/GstQueue:queue0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn’t want to preroll.
[ 1707.380856] NVRM nvAssertFailedNoLog: Assertion failed: minRequiredIsoBandwidthKBPS <= clientBwValues[DISPLAY_ICC_BW_CLIENT_EXT].minRequiredIsoBandwidthKBPS @ kern_di1
[ 1707.709214] NVRM nvAssertFailedNoLog: Assertion failed: minRequiredIsoBandwidthKBPS <= clientBwValues[DISPLAY_ICC_BW_CLIENT_EXT].minRequiredIsoBandwidthKBPS @ kern_di1

Please help us how we can utilize nvidia-drm (as frame-buffer support is not available in jetson AGX - latest JetPack ) plane to run Qt Application & Gstreamer Pipeline in background.

Thanks & Regards,
Kaushal Dekivadia

Hi,

I don’t know if DRM can handle what you’re aiming for, but your scenario sounds like it aligns perfectly with our QtOverlay solution.

Hi,
Orin series support single video plane in DRM. If you would like to use DRM, please composite the planes into single plane for rendering.

Hi @DaneLLL,

Do you mean to say nvidia-DRM does not support cursor & overlay planes?
If it only supports primary plane , could you please provide any other solution to composite these planes together.

We want to crop video in circular form , & put Qt Application on top of it.

At present, We do not want to use any windowing system (weston , X11), We want to use eglfs or DRM/KMS to render video.

Is there any future plan to support Frame buffer ?

Thanks & Regards,
Kaushal Dekivadia