diff --git a/gst-libs/gst/gl/egl/gstglcontext_egl.c b/gst-libs/gst/gl/egl/gstglcontext_egl.c index b7edf4b8d8..27d37535f9 100644 --- a/gst-libs/gst/gl/egl/gstglcontext_egl.c +++ b/gst-libs/gst/gl/egl/gstglcontext_egl.c @@ -168,6 +168,15 @@ gst_gl_context_egl_choose_config (GstGLContextEGL * egl, config_attrib[i++] = EGL_OPENGL_ES2_BIT; else config_attrib[i++] = EGL_OPENGL_BIT; +#if defined(USE_EGL_RPI) && defined(GST_GL_HAVE_WINDOW_WAYLAND) + /* The configurations r=5 g=6 b=5 seems to be buggy whereas + * it works when using dispmanx directly */ + config_attrib[i++] = EGL_BUFFER_SIZE; + config_attrib[i++] = 24; + /* same with a=0 */ + config_attrib[i++] = EGL_ALPHA_SIZE; + config_attrib[i++] = 1; +#endif config_attrib[i++] = EGL_DEPTH_SIZE; config_attrib[i++] = 16; config_attrib[i++] = EGL_NONE;