DS5.0 deepstream-imagedata-multistream sample output to wrong window

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) Jetson Nano
• DeepStream Version 5.0 with python samples
• JetPack Version (valid for Jetson only) 4.4
• TensorRT Version 7.1.0.16
• NVIDIA GPU Driver Version (valid for GPU only)

I’m using a ssh session to remotely login to Nano device, from a local macbook. If I run xclock, the output is shown on my macbook screen.

But when I launched deepstream-imagedata-multistream natively, it showed segmentation fault.

$ ./deepstream_imagedata-multistream.py rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov frames4
Frames will be saved in frames4
Creating Pipeline

Creating streamux

libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

nvbufsurftransform: Could not get EGL display connection
Segmentation fault (core dumped)

If I ran it inside a docker container, it’s successful, yet displayed the output on Nano’s screen, not on local macbook’s screen. Do not quite understand why x11 forwarding behaves different for xclock and DS5.0 application inside docker.

Hi @bridge
xclock can forward the display.

For docker, with xhost+ as below screenshot, it will use local host’s X display.

https://ngc.nvidia.com/catalog/containers/nvidia:deepstream-l4t

Thanks!

I ran ‘xhost +’ before I launched container. I’m pretty sure it was working, regardless of inside/outside docker, or local session/ssh session. But now it didn’t work via ssh session, though ‘xclock’ still work in ssh session. (local session is still good).

Any clue about this weird issue?

$ ./deepstream_test_1.py …/sample_720p.h264

Creating Pipeline

Creating Source

Creating H264Parser

Creating Decoder

libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

nvbuf_utils: Could not get EGL display connection
libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

nvbufsurftransform: Could not get EGL display connection

root@nano-desktop:~/ds-dp-5.0/deepstream_python_v0.9.orig/python/apps/deepstream-imagedata-multistream# ./deepstream_imagedata-multistream.py rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov frames5

Frames will be saved in frames5
libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

nvbufsurftransform: Could not get EGL display connection
libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

nvbufsurftransform: Could not get EGL display connection
libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

nvbufsurftransform: Could not get EGL display connection
libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

nvbufsurftransform: Could not get EGL display connection
libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

nvbufsurftransform: Could not get EGL display connection
libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

nvbufsurftransform: Could not get EGL display connection
libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

nvbufsurftransform: Could not get EGL display connection
libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

nvbufsurftransform: Could not get EGL display connection
2020-06-18 17:08:17.282093: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.2
libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

nvbufsurftransform: Could not get EGL display connection
2020-06-18 17:08:19.106076: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.2
libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

nvbufsurftransform: Could not get EGL display connection
libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

nvbufsurftransform: Could not get EGL display connection
libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

nvbufsurftransform: Could not get EGL display connection
libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

nvbufsurftransform: Could not get EGL display connection
libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

nvbufsurftransform: Could not get EGL display connection
libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

nvbufsurftransform: Could not get EGL display connection
libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri)

nvbufsurftransform: Could not get EGL display connection
Creating Pipeline

Creating streamux

Unable to create NvStreamMux
Traceback (most recent call last):
File “./deepstream_imagedata-multistream.py”, line 408, in
sys.exit(main(sys.argv))
File “./deepstream_imagedata-multistream.py”, line 263, in main
pipeline.add(streammux)
TypeError: Argument 1 does not allow None as a value

Some further update.

  1. DISPLAY=:0 xclock. ; show a clock on remote screen

  2. DISPLAY=:1 xclock ; show a clock on local screen

  3. DISPLAY=:0 ./deepstream_test_1.py …/…/…/…/samples/streams/sample_720p.h264
    successful, show the output on remote screen

  4. DISPLAY=:1 ./deepstream_test_1.py …/…/…/…/samples/streams/sample_720p.h264
    failed

Creating Pipeline

Creating Source

Creating H264Parser

Creating Decoder

nvbuf_utils: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection

I’m looking to make 4 work, i.e show the output on local screen.

Check this,

 On Jetson, running a DeepStream application over SSH (via putty) with X11 forwarding
does not work.

Thanks @amycao for pointing this out. Wondering any reason why DS5.0 application couldn’t support x11 forwarding via ssh.