From ac1810fb173a49b3ae299d114fa635a8b619735b Mon Sep 17 00:00:00 2001 From: Olly Betts Date: Tue, 8 Sep 2026 15:12:56 +0000 Subject: [PATCH] Force X11 if wx GL library is loaded Bug: https://trac.wxwidgets.org/ticket/17702 Bug-Debian: https://bugs.debian.org/900678 Forwarded: not-needed Last-Update: 2022-11-28 Gbp-Pq: Name force-x11-for-wxgl.patch --- src/gtk/glcanvas.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/gtk/glcanvas.cpp b/src/gtk/glcanvas.cpp index b3251cd..f93ab98 100644 --- a/src/gtk/glcanvas.cpp +++ b/src/gtk/glcanvas.cpp @@ -18,6 +18,17 @@ #include "wx/gtk/private/wrapgdk.h" #include "wx/gtk/private/backend.h" +#if GTK_CHECK_VERSION(3,10,0) +// wxGTK's wxGLCanvas requires X11 currently, so tell GDK that so under +// Wayland the app is still run using X11. We put this here so it's +// only run when the wx GL library is loaded (in a monolithic build this +// will always be active if wx's GL support is enabled). +struct ForceX11 { + ForceX11() { gdk_set_allowed_backends("x11"); } +}; +static ForceX11 forcex11; +#endif + #ifdef __WXGTK3__ extern "C" { static gboolean draw(GtkWidget* widget, cairo_t* cr, wxGLCanvas* win) -- 2.30.2