DeepStream SDK GStreamer plugins fail to load on Jetson Nano

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) Jetson Nano
• DeepStream Version 6.0
• JetPack Version (valid for Jetson only) 4.6.1
• TensorRT Version 8.2.1
• NVIDIA GPU Driver Version (valid for GPU only) N/A
• Issue Type( questions, new requirements, bugs) Bug

I am currently trying to construct a GStreamer pipeline using plugins from the DeepStream SDK. However, when I run GStreamer, I get the following errors, which prevent the pipeline from running:

0:00:00.960682226 14774 0x55822b4e30 ERROR GST_PLUGIN_LOADING gstpluginloader.c:277:plugin_loader_replay_pending: Plugin file /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_preprocess.so failed to load. Blacklisting
0:00:01.072989377 14774 0x55822b4e30 ERROR GST_PLUGIN_LOADING gstpluginloader.c:277:plugin_loader_replay_pending: Plugin file /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libgstnvvideoconvert.so failed to load. Blacklisting
0:00:01.176965695 14774 0x55822b4e30 ERROR GST_PLUGIN_LOADING gstpluginloader.c:277:plugin_loader_replay_pending: Plugin file /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_tracker.so failed to load. Blacklisting
0:00:01.283864307 14774 0x55822b4e30 ERROR GST_PLUGIN_LOADING gstpluginloader.c:277:plugin_loader_replay_pending: Plugin file /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_dsexample.so failed to load. Blacklisting
0:00:01.388997158 14774 0x55822b4e30 ERROR GST_PLUGIN_LOADING gstpluginloader.c:277:plugin_loader_replay_pending: Plugin file /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_dewarper.so failed to load. Blacklisting
0:00:01.681949142 14774 0x55822b4e30 ERROR GST_PLUGIN_LOADING gstpluginloader.c:277:plugin_loader_replay_pending: Plugin file /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_infer.so failed to load. Blacklisting
0:00:02.372691528 14774 0x55822b4e30 ERROR GST_PLUGIN_LOADING gstpluginloader.c:277:plugin_loader_replay_pending: Plugin file /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_osd.so failed to load. Blacklisting
0:00:02.470021471 14774 0x55822b4e30 ERROR GST_PLUGIN_LOADING gstpluginloader.c:277:plugin_loader_replay_pending: Plugin file /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_multistreamtiler.so failed to load. Blacklisting
0:00:02.564921422 14774 0x55822b4e30 ERROR GST_PLUGIN_LOADING gstpluginloader.c:277:plugin_loader_replay_pending: Plugin file /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libcustom2d_preprocess.so failed to load. Blacklisting
0:00:02.662477671 14774 0x55822b4e30 ERROR GST_PLUGIN_LOADING gstpluginloader.c:277:plugin_loader_replay_pending: Plugin file /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_multistream.so failed to load. Blacklisting
0:00:03.025189448 14774 0x55822b4e30 ERROR GST_PLUGIN_LOADING gstpluginloader.c:277:plugin_loader_replay_pending: Plugin file /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_deepstream_bins.so failed to load. Blacklisting

For reference, I tried installing the DeepStream SDK using two different methods. The first time, I used the SDK manager to flash my board with Jetpack and the DeepStream SDK. The second time, I used the image provided in the Jetson Nano quickstart guide and then installed the DeepStream debian package based on this guide. Both methods resulted in the errors above, and none of the sample applications will run as a result.

It seems like my DeepStream installation is correct because deepstream-app -v prints out the appropriate information. Also, inside /usr/lib/aarch64-linux-gnu/gstreamer-1.0, there is a symlink for deepstream, which points to the following:

libcustom2d_preprocess.so libnvdsgst_dewarper.so libnvdsgst_inferserver.so libnvdsgst_msgconv.so libnvdsgst_ofvisual.so libnvdsgst_tracker.so
libgstnvvideoconvert.so libnvdsgst_dsanalytics.so libnvdsgst_infer.so libnvdsgst_multistream.so libnvdsgst_osd.so libnvdsgst_udp.so
libnvdsgst_audiotemplate.so libnvdsgst_dsexample.so libnvdsgst_logger.so libnvdsgst_multistreamtiler.so libnvdsgst_preprocess.so libnvdsgst_videotemplate.so
libnvdsgst_deepstream_bins.so libnvdsgst_inferaudio.so libnvdsgst_msgbroker.so libnvdsgst_of.so libnvdsgst_segvisual.so

Another strange thing I’m experiencing is that a select few DeepStream plugins are working correctly. For example, gst-inspect-1.0 nvinferaudio prints the component details correctly, but gst-inspect-1.0 nvinfer prints No such element or plugin 'nvinfer' (it’s blacklisted because the plugin failed to load). Here is the exact plugin blacklist:

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

Any thoughts as to what the problem might be? If it’s any help, my GStreamer version is 1.14.5, and I’d be happy to provide any additional information if needed. Thank you!

Try the following command lines first, then try deepstream-app. If it doesn’t work, I’m afraid there is something wrong with your Jetpack installation. You can try re-burning it.

$ cd /opt/nvidia/deepstream/deepstream-6.0
$ sudo ./install.sh
$ sudo ldconfig

The GStreamer plugins still will not load. I’ll try flashing the board again tomorrow using the SDK manager.

Turns out the issue was because I was running in headless mode. I plugged the board into a display and the plugins loaded perfectly.

As a follow-up, is it possible to use the DeepStream SDK in headless mode? It would be much more convenient for me given my current setup.

Usually there is no problem. This problem may be because the system needs to be configured when starting Ubuntu for the first time.

I did more digging, and the issue is not being caused by headless mode. The errors only occur when I ssh into the Nano with X11 forwarding enabled. When I do, running gst-inspect-1.0 generates the following warning, which I suspect is related to the true problem:

nvbuf_utils: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection

Without X11 forwarding, this warning is not emitted, and gst-inspect-1.0 behaves as expected. However, my X11 forwarding is set up correctly. On the host, the environment variable DISPLAY is set to :0, and running xeyes and xclock from the Nano works correctly (i.e. they are rendered on my display). Any thoughts as to how to get this working with X11 forwarding?

1 Like

Nevermind. I see running DeepStream with X11 forwarding is officially unsupported based on page 8 of the release notes.

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