Hello,
I am upgrading my project to use Jetson Orin (6.2) instead of Jetson Nano (JP 4.6). I have a problem with launching camera preview in headless mode through NoMachine. In my setup I have Jetson Orin, without display, this is the production requirement.
I can access the system via remote connection over NoMachine, which so far works the same as in the old system.
The problem starts when I try to capture the frame using nvarguscamerasrc.
gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM),width=1280,height=720' ! queue ! nvvidconv ! 'video/x-raw,width=640,height=360,format=(string)BGRx' ! queue ! videoconvert ! 'video/x-raw,format=(string)BGR' ! queue ! fpsdisplaysink
As a result, instead a popup with camera preview I get an error:
nvbufsurftransform: Could not get EGL display connection
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Got context from element 'fps-display-video_sink': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayGBM\)\ gldisplaygbm0";
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Creating output stream
(Argus) Error NotSupported: Failed to initialize EGLDisplay (in src/eglutils/EGLUtils.cpp, function getDefaultDisplay(), line 77)
(Argus) Error BadParameter: (propagating from src/eglstream/FrameConsumerImpl.cpp, function initialize(), line 93)
(Argus) Error BadParameter: (propagating from src/eglstream/FrameConsumerImpl.cpp, function create(), line 44)
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadInitialize:318 Failed to create FrameConsumer
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:239 (propagating)
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, waitRunning:201 Invalid thread state 3
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:849 (propagating)
Redistribute latency...
Got EOS from element "pipeline0".
Execution ended after 0:00:00.113337607
Setting pipeline to NULL ...
Freeing pipeline ...
Camera access does not seem to be an issue, as I get the correct feedback from v4l2:
bartosz@ubuntu:~/CSI-Camera$ v4l2-ctl --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture
[0]: 'RG10' (10-bit Bayer RGRG/GBGB)
Size: Discrete 3280x2464
Interval: Discrete 0.048s (21.000 fps)
Size: Discrete 3280x1848
Interval: Discrete 0.036s (28.000 fps)
Size: Discrete 1920x1080
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1640x1232
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1280x720
Interval: Discrete 0.017s (60.000 fps)
I tried to create dummy display, but it does not seem to work. It looks similar to this problem, but setting up the DISPLAY=:0 does not help (DISPLAY needs to be =:1001 as that is the remote screen).
Trying to capture a frame and save it to file produces the same error.
Does anyone have any idea?