Jetson Nano no display: nvbuf_utils: Could not get EGL display connection

Hi,

I realized this issue has been in other threads too but I didn’t find any that solved in my environment so I decided to post mine here.

I’m running Jeson Nano without connecting to the display. When I ssh’ed to Jetson Nano from my laptop and ran deepstream-test1, I got display error. Here’s the steps to reproduce.

  1. ssh to the device and go to deepstream-test1 directory.
  2. run sudo CUDA_VER=10.2 make
  3. run
aaeon@aaeon-desktop:/opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-test1$ ./deepstream-test1-app /opt/nvidia/deepstream/deepstream/samples/streams/sample_720p.h264 
nvbuf_utils: Could not get EGL display connection
nvbuf_utils: ERROR getting proc addr of eglCreateImageKHR
nvbuf_utils: ERROR getting proc addr of eglDestroyImageKHR
One element could not be created. Exiting.

I then modified the sink element to be fakesink to bypass the display issue. But, I got the same error. After some investigations, I set DISPLAY=:0 as suggested in other threads but still didn’t work with the same error.

I then tried the following and still got the same error

gst-launch-1.0 -v videotestsrc pattern=snow ! video/x-raw,width=1280,height=720 ! autovideosink
Setting pipeline to PAUSED ...
nvbuf_utils: Could not get EGL display connection
nvbuf_utils: ERROR getting proc addr of eglCreateImageKHR
nvbuf_utils: ERROR getting proc addr of eglDestroyImageKHR
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstNvOverlaySink-nvoverlaysink:autovideosink0-actual-sink-nvoverlay.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock

Finally, I reinstalled deepstream-6.0 following Quickstart Guide — DeepStream 6.0 Release documentation but the same error still appeared.

Environment
HW: Jetson Nano
DeepStream version: 6.0 from https://developer.nvidia.com/deepstream-6.0_6.0.0-1_arm64deb
JetPack version: 4.6-b199
Issue Type: Question

Which terminal client you are using? putty or something else? Did you enable X11 forwarding? if yes, please disable it.
and try unset DISPLAY and run app again in case you change the sink to fakesink.

I’m using ssh command on Ubuntu. X11 forwarding already disabled. DISPLAY already unset.

How about reopen the terminal and run again?

tried. it didn’t work. When I ran in docker image nvcr.io/nvidia/deepstream-l4t:6.0-base it didn’t show this error. I suspect it has something to do with the installed packages? i tried reinstalling deepstream from https://developer.nvidia.com/deepstream-6.0_6.0.0-1_arm64deb but still got the same error.

@Amycao may I ask for an update on this?

If you do not have monitor connected to device, set DISPLAY=:0 did not help. are you sure you make change of sink type set to fakesink success? How about clean the cache, and rerun again?
rm ~/.cache/gstreamer-1.0/ -rf

Please see line 211
deepstream_test1_app.c (11.2 KB)

aaeon@aaeon-desktop:/opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-test1$ rm ~/.cache/gstreamer-1.0/ -rf
aaeon@aaeon-desktop:/opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-test1$ ls  ~/.cache/gstreamer-1.0/
ls: cannot access '/home/aaeon/.cache/gstreamer-1.0/': No such file or directory
aaeon@aaeon-desktop:/opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-test1$ sudo CUDA_VER=10.2 make
cc -o deepstream-test1-app deepstream_test1_app.o -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0 -L/usr/local/cuda-10.2/lib64/ -lcudart -L/opt/nvidia/deepstream/deepstream-6.0/lib/ -lnvdsgst_meta -lnvds_meta -lcuda -Wl,-rpath,/opt/nvidia/deepstream/deepstream-6.0/lib/
aaeon@aaeon-desktop:/opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-test1$ ./deepstream-test1-app /opt/nvidia/deepstream/deepstream/samples/streams/sample_720p.h264 
nvbuf_utils: Could not get EGL display connection
nvbuf_utils: ERROR getting proc addr of eglCreateImageKHR
nvbuf_utils: ERROR getting proc addr of eglDestroyImageKHR
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:17961): GStreamer-WARNING **: 17:19:08.959: 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

(gst-plugin-scanner:17968): GStreamer-WARNING **: 17:19:17.707: 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
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:17982): GStreamer-WARNING **: 17:19:19.096: 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
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
nvbuf_utils: Could not get EGL display connection
nvbuf_utils: ERROR getting proc addr of eglCreateImageKHR
nvbuf_utils: ERROR getting proc addr of eglDestroyImageKHR
(Argus) Error EndOfFile: Unexpected error in reading socket (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 266)
(Argus) Error EndOfFile: Receive worker failure, notifying 1 waiting threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 340)
(Argus) Error InvalidState: Argus client is exiting with 1 outstanding client threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 357)
(Argus) Error EndOfFile: Receiving thread terminated with error (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadWrapper(), line 368)
(Argus) Error EndOfFile: Client thread received an error from socket (in src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 145)
(Argus) Error EndOfFile:  (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)
nvbuf_utils: Could not get EGL display connection
nvbuf_utils: ERROR getting proc addr of eglCreateImageKHR
nvbuf_utils: ERROR getting proc addr of eglDestroyImageKHR
One element could not be created. Exiting.

Since you are running on Jetson, if you disable nveglglessink, you need to disable nvegltransform also.

1 Like

rerunning all the above steps, I got the same error

aaeon@aaeon-desktop:/opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-test1$ ./deepstream-test1-app /opt/nvidia/deepstream/deepstream/samples/streams/sample_720p.h264 
nvbuf_utils: Could not get EGL display connection
nvbuf_utils: ERROR getting proc addr of eglCreateImageKHR
nvbuf_utils: ERROR getting proc addr of eglDestroyImageKHR
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:18360): GStreamer-WARNING **: 18:40:08.520: 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

(gst-plugin-scanner:18366): GStreamer-WARNING **: 18:40:09.101: 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
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:18380): GStreamer-WARNING **: 18:40:10.336: 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
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
nvbuf_utils: Could not get EGL display connection
nvbuf_utils: ERROR getting proc addr of eglCreateImageKHR
nvbuf_utils: ERROR getting proc addr of eglDestroyImageKHR
(Argus) Error EndOfFile: Unexpected error in reading socket (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 266)
(Argus) Error EndOfFile: Receive worker failure, notifying 1 waiting threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 340)
(Argus) Error InvalidState: Argus client is exiting with 1 outstanding client threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 357)
(Argus) Error EndOfFile: Receiving thread terminated with error (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadWrapper(), line 368)
(Argus) Error EndOfFile: Client thread received an error from socket (in src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 145)
(Argus) Error EndOfFile:  (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)
nvbuf_utils: Could not get EGL display connection
nvbuf_utils: ERROR getting proc addr of eglCreateImageKHR
nvbuf_utils: ERROR getting proc addr of eglDestroyImageKHR
One element could not be created. Exiting.

new file:
deepstream_test1_app.c (11.5 KB)

I run on Xavier JP 4.6, Deepstream 6.0, with your app, it work fine.
From your log, there argus error, why you got this error, there no arguscamerasrc plugin in test1 app. seems your environments issue.

1 Like

@Amycao Thanks for your response. I think it’s an environment issue too. I tried restalling DeepStream and GStreamer but still didn’t work. I guess I’d have to flash the microSD card? Do you have any other option?

Suggest you do a fresh installation including bsp and deepstream.

1 Like

@Amycao thank you. Btw, What do you mean by bsp?

Image.

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