mavlink / qgroundcontrol

Cross-platform ground control station for drones (Android, iOS, Mac OS, Linux, Windows)
http://qgroundcontrol.io
3.34k stars 3.65k forks source link

GStreamer doesn't work in the daily builds (External plugin loader failed) #12022

Closed eshcheglov closed 1 month ago

eshcheglov commented 1 month ago

Steps to Reproduce:

  1. Run latest QGC Daily build (latest-2-gfe4f8a42c 64 bit)
  2. Add RTSP video stream: Application Settings -> Video -> Connection -> RTSP URL

System Information

Stable version of QGC works well

Log Files and Screenshots

QGC.log

HTRamsey commented 1 month ago

Should be good after the linked PR is merged. I had to mark the plugin scanner as executable

eshcheglov commented 1 month ago

Thanks!

I tried to repack the existing AppImage and made the following changes:

Now I see the following in the VideoReceiverLog: "GStreamer error: Could not initialize window system. I suppose the changes in the source code that you made in your branch (like in gstreamer.cc) were aimed specifically at fixing this error?

HTRamsey commented 1 month ago

Yeah it's honestly been a pain. In older versions QGC just didn't provide any dependencies in the AppImage which I suppose I could just give up and do too but I'd really like to get this working well.

And actually it builds and runs fine with video on my ubuntu 24.04 so it's gotta be something related to the dependencies.

HTRamsey commented 1 month ago

@eshcheglov is your build finding gstreamer-gl-x11-1.0?

eshcheglov commented 1 month ago

There is no errors about gstreamer-gl-x11-1.0 in my log file:

PX4ParameterMetaDataLog: Invalid max value, name: "VTQ_TELEM_IDS_1"  type: 5  max: "4294967295"  error: "Value must be within 0 and 2147483647"
PX4ParameterMetaDataLog: Invalid value for bitmask, bit: 31
PX4ParameterMetaDataLog: Invalid max value, name: "VTQ_TELEM_IDS_1"  type: 5  max: "4294967295"  error: "Value must be within 0 and 2147483647"
PX4ParameterMetaDataLog: Invalid value for bitmask, bit: 31
PX4ParameterMetaDataLog: Invalid max value, name: "VTQ_TELEM_IDS_1"  type: 5  max: "4294967295"  error: "Value must be within 0 and 2147483647"
PX4ParameterMetaDataLog: Invalid value for bitmask, bit: 31
Error loading text-to-speech plug-in "speechd"
PX4ParameterMetaDataLog: Invalid max value, name: "VTQ_TELEM_IDS_1"  type: 5  max: "4294967295"  error: "Value must be within 0 and 2147483647"
PX4ParameterMetaDataLog: Invalid value for bitmask, bit: 31
No engine set.
qgc.audio.audiooutput: void AudioOutput::say(const QString&, AudioOutput::TextMods) Speech Not Supported: " position flight mode"
ComponentInformationTranslationLog: Locale  "en_US"  not found in json
ComponentInformationTranslationLog: Locale  "en_US"  not found in json
ParameterManagerLog: Attemping load from cache
ParameterManagerLog: Parameters cache match failed /home/deck/.config/QGroundControl.org/ParamCache/1_1.v2
VideoReceiverLog: GStreamer error: Could not initialize window system
VideoReceiverLog: GStreamer error: Could not initialize window system
VideoReceiverLog: GStreamer error: Could not initialize window system
VideoReceiverLog: GStreamer error: Could not initialize window system

libgstgl (I suppose that gstreamer-gl-x11-1.0 is libgstgl) is present both in my system and in the AppImage:

HTRamsey commented 1 month ago

I did a quick temporary fix in #12029, there's still some issue with audio but I'll get a better solution out soon.