diff --git a/platform/linuxbsd/wayland/wayland_thread.cpp b/platform/linuxbsd/wayland/wayland_thread.cpp index 66be313ff6c0..3f63cddcc7a6 100644 --- a/platform/linuxbsd/wayland/wayland_thread.cpp +++ b/platform/linuxbsd/wayland/wayland_thread.cpp @@ -3739,10 +3739,16 @@ Error WaylandThread::init() { } #endif // SOWRAP_ENABLED - if (libdecor_found) { - libdecor_context = libdecor_new(wl_display, (struct libdecor_interface *)&libdecor_interface); + bool skip_libdecor = OS::get_singleton()->has_environment("GODOT_WAYLAND_DISABLE_LIBDECOR"); + + if (skip_libdecor) { + print_verbose("Skipping libdecor check because GODOT_WAYLAND_DISABLE_LIBDECOR is set."); } else { - print_verbose("libdecor not found. Client-side decorations disabled."); + if (libdecor_found) { + libdecor_context = libdecor_new(wl_display, (struct libdecor_interface *)&libdecor_interface); + } else { + print_verbose("libdecor not found. Client-side decorations disabled."); + } } #endif // LIBDECOR_ENABLED