Troubleshooting GstQtOverlay plugin installation

From RidgeRun Developer Connection
Jump to: navigation, search


Previous: Performance/Xavier Index Next: FAQ






This wiki provides information about know issues and the steps to troubleshoot issues with GstQtOverlay installation and execution.

Please check our Common Issues section to see if the issue that you are experiencing is there. If it's not, the first level of debugging to troubleshoot a failing plugin is to inspect GStreamer debug output. To enable GStreamer debug, add the GST_DEBUG=2 in front of your gst-launch-1.0 command, for instance:

GST_DEBUG=2 gst-launch-1.0 videotestsrc ! qtoverlay qml=/mnt/gui/sources/main.qml ! videoconvert ! autovideosink

If the output doesn't help you figure out the problem, please contact support@ridgerun.com with the output of the GStreamer debug and any additional information you consider useful.

Common Issues

No Display found

It can happen that the qtoverlay element reports that there is no display found and gets banned from the GStreamer elements. You can fix it by removing qtoverlay from the ban list and adjusting the display server settings, with the following steps:

1. Remove from the ban list:

rm ~/.cache/gstreamer-1.0/*.bin

2. Adjust the display server according to the Running without Graphics Server section.

SHH Issue

If your list of known hosts on the PC does not have the GitLab key, you will have fetch errors when trying to build the GstQtOverlay recipe.

One easy way to add the key is when cloning the repository for the first time from Gitlab, it will ask if you want to add the key to your list of known hosts.

Example:

git clone git@gitlab.com:RidgeRun/orders/${CUSTOMER_DIRECTORY}/gst-qt-overlay.git

No element imxg2dvideotransform

This may happen when testing the example pipelines. Add imx-gpu-g2d to DEPENDS in the gstreamer1.0-plugins-imx recipe.

glTexDirectInvalidateVIV not declared in scope

There's a imx-gpu-viv*.bbappend file in meta-ridgerun/recipes-graphics/imx-gpu-viv/. You need to rename it based on the recipe for imx-gpu-viv (usually found at meta-freescale/recipes-graphics/imx-gpu-viv/). For example, you might want to rename the file as: imx-gpu-viv_6.2.4.p1.8-aarch32.bbappend

This plugin does not support createPlatformOpenGLContext!

You probably need to use a DISTRO or image that has no X11 and Wayland, so that EGL can be properly built. For example, for imx6 platforms li nitrogen6x you can use this distro: DISTRO=fsl-imx-fb. Also, this guide may be useful to properly add Qt with EGL support https://doc.qt.io/QtForDeviceCreation/qtee-meta-qt5.html

QFontDatabase: Cannot find font directory /usr/lib/fonts

Make sure you have a font package installed in your Yocto image, for example ttf-dejavu-sans.


Memory leak problem when using GStreamer Daemon + GstQtOverlay

The Qt library requests thread contexts from GLIB that may interfere with the ones requested by Gstd. If a memory leak problem is noticed run Gstd with the following prepended environment variable:

QT_NO_GLIB=1 gstd

NVMM support not working

1. NVMM support on Jetson is recommended for Jetpack 4.4 until Jetpack 5.X. Jetpack 5.X support is currently on development.

2. NVMM support does not support splitmux, since it is not capable of allocating NVMM buffers.


Previous: Performance/Xavier Index Next: FAQ