GNOME Bugzilla – Bug 765174
Black screen instead of video output with libva-intel-driver
Last modified: 2016-05-21 03:34:54 UTC
Video output is black with libva-intel-driver installed. Everything works correctly without that package. Bug occurs in GNOME Twitch. Output to console with libva-intel-driver: [16:44:43] GNOME-Twitch - Message : "{GtApp} Loading chat settings" [16:44:43] GNOME-Twitch - Message : "{GtApp} Activate" [16:44:43] Gtk - Warning : "Theme parsing error: gnome-twitch-style.css:43:21: The '-gtk-image-effect' property has been renamed to '-gtk-icon-effect'" [16:44:49] GNOME-Twitch - Message : "{GtPlayer} Opening stream 'dreamhackcs' with quality 'high'" [16:44:49] Clutter - Critical : "clutter_actor_remove_child: assertion 'child->priv->parent == self' failed" [16:44:49] Clutter - Critical : "clutter_actor_add_child: assertion 'child->priv->parent == NULL' failed" libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_39 libva info: va_openDriver() returns 0 (gnome-twitch:10480): GStreamer-CRITICAL **: gst_buffer_copy_with_flags: assertion 'buffer != NULL' failed [16:44:50] Cogl - Warning : "driver/gl/cogl-framebuffer-gl.c:983: GL error (1280): Invalid enumeration valuex Bug previously reported here: https://github.com/Ippytraxx/gnome-twitch/issues/116
> [16:44:49] Clutter - Critical : "clutter_actor_remove_child: assertion > 'child->priv->parent == self' failed" > [16:44:49] Clutter - Critical : "clutter_actor_add_child: assertion > 'child->priv->parent == NULL' failed" These look like they should be fixed? Probably a problem in clutter or the app, no? > (gnome-twitch:10480): GStreamer-CRITICAL **: gst_buffer_copy_with_flags: > assertion 'buffer != NULL' failed Could we get a stack trace for this? > [16:44:50] Cogl - Warning : "driver/gl/cogl-framebuffer-gl.c:983: GL error > (1280): Invalid enumeration valuex
Created attachment 326212 [details] Stack Trace
Comment on attachment 326212 [details] Stack Trace Thanks, but this is not what I meant with a stack trace. See https://wiki.gnome.org/Community/GettingInTouch/Bugzilla/GettingTraces/Details for more information. The difficulty here is that we want the trace for the gst buffer warning, not the first two criticals. That means setting a break point on g_logv and continuing until we hit the right one. It might be a bit tricky if you haven't used gdb before. I think you should investigate the two Clutter-Criticals before continuing to look into GStreamer things. You can see where they happen from with gdb as well, by using G_DEBUG=fatal_warnings gdb --args ./yourapp (gdb) run .. wait for abort .. (gdb) bt .. paste this (gdb) kill (gdb) quit
I've tried to run it in gdb (log attached) but it doesn't detect any debugging symbols (although I have run sudo dnf debuginfo-install gnome-twitch-0.2.0-1.fc24.x86_64 and it installed 6GB of symbols). Response to bt was "No stack".
Created attachment 326249 [details] GDB Log
Which version of gstreamer-vaapi are you using? Looks like an old one, previous to 0.7.0. Can you confirm?
Also, can you paste the output of vainfo command?
Oh, you're right, package was rolled back during upgrade from F23 to F24. So I recompiled 0.7.0 rpm, installed it and this is the result: [17:15:50] GNOME-Twitch - Message : "{GtApp} Loading chat settings" [17:15:50] GNOME-Twitch - Message : "{GtApp} Activate" [17:15:51] Gtk - Warning : "Theme parsing error: gnome-twitch-style.css:43:21: The '-gtk-image-effect' property has been renamed to '-gtk-icon-effect'" [17:15:54] GNOME-Twitch - Message : "{GtPlayer} Opening stream 'savjz' with quality 'high'" [17:15:54] Clutter - Critical : "clutter_actor_remove_child: assertion 'child->priv->parent == self' failed" [17:15:54] Clutter - Critical : "clutter_actor_add_child: assertion 'child->priv->parent == NULL' failed" libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_39 libva info: va_openDriver() returns 0 intel_do_flush_locked failed: No such file or directory Here it crashed.
Created attachment 326286 [details] gdb log
Created attachment 326287 [details] vainfo output
Is this the application that are you using? https://github.com/Ippytraxx/gnome-twitch Can you run it with the env var GST_DEBUG=vaapi*:5???
Created attachment 326504 [details] GST_DEBUG=vaapi*:5
(In reply to František Zatloukal from comment #12) > Created attachment 326504 [details] > GST_DEBUG=vaapi*:5 Output attached.
(In reply to Víctor Manuel Jáquez Leal from comment #11) > Is this the application that are you using? > > https://github.com/Ippytraxx/gnome-twitch Yes, it's that application (release 0.2).
According to the info you have provided, it doesn't look gstreamer or gstreamer-vaapi are failing, but the application. It seems like it is not able to handle the frames provided by gstreamer-vaapi with meta:GstVideoGLTextureUploadMeta, like if the application only handles frames stored in system memory. A workaround, in the application could be the force to video/x-raw frames without metas. In my opinion, you should redirect this feature request to the application tracker. If you think that the problem is gstreamer-vaapi please feel free to reopen the bug.
Reported this fact back to upstream: https://github.com/Ippytraxx/gnome-twitch/issues/116 Thanks!
This is kind of surprising, there is support for gl texture upload in clutter-gst : https://git.gnome.org/browse/clutter-gst/tree/clutter-gst/clutter-gst-video-sink.c?h=clutter-gst-3.0#n120 https://git.gnome.org/browse/clutter-gst/tree/clutter-gst/clutter-gst-video-sink.c?h=clutter-gst-3.0#n1320 I know it was working with some version of gstreamer-vaapi, but recent updates might have broken this :/
Bug is in Intel mesa driver (https://bugs.freedesktop.org/show_bug.cgi?id=71759). LIBGL_DRI3_DISABLE=1 works as workaround.
(In reply to František Zatloukal from comment #18) > Bug is in Intel mesa driver > (https://bugs.freedesktop.org/show_bug.cgi?id=71759). > > LIBGL_DRI3_DISABLE=1 works as workaround. Thanks! This is interesting! By the way, with clutterautovideosink works (which is the one I run my tests)