diff --git a/guake/main.py b/guake/main.py
index <HASH>..<HASH> 100644
--- a/guake/main.py
+++ b/guake/main.py
@@ -42,7 +42,11 @@ from optparse import OptionParser
 log = logging.getLogger(__name__)
 
 # Force use X11 backend under wayland before any import of GDK through dependencies
+# This could fix weird problems under Wayland
+# But if user set GUAKE_ENABLE_WAYLAND=1, then force use Wayland backend
 os.environ["GDK_BACKEND"] = "x11"
+if os.environ["GUAKE_ENABLE_WAYLAND"] == 1:
+    os.environ["GDK_BACKEND"] = "wayland"
 
 from guake.globals import NAME
 from guake.globals import bindtextdomain
diff --git a/guake/terminal.py b/guake/terminal.py
index <HASH>..<HASH> 100644
--- a/guake/terminal.py
+++ b/guake/terminal.py
@@ -121,6 +121,8 @@ class GuakeTerminal(Vte.Terminal):
 
         self.setup_drag_and_drop()
 
+        # GDK_BACKEND is ingnored
+        # Set GUAKE_ENABLE_WAYLAND=1 to use Wayland backend
         self.ENVV_EXCLUDE_LIST = ["GDK_BACKEND"]
         self.envv = [f"{i}={os.environ[i]}" for i in os.environ if i not in self.ENVV_EXCLUDE_LIST]
         self.envv.append(f"GUAKE_TAB_UUID={self.uuid}")
Add `GUAKE_ENABLE_WAYLAND` environment variable