Display error in docker container

I’m trying to run the samples in deepstream in docker container and it gives the error

cuGraphicsGLRegisterBuffer failed with error(219) gst_eglglessink_cuda_init texture = 1
PERF: 91.05 (4.32)
ERROR from secondary_gie_bin_queue: Internal data stream error.
Debug info: gstqueue.c(988): gst_queue_handle_sink_event (): /GstPipeline:pipeline/GstBin:secondary_gie_bin/GstQueue:secondary_gie_bin_queue:
streaming stopped, reason not-negotiated (-4)
Quitting
ERROR from sink_bin_queue: Internal data stream error.
Debug info: gstqueue.c(988): gst_queue_handle_sink_event (): /GstPipeline:pipeline/GstBin:processing_bin_0/GstBin:sink_bin/GstQueue:sink_bin_queue:
streaming stopped, reason not-negotiated (-4)
App run failed

My x-window flashed and the application will stop.

I’m using
Tesla V100
Cuda version: 11.1
driver version: 440.33.01
gstreamer version: 1.14.5
docker image: nvcr.io/nvidia/tlt-streamanalytics:v3.0-dp-py3

Command:

  1. $docker run --gpus all -it --name tlt2stream --env NO_AT_BRIDGE=1 --env="DISPLAY" --env "QT_X11_NO_MITSHM=1" -v /home/ubuntu/.Xauthority:/root/.Xauthority:rw -w /opt/nvidia/deepstream/deepstream-5.1 --net=host nvcr.io/nvidia/tlt-streamanalytics:v3.0-dp-py3 /bin/bash

  2. $ cd /opt/nvidia/deepstream/deepstream-5.1/samples/configs/deepstream-app

  3. $ deepstream-app -c source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8_gpu1.txt

Hey, Can you run export DISPLAY=:0 or :1 and try again?

There’s still the cuGraphicsGLRegisterBuffer failed with error(219) gst_eglglessink_cuda_init texture = 1 error, the output of this is

**PERF: 113.48 (1.12) 113.48 (1.12) 113.48 (1.12) 113.48 (1.12)
**PERF: 0.00 (0.53) 0.00 (0.53) 0.00 (0.53) 0.00 (0.53)
**PERF: 0.00 (0.35) 0.00 (0.35) 0.00 (0.35) 0.00 (0.35)
**PERF: 0.00 (0.26) 0.00 (0.26) 0.00 (0.26) 0.00 (0.26)
**PERF: 0.00 (0.20) 0.00 (0.20) 0.00 (0.20) 0.00 (0.20)
**PERF: 0.00 (0.17) 0.00 (0.17) 0.00 (0.17) 0.00 (0.17)
**PERF: 0.00 (0.15) 0.00 (0.15) 0.00 (0.15) 0.00 (0.15)
**PERF: 0.00 (0.13) 0.00 (0.13) 0.00 (0.13) 0.00 (0.13)
**PERF: 0.00 (0.11) 0.00 (0.11) 0.00 (0.11) 0.00 (0.11)
**PERF: 0.00 (0.10) 0.00 (0.10) 0.00 (0.10) 0.00 (0.10)
**PERF: 0.00 (0.09) 0.00 (0.09) 0.00 (0.09) 0.00 (0.09)
**PERF: 0.00 (0.08) 0.00 (0.08) 0.00 (0.08) 0.00 (0.08)
**PERF: 0.00 (0.08) 0.00 (0.08) 0.00 (0.08) 0.00 (0.08)
**PERF: 0.00 (0.07) 0.00 (0.07) 0.00 (0.07) 0.00 (0.07)
**PERF: 0.00 (0.07) 0.00 (0.07) 0.00 (0.07) 0.00 (0.07)

I’m looking for output on my screen.

Try to run xhost + outside the docker

  1. Optionally:
    test if there is output on executing glxgears
sudo apt install -y mesa-utils && glxgears 

or

 xeyes

Then export display as 0 or 1 then confirm with steps above that there is still video output.

export DISPLAY=:0
glxgears

If the test works then try with smth like that

Step 1

xhost +

Step 2

docker run --gpus all -it --name tlt2stream -e DISPLAY=$DISPLAY --privileged --ipc=host -v /tmp/.X11-unix/:/tmp/.X11-unix/ -w /opt/nvidia/deepstream/deepstream-5.1 --net=host nvcr.io/nvidia/tlt-streamanalytics:v3.0-dp-py3 /bin/bash

also try the glxgears from within the container bash session
etc.