diff --git gdk/x11/gdkdisplay-x11.c gdk/x11/gdkdisplay-x11.c
index 84a45dc..685a1f9 100644
--- gdk/x11/gdkdisplay-x11.c
+++ gdk/x11/gdkdisplay-x11.c
@@ -56,7 +56,9 @@
 #include <errno.h>
 #include <unistd.h>
 
+#ifdef HAVE_EGL
 #include <epoxy/egl.h>
+#endif
 
 #include <X11/Xatom.h>
 #include <X11/Xlibint.h>
@@ -2916,6 +2918,7 @@ visual_is_rgba (XVisualInfo *visinfo)
     visinfo->visual->blue_mask  == 0x0000ff;
 }
 
+#ifdef HAVE_EGL
 static guint
 gdk_x11_display_rate_egl_config (GdkDisplay *display,
                                  gpointer    egl_display,
@@ -2942,7 +2945,9 @@ gdk_x11_display_rate_egl_config (GdkDisplay *display,
 
   return distance;
 }
+#endif
 
+#ifdef HAVE_EGL
 static gboolean
 gdk_x11_display_init_gl_backend (GdkX11Display  *self,
                                  Visual        **out_visual,
@@ -2997,6 +3002,26 @@ gdk_x11_display_init_gl_backend (GdkX11Display  *self,
 
   return TRUE;
 }
+#else /* HAVE_EGL */
+
+static gboolean
+gdk_x11_display_init_gl_backend (GdkX11Display  *self,
+                                 Visual        **out_visual,
+                                 int            *out_depth,
+                                 GError        **error)
+{
+  GdkDisplay *display = GDK_DISPLAY (self);
+  Display *dpy = gdk_x11_display_get_xdisplay (GDK_DISPLAY (self));
+  XVisualInfo *visinfo;
+  int visualid;
+
+  if (gdk_x11_display_init_glx (self, out_visual, out_depth, error))
+    return TRUE;
+  else
+    return FALSE;
+}
+#endif /* HAVE_EGL */
+
 
 static GdkGLContext *
 gdk_x11_display_init_gl (GdkDisplay  *display,
@@ -3011,8 +3036,12 @@ gdk_x11_display_init_gl (GdkDisplay  *display,
 
   if (self->glx_config != NULL)
     return g_object_new (GDK_TYPE_X11_GL_CONTEXT_GLX, "surface", self->leader_gdk_surface, NULL);
+
+#ifdef HAVE_EGL
   else if (gdk_display_get_egl_display (display))
     return g_object_new (GDK_TYPE_X11_GL_CONTEXT_EGL, "surface", self->leader_gdk_surface, NULL);
+#endif
+
   else
     g_return_val_if_reached (NULL);
 }
@@ -3048,7 +3077,10 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class)
   display_class->get_keymap = gdk_x11_display_get_keymap;
 
   display_class->init_gl = gdk_x11_display_init_gl;
+
+#ifdef HAVE_EGL
   display_class->rate_egl_config = gdk_x11_display_rate_egl_config;
+#endif
 
   display_class->get_default_seat = gdk_x11_display_get_default_seat;
 
diff --git gdk/x11/meson.build gdk/x11/meson.build
index 58d12bb..1e5f9c7 100644
--- gdk/x11/meson.build
+++ gdk/x11/meson.build
@@ -8,7 +8,6 @@ gdk_x11_public_sources = files([
   'gdkdevicemanager-x11.c',
   'gdkdevicemanager-xi2.c',
   'gdkdisplay-x11.c',
-  'gdkglcontext-egl.c',
   'gdkglcontext-glx.c',
   'gdkglcontext-x11.c',
   'gdkkeys-x11.c',
--- meson.build	2026-02-10 21:55:29
+++ meson.build	2026-02-10 21:56:02
@@ -167,8 +155,9 @@
 os_unix = not os_win32
 
 if os_darwin
+  x11_enabled = true
+  macos_enabled = false
   wayland_enabled = false
-  x11_enabled = false
 else
   macos_enabled = false
 endif
--- gtk/inspector/general.c.orig	2025-11-20 00:08:31
+++ gtk/inspector/general.c	2026-02-11 13:00:57
@@ -49,7 +49,9 @@
 #ifdef GDK_WINDOWING_X11
 #include "x11/gdkx.h"
 #include <epoxy/glx.h>
+#ifdef HAVE_EGL
 #include <epoxy/egl.h>
+#endif
 #endif
 
 #ifdef GDK_WINDOWING_WIN32
@@ -606,7 +608,7 @@
   g_strfreev (items);
 }
 
-#if defined(GDK_WINDOWING_X11) || defined(GDK_WINDOWING_WAYLAND) || (defined(GDK_WINDOWING_WIN32) && defined(GDK_WIN32_ENABLE_EGL))
+#if (defined(GDK_WINDOWING_X11) && defined (HAVE_EGL)) || defined(GDK_WINDOWING_WAYLAND) || (defined(GDK_WINDOWING_WIN32) && defined(GDK_WIN32_ENABLE_EGL))
 static EGLDisplay
 get_egl_display (GdkDisplay *display)
 {
@@ -669,7 +671,7 @@
       gtk_string_list_append (GTK_STRING_LIST (gen->gl_extensions_list), gl_ext);
     }
 
-#if defined(GDK_WINDOWING_X11) || defined(GDK_WINDOWING_WAYLAND) || (defined(GDK_WINDOWING_WIN32) && defined(GDK_WIN32_ENABLE_EGL))
+#if defined(GDK_WINDOWING_WAYLAND) || (defined (GDK_WINDOWING_X11) && defined (HAVE_EGL)) || (defined (GDK_WINDOWING_WIN32) && defined(GDK_WIN32_ENABLE_EGL))
   EGLDisplay egl_display = get_egl_display (gen->display);
   if (egl_display)
     {
@@ -782,7 +784,7 @@
 
   ext = g_string_new ("");
 
-#if defined(GDK_WINDOWING_X11) || defined(GDK_WINDOWING_WAYLAND) || (defined(GDK_WINDOWING_WIN32) && defined(GDK_WIN32_ENABLE_EGL))
+#if (defined(GDK_WINDOWING_X11) && defined (HAVE_EGL)) || defined(GDK_WINDOWING_WAYLAND) || (defined(GDK_WINDOWING_WIN32) && defined(GDK_WIN32_ENABLE_EGL))
   EGLDisplay egl_display = get_egl_display (display);
   if (egl_display)
     {
--- gtk/gtkcolorpicker.c.orig	2026-02-11 13:20:44
+++ gtk/gtkcolorpicker.c	2026-02-11 13:21:18
@@ -22,10 +22,6 @@
 #include "gtkcolorpickershellprivate.h"
 #include "gtkcolorpickerkwinprivate.h"
 
-#ifdef __APPLE__
-#include "gtkcolorpickerquartzprivate.h"
-#endif
-
 #ifdef G_OS_WIN32
 #include "gtkcolorpickerwin32private.h"
 #endif
@@ -62,16 +58,13 @@
 {
   GtkColorPicker *picker = NULL;
 
-#if defined (G_OS_UNIX) && !defined(__APPLE__)
+#if defined (G_OS_UNIX)
   if (!picker)
     picker = gtk_color_picker_portal_new ();
   if (!picker)
     picker = gtk_color_picker_shell_new ();
   if (!picker)
     picker = gtk_color_picker_kwin_new ();
-#elif defined (__APPLE__)
-  if (!picker)
-    picker = gtk_color_picker_quartz_new ();
 #elif defined (G_OS_WIN32)
   if (!picker)
     picker = gtk_color_picker_win32_new ();
