meta-raspberrypi: GStreamer-based QML Video does not work on EGLFS on Pi 4, but works on Pi 3

I am interested in developing/porting apps to Pi, and now switching to Pi 4. I am unable to run Qt’s official example video player, I suspect there is still driver anomalities with meta-raspberrypi, regarding graphical infrastructure, when it comes to Pi 4.

How to reproduce: Build image with:

PACKAGECONFIG_qtbase_append = " examples "
PACKAGECONFIG_qtmultimedia_append = " examples "
IMAGE_INSTALL_append = " qtbase-examples "

From Pi,

/usr/share/examples/multimedia/video/qmlvideo# ./qmlvideo -platform eglfs
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/var/volatile/tmp/runtime-root'
Setting framebuffer size is only available with DRM atomic API

Checked configuration:

meta-raspberrypi master HEAD @ b112816e95ec59447a82a3a0ee7842c547dda335 poky master HEAD @ 5f0d31ce4653f7a76a5226fa379a285ceca19d63

From the opened app select an mp4 file, and hit “Video”; you won’t be able to see any video displayed. Output is given above. With the same approach, one can display video on Pi 3.

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 56 (10 by maintainers)

Most upvoted comments

@gitgonewithwind I kindly ask you to stop hijacking random threads. As you can see this is another issue. If you haven’t received feedback yet, it is most probably because it’s not something people are working on right now and there is not an obvious solution to your problem. So please be patient and in the meanwhile try to dig into the problem as much as you can.

I’ve open an issue on v4l to have a double chance to have an answer; I’m watching your qt issue. See https://bugzilla.kernel.org/show_bug.cgi?id=204781

Hi @mozcelikors @agherzan @aurelian17 I’ve the same issue as you but I’ve configured a qmultimedia_git.bbappend with PACKAGECONFIG_append = " gstreamer" because QMultimedia must be compiled with gstreamer flag.

in the plugin-bad of gstreamer I’ve also included PACKAGECONFIG_append = " faad faac kms"

In gstreamer I’ve also addedd gstreamer1.0-omx because, is the only that is able tu use the VC for render the video in GPU But at the moment is not working accelerated, I’ve opened an issue on freedesktop about this.

I’ve tried to recompile gstreamer on a raspbian burster light but without success at the moment

See this https://gitlab.freedesktop.org/gstreamer/gst-omx/issues/31#note_208543 “OMX is the only way to hardware decode video on the Pi 3. The new Pi 4 has video4linux decoders but not the previous versions”

Try to configure GST_DEBUG_DUMP_DOT_DIR before gst-play or gst-launch to check the chain that gstreamer is using to render the video or use gst-launch and specify the chain I think that in this new release of the system/firmware you cannot use eglfsink but kmssink

By the way I was not able to give video accelerated with pi3 but I can share my experience to try to find a solution because I also need the video acceleration in Pi4