xibosignage / xibo-linux

Xibo for Linux - Digital Signage Player
https://xibo.org.uk/xibo-for-linux
GNU Affero General Public License v3.0
76 stars 54 forks source link

Wayland: Video won't play. Unable to create player: gtkglsink is missing. #268

Open dasgarner opened 2 years ago

dasgarner commented 2 years ago

On Ubuntu 22.04 under Wayland, either via vscode or snap any layouts which have video do not play, and the following error is logged.

[19:26:43.080] [151560] [error]: [LayoutsManager] [LayoutParser - RegionParser - MediaParser - GstMediaPlayer] Layout 1560 is invalid or missing. Reason: Unable to create player: gtkglsink is missing.
dasgarner commented 2 years ago

I thought this might be because libgstreamer-plugins-good1.0-0 is missing from the devcontainer, but adding that didn't fix the issue.

The previously working snap build also suffers with this issue, so perhaps something external to us has changed.

Stivius commented 2 years ago

@dasgarner please, recheck this issue on edge channel version

dasgarner commented 2 years ago

I now get the below, but videos do play! I think we can consider this solved in edge-240.

** (xibo-player:35446): WARNING **: 08:02:25.534: Accelerated compositing is not supported under Wayland displays, disabling.
dasgarner commented 2 years ago

Apologies, I spoke too soon - when a video finishes playing I get the following error:

ERROR:gstglshader.c:462:gst_gl_shader_detach_unlocked: assertion failed: (shader->context->gl_vtable->IsProgram (shader-> priv->program_handle))
Bail out! ERROR:gstglshader.c:462:gst_gl_shader_detach_unlocked: assertion failed: (shader->context->gl_vtable->IsProgram (shader-> priv->program_handle))
 0# signalStacktraceHandler(int) in /snap/xibo-player/240/usr/bin/xibo-player
 1# 0x00007F6905B9B090 in /lib/x86_64-linux-gnu/libc.so.6
 2# raise in /lib/x86_64-linux-gnu/libc.so.6
 3# abort in /lib/x86_64-linux-gnu/libc.so.6
 4# g_assertion_message_expr.cold in /snap/xibo-player/240/gnome-platform/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
 5# g_assertion_message_expr in /snap/xibo-player/240/gnome-platform/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
 6# gst_gl_shader_detach_unlocked in /snap/xibo-player/240/usr/lib/x86_64-linux-gnu/libgstgl-1.0.so.0
 7# gst_gl_shader_release_unlocked in /snap/xibo-player/240/usr/lib/x86_64-linux-gnu/libgstgl-1.0.so.0
 8# 0x00007F68EC2CCB23 in /snap/xibo-player/240/usr/lib/x86_64-linux-gnu/libgstgl-1.0.so.0
 9# gst_gl_context_thread_add in /snap/xibo-player/240/usr/lib/x86_64-linux-gnu/libgstgl-1.0.so.0
10# 0x00007F68EC2CB757 in /snap/xibo-player/240/usr/lib/x86_64-linux-gnu/libgstgl-1.0.so.0
11# g_object_unref in /snap/xibo-player/240/gnome-platform/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
12# 0x00007F68EC2E3499 in /snap/xibo-player/240/usr/lib/x86_64-linux-gnu/libgstgl-1.0.so.0
13# g_object_unref in /snap/xibo-player/240/gnome-platform/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
14# 0x00007F68EC321DF0 in /snap/xibo-player/240/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstgtk.so
15# 0x00007F68EC320C0F in /snap/xibo-player/240/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstgtk.so
16# g_main_context_invoke_full in /snap/xibo-player/240/gnome-platform/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
17# 0x00007F68EC320CB0 in /snap/xibo-player/240/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstgtk.so
18# 0x00007F68EC321CFA in /snap/xibo-player/240/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstgtk.so
19# g_object_unref in /snap/xibo-player/240/gnome-platform/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
20# 0x00007F69069C073F in /snap/xibo-player/240/usr/lib/x86_64-linux-gnu/libgtk-3.so.0
21# 0x00007F69068BFA5A in /snap/xibo-player/240/usr/lib/x86_64-linux-gnu/libgtk-3.so.0
22# g_closure_invoke in /snap/xibo-player/240/gnome-platform/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
23# signal_emit_unlocked_R in /snap/xibo-player/240/gnome-platform/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
24# g_signal_emit_valist in /snap/xibo-player/240/gnome-platform/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
25# g_signal_emit in /snap/xibo-player/240/gnome-platform/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
26# 0x00007F6906ADE600 in /snap/xibo-player/240/usr/lib/x86_64-linux-gnu/libgtk-3.so.0
27# g_object_unref in /snap/xibo-player/240/gnome-platform/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
28# Gtk::Object::_release_c_instance() in /snap/xibo-player/240/usr/lib/x86_64-linux-gnu/libgtkmm-3.0.so.1
29# Gtk::Overlay::~Overlay() in /snap/xibo-player/240/usr/lib/x86_64-linux-gnu/libgtkmm-3.0.so.1
30# BaseFixedContainerGtk<Xibo::FixedContainer>::~BaseFixedContainerGtk() in /snap/xibo-player/240/usr/bin/xibo-player
31# BaseFixedContainerGtk<Xibo::FixedContainer>::~BaseFixedContainerGtk() in /snap/xibo-player/240/usr/bin/xibo-player
32# OverlayContainerGtk::~OverlayContainerGtk() in /snap/xibo-player/240/usr/bin/xibo-player
33# OverlayContainer<BaseFixedContainerGtk<Xibo::OverlayContainer> >::setMainChild(std::shared_ptr<Xibo::Widget> const&) in /snap/xibo-player/240/usr/bin/xibo-player
34# boost::detail::function::void_function_obj_invoker1<XiboApp::createLayoutManager()::{lambda(std::shared_ptr<Xibo::Widget> const&)#1}, void, std::shared_ptr<Xibo::Widget> const&>::invoke(boost::detail::function::function_buffer&, std::shared_ptr<Xibo::Widget> const&) in /snap/xibo-player/240/usr/bin/xibo-player
35# boost::signals2::detail::signal_impl<void (std::shared_ptr<Xibo::Widget> const&), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (std::shared_ptr<Xibo::Widget> const&)>, boost::function<void (boost::signals2::connection const&, std::shared_ptr<Xibo::Widget> const&)>, boost::signals2::mutex>::operator()(std::shared_ptr<Xibo::Widget> const&) in /snap/xibo-player/240/usr/bin/xibo-player
36# LayoutsManager::fetchMainLayout() in /snap/xibo-player/240/usr/bin/xibo-player
37# boost::signals2::detail::signal_impl<void (), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()>, boost::function<void (boost::signals2::connection const&)>, boost::signals2::mutex>::operator()() in /snap/xibo-player/240/usr/bin/xibo-player
38# MainLayoutImpl::onRegionExpired(int) in /snap/xibo-player/240/usr/bin/xibo-player
39# boost::signals2::detail::signal_impl<void (int), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (int)>, boost::function<void (boost::signals2::connection const&, int)>, boost::signals2::mutex>::operator()(int) in /snap/xibo-player/240/usr/bin/xibo-player
40# boost::signals2::detail::signal_impl<void (), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()>, boost::function<void (boost::signals2::connection const&)>, boost::signals2::mutex>::operator()() in /snap/xibo-player/240/usr/bin/xibo-player
41# boost::signals2::detail::signal_impl<void (), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()>, boost::function<void (boost::signals2::connection const&)>, boost::signals2::mutex>::operator()() in /snap/xibo-player/240/usr/bin/xibo-player
42# GstMediaPlayer::busMessageWatch(_GstBus*, _GstMessage*, void*) in /snap/xibo-player/240/usr/bin/xibo-player
43# 0x00007F6909A1CDC2 in /snap/xibo-player/240/usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
44# g_main_context_dispatch in /snap/xibo-player/240/gnome-platform/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
45# g_main_context_iterate.isra.0 in /snap/xibo-player/240/gnome-platform/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
46# g_main_context_iteration in /snap/xibo-player/240/gnome-platform/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
47# g_application_run in /snap/xibo-player/240/gnome-platform/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
48# MainLoop::run(WindowGtk&) in /snap/xibo-player/240/usr/bin/xibo-player
49# XiboApp::run() in /snap/xibo-player/240/usr/bin/xibo-player
50# main in /snap/xibo-player/240/usr/bin/xibo-player
51# __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
52# _start in /snap/xibo-player/240/usr/bin/xibo-player

Player exited with code 6