clapper icon indicating copy to clipboard operation
clapper copied to clipboard

ERROR:../gst-libs/gst/gl/gstglbufferpool.c:151:gst_gl_buffer_pool_set_config: assertion failed: (priv->allocator)

Open josch opened this issue 11 months ago • 4 comments

Hi,

I'm using clapper with the NXP i.MX 8MQ with etnaviv graphiccsc in the MNT Reform open hardware laptop under wayland. In Debian we currently ship version 0.6.0 and I wanted to package the new version 0.8.0. Building clapper in Debian unstable works fine but when attempting to run it I get:

$ env GST_CLAPPER_USE_PLAYBIN3=1 clapper /home/mmmm/v2426396661.mp4
(clapper:75218): Gtk-WARNING **: 16:04:33.753: Unable to acquire the address of the accessibility bus: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files. If you are attempting to run GTK without a11y support, GTK_A11Y should be set to 'none'.

(clapper:75218): Gsk-WARNING **: 16:04:34.205: The old GL renderer has been removed. Try GSK_RENDERER=help

(clapper:75218): GStreamer-CRITICAL **: 16:04:35.334: gst_object_ref: assertion 'object != NULL' failed

(clapper:75218): GStreamer-GL-CRITICAL **: 16:04:35.334: gst_gl_memory_allocator_get_default: assertion 'GST_IS_GL_CONTEXT (context)' failed
**
GStreamer-GL:ERROR:../gst-libs/gst/gl/gstglbufferpool.c:151:gst_gl_buffer_pool_set_config: assertion failed: (priv->allocator)
Bail out! GStreamer-GL:ERROR:../gst-libs/gst/gl/gstglbufferpool.c:151:gst_gl_buffer_pool_set_config: assertion failed: (priv->allocator)
Aborted

On the other hand this works fine:

gst-launch-1.0 playbin3 uri=file:///home/mmmm/v2426396661.mp4 video-sink=waylandsink

The below at least opens a window but it stays black with a yellow triangle and an exclamation mark which says below: Unplayable content Internal data stream error:

env GST_CLAPPER_USE_PLAYBIN3=0 clapper /home/mmmm/v2426396661.mp4

Any ideas what I could've done wrong here?

josch avatar Apr 17 '25 14:04 josch

Unfortunately, GTK4 removed GL renderer in GTK 4.18 version. This causes running Clapper on devices that cannot do GLES 3.0+ to fail currently, while any other GTK app you run will be using software rendering (slow, eats battery a lot).

You can "fix" this by downgrading GTK to older version. Otherwise the only thing that can be done here is to make it work with software renderer like other apps do.

Quote: "Spring cleaning. The old GL renderer has been removed. This may be unwelcome news for people stuck on very old drivers and hardware." (source: https://blog.gtk.org/2025/02/01/whats-new-in-gtk-winter-2025-edition/)

Rafostar avatar Apr 17 '25 15:04 Rafostar

Oh no... for future me, it was this commit: https://gitlab.gnome.org/GNOME/gtk/-/commit/af2aadbe9b4683b752eb2ee10776e36f3fd9f2a7

Unfortunately we cannot have multiple versions of or downgrade gtk in Debian. And the software renderer is too slow for that platform.

Clapper was the only good video player that worked on the i.MX8MQ because in contrast to mpv or vlc it was able to use its hardware rendering engine (hantro). This change in GTK now kills video playback on the MNT Reform with imx8mq. 😢

josch avatar Apr 17 '25 16:04 josch

It might be still possible to skip the GTK renderer for video content/rendering alone for things you can HW decode. Currently not implemented here yet.

Well, the UI and all other GTK apps will be software rendered too. So, considering your HW, I am not sure if GNOME desktop where majority of apps uses GTK is going to continue to be the best choice for you. This is pretty disappointing honestly 😢.

FWIW, Clapper Flatpak package still has older GTK version in it and continues to work for the time being.

Rafostar avatar Apr 17 '25 16:04 Rafostar

Well, the UI and all other GTK apps will be software rendered too. So, considering your HW, I am not sure if GNOME desktop where majority of apps uses GTK is going to continue to be the best choice for you.

I/we are not running Gnome but wayland+sway+waybar and other more minimal things. Unfortunately, it is not easy to avoid GTK applications.

FWIW, Clapper Flatpak package still has older GTK version in it and continues to work for the time being.

Thank you, that's a valuable tip!

EDIT:

Just for the record, with these environment variables at least the video starts playing:

MESA_GLES_VERSION_OVERRIDE=3.2 MESA_GLSL_VERSION_OVERRIDE=320 GSK_RENDERER=cairo

But it's a slideshow. Probably just software renderer...

josch avatar Apr 17 '25 17:04 josch