No EGL Display error using ximagesink on deepstream-test1-app

Hello.

I am working on Jetson Xavier with JetPack 4.6, with ssh connection.

I’m trying to run deepstream-test1-app under /opt/nvidia/deepstream/deepstream-6.0/sources/app/sample_apps on deepstream-l4t:6.0-samples docker image.

My goal is to display the result on host machine (laptop, Linux without GPU).

So I first run

xhost +

on host, and set

ForwardX11 yes
ForwardX11Trusted yes

on host ssh config for Jetson.

After ssh connection on Jetson, I run

docker run -it --gpus all --rm \
  --net host \
  -e DISPLAY=$DISPLAY \
  -v $HOME/.Xauthority:/root/.Xauthority:rw \
  nvcr.io/nvidia/deepstream-l4t:6.0-samples

to run the container.

I found from other thread that nveglglessink is not supported on X11 forwarding, so I changed the sample code to use ximagesink instead of nveglglessink (and also removed nvegltransform), and run apt install gstreamer1.0-x to get ximagesink plugin.

But I’m still getting this error:

No EGL Display
nvbufsurftransform: Could not get EGL display connection

Does other part of the code also need EGL display? If so, how can I change the code to not use EGL display?

Thank you.

----- Edit 1

This command shows same behavior inside the container

$ gst-launch-1.0 filesrc location=/opt/nvidia/deepstream/deepstream-6.0/samples/streams/sample_720p.h264 ! \
 h264parse ! nvv4l2decoder ! nvstreammux ! nvinfer ! nvvideoconvert ! nvdsosd ! ximagesink

Which gives:

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
...

and so on.

Did you have monitor connected to the Jetson device?

Yes, I have.

I’ve already checked that the app works perfectly when monitor is connected directly to the Jetson device.

On DeepStream 6.0 Release Notes, it says “On Jetson, running a DeepStream application over SSH (via putty) with X11 forwarding does not work.”

Does this mean that I’d better give up trying to display work with SSH? Or can I replace some of the plugins in the pipeline to make this work on SSH?

Does this mean that I’d better give up trying to display work with SSH? Or can I replace some of the plugins in the pipeline to make this work on SSH?

Yes. Running a DeepStream application over SSH (via putty) with X11 forwarding does not work. I do not think you can replace some of the plugins in the pipeline to make this work on SSH.

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