Nvdrmvideosink dummy pipeline not working

Hi,

So i have a Jetson Orin AGX 32GB developer kit and successfully emulated the NX orin 8Gb on it during flashing. I installed Deepstream, cuda, tensorrt through SDK manager and all installations were successful.

In older versions, i always used nvoverlaysink in my deepstream pipelines, but since it’s not there anymore in newer releases, I am trying to test the nvdrmvideosink in a simple pipeline which is

gst-launch-1.0 videotestsrc ! nvvidconv ! 'video/x-raw(memory:NVMM), format=I420' ! nvdrmvideosink

I tried running that but faced the following error

Setting pipeline to PAUSED ...
Could not open DRM failed 
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstNvDrmVideoSink:nvdrmvideosink0: GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure.
Additional debug info:
gstbasesink.c(5367): gst_base_sink_change_state (): /GstPipeline:pipeline0/GstNvDrmVideoSink:nvdrmvideosink0:
Failed to start
Setting pipeline to NULL ...
Freeing pipeline ...

i realized from other forum posts that nvdrmvideosink requires that i disable the GUI, so i did that using the commands

sudo systemctl set-default multi-user.target
sudo reboot

but upon rebooting, my display just showed no signal and no terminal showed up.
I accessed the orin through SSH, and ran also the following command as suggested in other forum posts

sudo modprobe nvidia-drm modeset=1

Then tried running the same command again, faced a different error this time

Setting pipeline to PAUSED ...

Pipeline is PREROLLING ...

cannot create framebuffer

Cannot create frame buffer

cannot create framebuffer

Cannot create frame buffer

cannot create framebuffer

Cannot create frame buffer

cannot create framebuffer

Cannot create frame buffer

ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data stream error.

Additional debug info:

gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:

streaming stopped, reason not-negotiated (-4)

ERROR: pipeline doesn't want to preroll.

Setting pipeline to NULL ...

cannot create framebuffer

Cannot create frame buffer

Freeing pipeline ...

So i am not really sure what the problem is.

So my question is, what are the steps i need to do to run a simple pipeline with nvdrmvideosink on my Orin? Also Why is there no signal on the monitor after running the sudo systemctl set-default multi-user.target command? i used to work on older jetson devices.

• Hardware Platform: Jetson Orin AGX as Orin NX 8GB through emulation
• DeepStream Version 6.2
• JetPack Version 5.1.1
• TensorRT Version 8.5.2.2

Could you try to refer to our source code and try: deepstream/deepstream/README

3. Prerequisites to use nvdrmvideosink (Jetson only)
   a. Ensure that X server is not running.
      Command to stop X server:
          $sudo service gdm stop
          $sudo pkill -9 Xorg
   b. If "Could not get EGL display connection" error is encountered,
      use command $unset DISPLAY
   c. Ensure that a display device is connected to the Jetson board.

I tried the instructions and ended up with my monitor giving a “No signal” message and running the pipeline gst-launch-1.0 videotestsrc ! nvvidconv ! 'video/x-raw(memory:NVMM), format=I420' ! nvdrmvideosink
resulted in the following output

Pipeline is PREROLLING ...
cannot create framebuffer
Cannot create frame buffer 
cannot create framebuffer
Cannot create frame buffer 
cannot create framebuffer
Cannot create frame buffer 
cannot create framebuffer
Cannot create frame buffer 
ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
cannot create framebuffer
Cannot create frame buffer 
Freeing pipeline ...

OK, Could you try to set the format to NV12 or GRBA to see if it works?

Thank you, i confirm, changing the format to NV12 worked.

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