dusty-nv / ros_deep_learning

Deep learning inference nodes for ROS / ROS2 with support for NVIDIA Jetson and TensorRT
862 stars 258 forks source link

"No EGLDisplay to create EGLImage" on headless remote Jetson. #103

Open iripatx opened 2 years ago

iripatx commented 2 years ago

Hi,

I am trying to get the video_source node working on a headless remote Jetson. I am running roslaunch ros_deep_learning video_source.ros1.launch input:=/inputs/test.mp4 and receiving the following output for each frame:

[gstreamer] gstBufferManager -- map buffer size was less than max size (1008 vs 3110400) [gstreamer] gstBufferManager recieve caps: video/x-raw(memory:NVMM), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=(fraction)20/1 [gstreamer] gstBufferManager -- recieved first frame, codec=h264 format=nv12 width=1920 height=1080 size=3110400 [gstreamer] gstBufferManager -- recieved NVMM memory NvEGLImageFromFd: No EGLDisplay to create EGLImage [gstreamer] gstBufferManager -- failed to map EGLImage from NVMM buffer [gstreamer] gstDecoder -- failed to handle incoming buffer

I understand that EGL Display doesn't support SSH. We've actually had a similar error while testing DeepStream and unset $DISPLAY is enough there, but it didn't work here.

Do I need to do anything else for the script to stop looking for a display? Is a display mandatory to convert the input to a ROS message?

Some details about the setup:

All is deployed on a L4T based docker container.

Thank you very much for your help.

Edit: I managed to get it working by plugging a monitor and setting $DISPLAY = :1, but I would still need to use it headless if possible.

DingoOz commented 1 year ago

Thanks for posting the issue and solution, I hit the same issue.