Hardwar: Jetson Xavier Nx
1 App in docker container, script is as following:
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?
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
Found a solution, "unset DISPLAY” in container.
i think this problem occurs when loading the shared library
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.