Install OpenMAX dependency on Jetson

Trying to install OpenMAX so that I can use gst-launch-1.0 (with gstreamer).

The command I’m trying to run is:
gst-launch-1.0 filesrc location="LOCATIONHERE.mp4" ! qtdemux name=demux ! h264parse ! omxh26dec ! nvoverlaysink -e

But I get the following error:

libEGL warning: DRI2: failed to authenticate
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
WARNING: erroneous pipeline: no element “nvoverlaysink”
Caught SIGSEGV
exec gdb failed: No such file or directory

This is all after installing gstreamer successfully, and after having installed the libegl dependency,
but gstomx1 will not compile/install. It gives the following error:
I received the files from (for Jetson NX): https://developer.nvidia.com/embedded/L4T/r32_Release_v4.2/Sources/T186/public_sources.tbz2

I’m doing everything under 32.4.2

root@9cc23b3:~/Linux_for_Tegra/source/public/gstomx1_src/gst-omx1# make
make all-recursive
make[1]: Entering directory ‘/root/Linux_for_Tegra/source/public/gstomx1_src/gst-omx1’
Making all in common
make[2]: Entering directory ‘/root/Linux_for_Tegra/source/public/gstomx1_src/gst-omx1/common’
Making all in m4
make[3]: Entering directory ‘/root/Linux_for_Tegra/source/public/gstomx1_src/gst-omx1/common/m4’
make[3]: Nothing to be done for ‘all’.
make[3]: Leaving directory ‘/root/Linux_for_Tegra/source/public/gstomx1_src/gst-omx1/common/m4’
make[3]: Entering directory ‘/root/Linux_for_Tegra/source/public/gstomx1_src/gst-omx1/common’
make[3]: Nothing to be done for ‘all-am’.
make[3]: Leaving directory ‘/root/Linux_for_Tegra/source/public/gstomx1_src/gst-omx1/common’
make[2]: Leaving directory ‘/root/Linux_for_Tegra/source/public/gstomx1_src/gst-omx1/common’
Making all in omx
make[2]: Entering directory ‘/root/Linux_for_Tegra/source/public/gstomx1_src/gst-omx1/omx’
CC libgstomx_la-gstomxvideosink.lo
gstomxvideosink.c:30:10: fatal error: nvbufsurface.h: No such file or directory
#include “nvbufsurface.h”
^~~~~~~~~~~~~~~~
compilation terminated.

Additional notes:
Doing this inside of a Balena container. I’ve been able to get all of the other GPU libs working. This is the last thing.

Hi,
We have deprecated omx plugins. Please try v4l2 plugins. You can check examples in
https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/accelerated_gstreamer.html#

And these prints are not expected:

nvbuf_utils: Could not get EGL display connection
WARNING: erroneous pipeline: no element “nvoverlaysink”

We suggest you re-flash the whole system and try again.

Yes, I was able to use the v4l2 plugins successfully.

I used the following command:

gst-launch-1.0 filesrc location=VIDEO_PATH ! qtdemux name=demux ! queue ! h264parse ! nvv4l2decoder ! nvoverlaysink -e

Thank you!