Blacklisted plugins on headless nano

-nano
-latest jetpack https://developer.nvidia.com/jetson-nano-sd-card-image
-deepstream 6

i’m starting a docker myimage:latest2 which is a slightly modified (added some more packages) of nvcr.io/nvidia/deepstream:6.0-base

docker run --name=streamcontroller -it --cap-add=SYS_PTRACE --runtime=nvidia -e DISPLAY=$DISPLAY --privileged --volume /tmp/.X11-unix:/tmp/.X11-unix --net=host -e NVIDIA_VISIBLE_DEVICES=all -v $HOME/.Xauthority:/root/.Xauthority -v /run/udev/control:/run/udev/control -v /greengrass/v2:/greengrass/v2 -v /dev:/dev -v /sys/firmware/devicetree/base/serial-number:/sys/firmware/devicetree/base/serial-number -v /data:/data -e NVIDIA_DRIVER_CAPABILITIES=compute,utility,graphics xxxxx.dkr.ecr.ap-southeast-2.amazonaws.com/myimage:latest2

inside the docker:

root@ljeteye:/opt/nvidia/deepstream/deepstream-6.0# cd /usr/lib/aarch64-linux-gnu/gstreamer-1.0/
root@ljeteye:/usr/lib/aarch64-linux-gnu/gstreamer-1.0# ls
deepstream                 libgstaudiomixmatrix.so    libgstcutter.so         libgstflac.so                libgstisomp4.so          libgstmpegtsdemux.so       libgstofa.so            libgstrtmp.so             libgststereo.so                 libgstvideotestsrc.so
libgst1394.so              libgstaudioparsers.so      libgstdashdemux.so      libgstflite.so               libgstivfparse.so        libgstmpegtsmux.so         libgstogg.so            libgstrtp.so              libgstsubenc.so                 libgstvmnc.so
libgsta52dec.so            libgstaudiorate.so         libgstdc1394.so         libgstfluidsynthmidi.so      libgstivtc.so            libgstmpg123.so            libgstomx.so            libgstrtpmanager.so       libgstsubparse.so               libgstvoaacenc.so
libgstaasink.so            libgstaudioresample.so     libgstde265.so          libgstflv.so                 libgstjack.so            libgstmplex.so             libgstopenal.so         libgstrtponvif.so         libgsttaglib.so                 libgstvoamrwbenc.so
libgstaccurip.so           libgstaudiotestsrc.so      libgstdebug.so          libgstflxdec.so              libgstjp2kdecimator.so   libgstmulaw.so             libgstopenexr.so        libgstrtsp.so             libgsttcp.so                    libgstvolume.so
libgstadder.so             libgstaudiovisualizers.so  libgstdebugutilsbad.so  libgstfreeverb.so            libgstjpeg.so            libgstmultifile.so         libgstopenglmixers.so   libgstrtspclientsink.la   libgstteletext.so               libgstvorbis.so
libgstadpcmdec.so          libgstauparse.so           libgstdecklink.so       libgstfrei0r.so              libgstjpegformat.so      libgstmultipart.so         libgstopenjpeg.so       libgstrtspclientsink.so   libgsttheora.so                 libgstvpx.so
libgstadpcmenc.so          libgstautoconvert.so       libgstdeinterlace.so    libgstgaudieffects.so        libgstkate.so            libgstmusepack.so          libgstopenmpt.so        libgstsbc.so              libgsttimecode.so               libgstvulkan.so
libgstaiff.so              libgstautodetect.so        libgstdtls.so           libgstgdkpixbuf.so           libgstkms.so             libgstmxf.so               libgstopus.so           libgstsdpelem.so          libgstttmlsubs.so               libgstwavenc.so
libgstalaw.so              libgstavi.so               libgstdtmf.so           libgstgdp.so                 libgstkvssink.so         libgstnavigationtest.so    libgstopusparse.so      libgstsegmentclip.so      libgsttwolame.so                libgstwavpack.so
libgstalpha.so             libgstbayer.so             libgstdtsdec.so         libgstgeometrictransform.so  libgstladspa.so          libgstnetsim.so            libgstoss4.so           libgstshapewipe.so        libgsttypefindfunctions.so      libgstwavparse.so
libgstalphacolor.so        libgstbluez.so             libgstdv.so             libgstgio.so                 libgstlame.so            libgstnvarguscamerasrc.so  libgstossaudio.so       libgstshm.so              libgstudp.so                    libgstwaylandsink.so
libgstalsa.so              libgstbs2b.so              libgstdvb.so            libgstgme.so                 libgstlegacyrawparse.so  libgstnvcompositor.so      libgstpango.so          libgstshout2.so           libgstuvch264.so                libgstwebp.so
libgstamrnb.so             libgstbz2.so               libgstdvbsuboverlay.so  libgstgoom.so                libgstlevel.so           libgstnvdrmvideosink.so    libgstpbtypes.so        libgstsid.so              libgstvcdsrc.so                 libgstwebrtc.so
libgstamrwbdec.so          libgstcacasink.so          libgstdvdlpcmdec.so     libgstgoom2k1.so             libgstlibav.so           libgstnveglglessink.so     libgstpcapparse.so      libgstsiren.so            libgstvideo4linux2.so           libgstwebrtcdsp.so
libgstapetag.so            libgstcairo.so             libgstdvdread.so        libgstgsm.so                 libgstlibvisual.so       libgstnveglstreamsrc.so    libgstplayback.so       libgstsmooth.so           libgstvideobox.so               libgstwildmidi.so
libgstapp.so               libgstcamerabin.so         libgstdvdspu.so         libgsthls.so                 libgstlv2.so             libgstnvegltransform.so    libgstpng.so            libgstsmoothstreaming.so  libgstvideoconvert.so           libgstx264.so
libgstasf.so               libgstcdio.so              libgstdvdsub.so         libgsticydemux.so            libgstmatroska.so        libgstnvivafilter.so       libgstpnm.so            libgstsmpte.so            libgstvideocrop.so              libgstx265.so
libgstasfmux.so            libgstcdparanoia.so        libgsteffectv.so        libgstid3demux.so            libgstmidi.so            libgstnvjpeg.so            libgstproxy.so          libgstsndfile.so          libgstvideofilter.so            libgstximagesrc.so
libgstassrender.so         libgstchromaprint.so       libgstencoding.so       libgstid3tag.so              libgstmms.so             libgstnvtee.so             libgstrawparse.so       libgstsoundtouch.so       libgstvideofiltersbad.so        libgstxingmux.so
libgstaudiobuffersplit.so  libgstcoloreffects.so      libgstequalizer.so      libgstimagefreeze.so         libgstmodplug.so         libgstnvv4l2camerasrc.so   libgstrealmedia.so      libgstsoup.so             libgstvideoframe_audiolevel.so  libgsty4mdec.so
libgstaudioconvert.so      libgstcolormanagement.so   libgstfaad.so           libgstinter.so               libgstmonoscope.so       libgstnvvidconv.so         libgstremovesilence.so  libgstspandsp.so          libgstvideomixer.so             libgsty4menc.so
libgstaudiofx.so           libgstcompositor.so        libgstfaceoverlay.so    libgstinterlace.so           libgstmpeg2dec.so        libgstnvvideo4linux2.so    libgstreplaygain.so     libgstspectrum.so         libgstvideoparsersbad.so        libgstyadif.so
libgstaudiofxbad.so        libgstcoreelements.so      libgstfbdevsink.so      libgstinterleave.so          libgstmpeg2enc.so        libgstnvvideocuda.so       libgstresindvd.so       libgstspeed.so            libgstvideorate.so              libgstzbar.so
libgstaudiolatency.so      libgstcoretracers.so       libgstfestival.so       libgstinterpipe.so           libgstmpegpsdemux.so     libgstnvvideosink.so       libgstrfbsrc.so         libgstspeex.so            libgstvideoscale.so             libsei.so
libgstaudiomixer.so        libgstcurl.so              libgstfieldanalysis.so  libgstipcpipeline.so         libgstmpegpsmux.so       libgstnvvideosinks.so      libgstrsvg.so           libgstsrtp.so             libgstvideosignal.so

root@ljeteye:/usr/lib/aarch64-linux-gnu/gstreamer-1.0# export DISPLAY=:0
root@ljeteye:/usr/lib/aarch64-linux-gnu/gstreamer-1.0# export GST_PLUGIN_PATH=/usr/lib/aarch64-linux-gnu/gstreamer-1.0:/opt/nvidia/deepstream/deepstream/lib/gst-plugins
root@ljeteye:/usr/lib/aarch64-linux-gnu/gstreamer-1.0# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/aarch64-linux-gnu/open-source:/usr/lib/aarch64-linux-gnu/gstreamer-1.0:/opt/nvidia/deepstream/deepstream/lib

when i check to see which plugins are available it is giving me a lot of errors:
I have started the whole nano as a headless unit and have uninstalled gdm
Are the below errors expected because of this ? It doesn’t seem right that some of these plugins are blacklisted just because there is no UI started. Or is this normal ?

root@ljeteye:/usr/lib/aarch64-linux-gnu/gstreamer-1.0# gst-inspect-1.0
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection

(gst-plugin-scanner:20): GStreamer-WARNING **: 05:48:38.498: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_udp.so': librivermax.so.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:20): GStreamer-WARNING **: 05:48:38.509: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libcustom2d_preprocess.so': /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libcustom2d_preprocess.so: undefined symbol: NvBufSurfTransformAsync
No EGL Display
nvbufsurftransform: Could not get EGL display connection

(gst-plugin-scanner:21): GStreamer-WARNING **: 05:48:38.646: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libcustom2d_preprocess.so': /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libcustom2d_preprocess.so: undefined symbol: NvBufSurfTransformAsync
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection

(gst-plugin-scanner:26): GStreamer-WARNING **: 05:48:39.209: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_preprocess.so': /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_preprocess.so: undefined symbol: NvBufSurfTransformAsync
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection

(gst-plugin-scanner:28): GStreamer-WARNING **: 05:48:39.305: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_inferserver.so': libtritonserver.so: cannot open shared object file: No such file or directory
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
nvbuf_utils: Could not get EGL display connection
(Argus) Error FileOperationFailed: Connecting to nvargus-daemon failed: No such file or directory (in src/rpc/socket/client/SocketClientDispatch.cpp, function openSocketConnection(), line 205)
(Argus) Error FileOperationFailed: Cannot create camera provider (in src/rpc/socket/client/SocketClientDispatch.cpp, function createCameraProvider(), line 106)
No EGL Display
nvbufsurftransform: Could not get EGL display connection
nvbuf_utils: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
nvbuf_utils: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection

(gst-plugin-scanner:40): GStreamer-WARNING **: 05:48:40.326: Failed to load plugin '/opt/nvidia/deepstream/deepstream/lib/gst-plugins/libnvdsgst_udp.so': librivermax.so.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:40): GStreamer-WARNING **: 05:48:40.337: Failed to load plugin '/opt/nvidia/deepstream/deepstream/lib/gst-plugins/libcustom2d_preprocess.so': /opt/nvidia/deepstream/deepstream/lib/gst-plugins/libcustom2d_preprocess.so: undefined symbol: NvBufSurfTransformAsync
No EGL Display
nvbufsurftransform: Could not get EGL display connection

(gst-plugin-scanner:41): GStreamer-WARNING **: 05:48:40.472: Failed to load plugin '/opt/nvidia/deepstream/deepstream/lib/gst-plugins/libcustom2d_preprocess.so': /opt/nvidia/deepstream/deepstream/lib/gst-plugins/libcustom2d_preprocess.so: undefined symbol: NvBufSurfTransformAsync
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection

(gst-plugin-scanner:46): GStreamer-WARNING **: 05:48:41.030: Failed to load plugin '/opt/nvidia/deepstream/deepstream/lib/gst-plugins/libnvdsgst_preprocess.so': /opt/nvidia/deepstream/deepstream/lib/gst-plugins/libnvdsgst_preprocess.so: undefined symbol: NvBufSurfTransformAsync
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection

(gst-plugin-scanner:48): GStreamer-WARNING **: 05:48:41.126: Failed to load plugin '/opt/nvidia/deepstream/deepstream/lib/gst-plugins/libnvdsgst_inferserver.so': libtritonserver.so: cannot open shared object file: No such file or directory
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection

(gst-plugin-scanner:58): GStreamer-WARNING **: 05:48:43.083: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_udp.so': librivermax.so.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:58): GStreamer-WARNING **: 05:48:43.094: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libcustom2d_preprocess.so': /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libcustom2d_preprocess.so: undefined symbol: NvBufSurfTransformAsync
No EGL Display
nvbufsurftransform: Could not get EGL display connection

(gst-plugin-scanner:59): GStreamer-WARNING **: 05:48:43.233: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libcustom2d_preprocess.so': /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libcustom2d_preprocess.so: undefined symbol: NvBufSurfTransformAsync
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection

(gst-plugin-scanner:64): GStreamer-WARNING **: 05:48:43.796: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_preprocess.so': /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_preprocess.so: undefined symbol: NvBufSurfTransformAsync
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection

(gst-plugin-scanner:66): GStreamer-WARNING **: 05:48:43.894: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_inferserver.so': libtritonserver.so: cannot open shared object file: No such file or directory
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
nvbuf_utils: Could not get EGL display connection
(Argus) Error FileOperationFailed: Connecting to nvargus-daemon failed: No such file or directory (in src/rpc/socket/client/SocketClientDispatch.cpp, function openSocketConnection(), line 205)
(Argus) Error FileOperationFailed: Cannot create camera provider (in src/rpc/socket/client/SocketClientDispatch.cpp, function createCameraProvider(), line 106)
No EGL Display
nvbufsurftransform: Could not get EGL display connection
nvbuf_utils: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
nvbuf_utils: Could not get EGL display connection
nvvideocuda:  videocuda: CUDA Post processor
nvjpeg:  nvjpegdec: JPEG image decoder
nvjpeg:  nvjpegenc: JPEG image encoder
nvtee:  nvtee: NvTee
nvegltransform:  nvegltransform: NvEGLTransform
nvv4l2camerasrc:  nvv4l2camerasrc: NvV4l2CameraSrc
nvvidconv:  nvvidconv: NvVidConv Plugin
nvvideosink:  nvvideosink: nVidia Video Sink
nveglstreamsrc:  nveglstreamsrc: nVidia EGL Stream
nvvideosinks:  nv3dsink: Nvidia 3D sink
nvivafilter:  nvivafilter: NvIVAFilter Plugin
.... big list of plugins

list of blacklisted plugins

Blacklisted files:
  libnvdsgst_multistream.so
  libnvdsgst_multistreamtiler.so
  libnvdsgst_inferserver.so
  libnvdsgst_dewarper.so
  libnvdsgst_preprocess.so
  libnvdsgst_deepstream_bins.so
  libnvdsgst_tracker.so
  libnvdsgst_infer.so
  libcustom2d_preprocess.so
  libnvdsgst_udp.so
  libnvdsgst_dsexample.so
  libnvdsgst_osd.so
  libgstnvvideoconvert.so

Hi,

No EGL Display
nvbufsurftransform: Could not get EGL display connection

The error indicates that there are no display available in your environment.
Usually, we start the Deepstream docker with following commands:

$ xhost +
$ sudo docker run -it --rm --net=host --runtime nvidia  -e DISPLAY=$DISPLAY  ...

For headless mode, you can find a discussion below:

Thanks.

Hello @AastaLLL thank you for your reply.
I know i don’t have an EGL display as i am starting in headless mode.

The discussion you linked to seems to focus on the deepstream app and moving away from a display type sink (which makes sense as there is no display to show it on)

my question is more related to that some plugins are blacklisted that i didn’t expect to need a display.
especially :
libnvdsgst_infer
seems to be blacklisted and this seems to be the nvinfer plugin ? isn’t it ?
Does this require a DISPLAY ?

Hi,

libnvdsgst_infer is an inference component so it doesn’t depend on display.
Please note that the error above is caused by the nvbufsurftransform rather than libnvdsgst_infer.

Thanks.