diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp --- a/toolkit/xre/nsAppRunner.cpp +++ b/toolkit/xre/nsAppRunner.cpp @@ -3622,12 +3622,15 @@ bool disableWayland = true; # if defined(MOZ_WAYLAND) - // Make X11 backend the default one. - // Enable Wayland backend only when GDK_BACKEND is set and - // Gtk+ >= 3.22 where we can expect recent enough + // Enable Wayland on Gtk+ >= 3.22 where we can expect recent enough // compositor & libwayland interface. - disableWayland = (PR_GetEnv("GDK_BACKEND") == nullptr) || - (gtk_check_version(3, 22, 0) != nullptr); + disableWayland = (gtk_check_version(3, 22, 0) != nullptr); + if (!disableWayland) { + // Make X11 backend the default one unless MOZ_ENABLE_WAYLAND or + // GDK_BACKEND are specified. + disableWayland = (PR_GetEnv("GDK_BACKEND") == nullptr) && + (PR_GetEnv("MOZ_ENABLE_WAYLAND") == nullptr); + } # endif // On Wayland disabled builds read X11 DISPLAY env exclusively // and don't care about different displays.