Nvbuf_utils: Could not get EGL display connection (ZED2)

Hello there,
I am using with Jetson nano in handless mode through VNC (Xorg). I have ZED camera plunged into the nano and trying to get live feed through VNC to another computer, the problem is when I run the ZED explorer (launcher for the ZED camera) it gives me bellow error

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

I have reffered similar topic but can’t solve.

***Environment

  • Jet pack : R32 (release), REVISION: 7.6, GCID: 38171779, BOARD: t210ref, EABI: aarch64, DATE: Tue Nov 5 07:46:14 UTC 2024
  • Kernel : Linux jetson-desktop 4.9.337-tegra
  • Hardware model : NVIDIA Jetson Nano Developer Kit
  • Ubuntu : 18.04.6 LTS
  • CUDA : 10.2.300
  • cuDNN : 8.2.1
  • TensorRT : 8.2.1
  • Gstreamer : 1.14.5
  • opencv(python) : 4.11.0
  • ZED sdk : 4.2.3
  • ZED pythonAPI (pyzed) : 4.2
    *Other setup : ```
    sudo apt install xrdp
    sudo apt install xfce4 xfce4-goodies
    echo xfce4-session > ~/.xsession

***xrandr
Screen 0: minimum 256 x 256, current 1920 x 1080, maximum 16384 x 16384
rdp0 connected 1920x1080+0+0 0mm x 0mm
   1920x1080     50.00*

xclock and xeyes can be gotten through VNC.
After that I try to do ZED pythonAPI (pyzed) but get above errors. 

Next I try these command.
$ sudo jetson_clocks
$ gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-raw,forma=YUY2,width=1280,height=480,framerate=30/1 ! nvvidconv ! 'video/x-raw(memory:NVMM),format=NV12' ! nvoverlaysink 

But the results are bellow.
nvbuf_utils: Could not get EGL display connection
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

What's the reason?
Any ideas how to fix this issue?
Thank you.

Hi,
Certain plugins may not work in VNC environment due to different OpenGL/EGL setting. Please try full software path:

$ gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-raw,forma=YUY2,width=1280,height=480,framerate=30/1 ! videoconvert ! video/x-raw,format=I420 ! xvimagesink

Thank you for your reply,
I use this command and get same result.

gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,forma=YUY2,width=1280,height=480,framerate=30/1 ! videoconvert ! video/x-raw,format=I420 ! xvimagesink

Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn’t want to preroll.
Setting pipeline to PAUSED …
Setting pipeline to READY …
Setting pipeline to NULL …
Freeing pipeline …

I check devices with “v4l2-ctl --list-devices”.
The response is “ZED 2 (usb-70090000.xusb-1.2):/dev/video0”

Hi,
Please try videotestsrc:

$ gst-launch-1.0 videotestsrc is-live=1 ! video/x-raw,forma=YUY2,width=1280,height=480,framerate=30/1 ! videoconvert ! video/x-raw,format=I420 ! xvimagesink

Thank you for reply.
I try this command and get test image like that.


The response is bellow.

Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
Setting pipeline to PLAYING …
New clock: GstSystemClock

Hi,
The plugin videotestsrc works so it may be caps is not correctly set in v4l2src. Please refer to the steps in
Jetson Nano FAQ

And wok out correct caps of the camera.

Thank you for reply.
I refered the steps but these did not solve the problem.

I got the bellow information from this page.

" The driver for our ZED X camera line (ZED X, ZED X Mini, ZED X One GS, ZED X One 4K) relies on the [NVIDIA Argus API], which uses [EGLStream] for optimal performance. However, it is incompatible with X11 forwarding (ssh -X ) in headless mode."

So I got the plug (for HDMI, Evanlak) but jetson did not recognize it.
Could you tell me how to set up the dummy plug?

Hi,
Does the vendor provide sample commands in their document? If it replies on Argus API, it looks wrong to use v4l2src.

Thank you for reply.
I do not find the commands.

With “dmesg | grep -i hdmi” command, plug-unplug action is recognized like bellow.

[ 1530.180363] Extcon AUX1(HDMI) disable
[ 1530.211294] tegradc tegradc.0: hdmi: tmds rate:83500K prod-setting:prod_c_hdmi_75m_150m
[ 1530.212313] tegradc tegradc.0: hdmi: get YCC quant from EDID.
[ 1530.247196] Extcon AUX1(HDMI) enable

But with “xrandr” command, HDMI screen is not recognized like bellow.

xrandr
Screen 0: minimum 256 x 256, current 1920 x 1080, maximum 16384 x 16384
rdp0 connected 1920x1080+0+0 0mm x 0mm
   1920x1080     50.00*

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