Hello.
I am working on Jetson Xavier with JetPack 4.6, with ssh connection.
I’m trying to run deepstream-test1-app
under /opt/nvidia/deepstream/deepstream-6.0/sources/app/sample_apps
on deepstream-l4t:6.0-samples
docker image.
My goal is to display the result on host machine (laptop, Linux without GPU).
So I first run
xhost +
on host, and set
ForwardX11 yes
ForwardX11Trusted yes
on host ssh config for Jetson.
After ssh connection on Jetson, I run
docker run -it --gpus all --rm \
--net host \
-e DISPLAY=$DISPLAY \
-v $HOME/.Xauthority:/root/.Xauthority:rw \
nvcr.io/nvidia/deepstream-l4t:6.0-samples
to run the container.
I found from other thread that nveglglessink
is not supported on X11 forwarding, so I changed the sample code to use ximagesink
instead of nveglglessink
(and also removed nvegltransform
), and run apt install gstreamer1.0-x
to get ximagesink
plugin.
But I’m still getting this error:
No EGL Display
nvbufsurftransform: Could not get EGL display connection
Does other part of the code also need EGL display? If so, how can I change the code to not use EGL display?
Thank you.
----- Edit 1
This command shows same behavior inside the container
$ gst-launch-1.0 filesrc location=/opt/nvidia/deepstream/deepstream-6.0/samples/streams/sample_720p.h264 ! \
h264parse ! nvv4l2decoder ! nvstreammux ! nvinfer ! nvvideoconvert ! nvdsosd ! ximagesink
Which gives:
nvbuf_utils: Could not get EGL display connection
(Argus) Error FileOperationFailed: Connecting to nvargus-daemon failed: No such file or directory (in src/rpc/socket/client/SocketClientDispatch.cpp, function openSocketConnection(), line 205)
(Argus) Error FileOperationFailed: Cannot create camera provider (in src/rpc/socket/client/SocketClientDispatch.cpp, function createCameraProvider(), line 106)
No EGL Display
nvbufsurftransform: Could not get EGL display connection
nvbuf_utils: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
...
and so on.