Deepstream-app example under docker

got some config for the deepstream-app running without any screen sinks.

if i then try to run the same config via docker (using the deepstream samples docker image)
i receive a lot of No EGL Display errors:

root@jedi:/opt/nvidia/deepstream/deepstream-5.1/samples# deepstream-app -c /opt/nvidia/deepstream/deepstream-5.1/samples/configs/deepstream-app/tom-stream-and-file-hd.txt
nvbuf_utils: 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
...
No EGL Display
nvbufsurftransform: Could not get EGL display connection
** ERROR: <create_multi_source_bin:1320>: Failed to create element 'src_bin_muxer'
** ERROR: <create_multi_source_bin:1411>: create_multi_source_bin failed
** ERROR: <create_pipeline:1294>: create_pipeline failed
** ERROR: <main:636>: Failed to create pipeline
Quitting
App run failed

are these errors because the processing of the images need access to the GPU and because i’m looking at it via a docker image ?
does this mean i cannot use the docker image if i want to later have my jetson standalone without monitor, even if i only want to process video, and output a rtsp stream ?

i’m starting up the docker image like:
sudo docker run --privileged --hostname="jedi" -t -d --name joda --runtime nvidia --device /dev/video0 -e DISPLAY=$DISPLAY -w /opt/nvidia/deepstream/deepstream-5.1 -v /tmp/.X11-unix/:/tmp/.X11-unix nvcr.io/nvidia/deepstream-l4t:5.1-21.02-samples

copying over some files and then connecting again like:

sudo docker exec -it -w /opt/nvidia/deepstream/deepstream-5.1/samples/ joda bash

just wondering if what i’m trying to do is not possible, or am making a different mistake ?

Hi,

Could you launch the docker without net=host configure.
For example:

$ sudo docker run -it --rm --runtime nvidia -v /tmp/.X11-unix/:/tmp/.X11-unix nvcr.io/nvidia/deepstream-l4t:5.1-21.02-samples

Thanks.

Thank you @AastaLLL that does works!

tried to find which parameter in my docker means net=host but i can’t see find it (yet).

ended up with :

sudo docker run -it -d --runtime nvidia --device /dev/video0 --name joda -v /tmp/.X11-unix/:/tmp/.X11-unix nvcr.io/nvidia/deepstream-l4t:5.1-21.02-samples
sudo docker cp /opt/nvidia/deepstream/deepstream/samples/configs/deepstream-app/tom-stream-and-file-hd.txt joda:/opt/nvidia/deepstream/deepstream/samples/configs/deepstream-app/
sudo docker exec -it -w /opt/nvidia/deepstream/deepstream/samples/configs/deepstream-app/ joda deepstream-app -c ./tom-stream-and-file-hd.txt