Failed to establish pipeline of deepstream: No EGL Display

Hardwar: Jetson Xavier Nx
JetPcak: 4.6
deepstream: 6.0

1 App in docker container, script is as following:
#!/bin/bash
sudo docker run -it --restart=always --name=sll8 --net=host --runtime nvidia --device=/dev/video0 --device=/dev/ttyTHS1 --device=/dev/ttyCH341USB0 -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix -w /opt/nvidia/deepstream/deepstream/sources/deepstream_python_apps/apps/sll7 sll8 /bin/bash -c “python3 main.py”

2 error happened:
No protocol specified
No EGL Display
nvbufsurftransform: Could not get EGL display connection

Actually, broken when make pipeline.

if I run “xhost +” before script, then the app works well.

Is “EGL Display” necessary? how to fix this?

By the way, I used FakeSink in the pipeline.

This command is used to allow external applications to connect to the host’s X display.
If you want to display in Docker, it must be run before Docker starts.

Not necessary if you just use fakesink as you said.

Is there another pipe element need EGL display? Even if I just use fakesink, still show “nvbufsurftransform: Could not get EGL display connection” errors.

If this problem can not be fixed( I browse releate topics, not find clear solution so far), do you know some way to automatically run “xhost +” before “docker run” when system boot?

Hi @zhang.ga

Is there another pipe element need EGL display?

The EGL display is also utilized by nvvideoconvert, so when using DeepStream, I haven’t found any workaround to avoid needing EGL display support.

What I would suggest is disabling X11 on your container by removing DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix . If you need some kind of feedback on the output you can stream it outside the docker using udpsink.

Found a solution, "unset DISPLAY” in container.

Thank you.

i think this problem occurs when loading the shared library libnvbufsurftransform.so.

I am not sure what is causing this problem, I will investigate.

Thank you for sharing.

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