diff --git a/video/out/opengl/context_x11egl.c b/video/out/opengl/context_x11egl.c index 812718a647..321df4039d 100644 --- a/video/out/opengl/context_x11egl.c +++ b/video/out/opengl/context_x11egl.c @@ -116,6 +116,9 @@ static bool mpegl_init(struct ra_ctx *ctx) .refine_config = ctx->opts.want_alpha ? pick_xrgba_config : NULL, }; + if (!strcmp(eglQueryString(p->egl_display, EGL_VENDOR), "Mesa Project")) + ctx->opts.want_alpha = 0; + EGLConfig config; if (!mpegl_create_context_cb(ctx, p->egl_display, cb, &p->egl_context, &config)) goto uninit; diff --git a/video/out/opengl/egl_helpers.c b/video/out/opengl/egl_helpers.c index 564068a448..ad026ba253 100644 --- a/video/out/opengl/egl_helpers.c +++ b/video/out/opengl/egl_helpers.c @@ -120,7 +120,7 @@ static bool create_context(struct ra_ctx *ctx, EGLDisplay display, EGL_RED_SIZE, 8, EGL_GREEN_SIZE, 8, EGL_BLUE_SIZE, 8, - EGL_ALPHA_SIZE, 0, + EGL_ALPHA_SIZE, ctx->opts.want_alpha ? 1 : 0, EGL_RENDERABLE_TYPE, rend, EGL_NONE };