diff --git a/docs/reference/gdk/gdk-docs.sgml b/docs/reference/gdk/gdk-docs.sgml
index 7d012c90b2..a5107dc65d 100644
--- a/docs/reference/gdk/gdk-docs.sgml
+++ b/docs/reference/gdk/gdk-docs.sgml
@@ -43,6 +43,7 @@
+
diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt
index 34069e47b3..a8d0dddca6 100644
--- a/docs/reference/gdk/gdk3-sections.txt
+++ b/docs/reference/gdk/gdk3-sections.txt
@@ -52,6 +52,7 @@ gdk_error_trap_pop_ignored
GDK_WINDOWING_X11
GDK_WINDOWING_WIN32
GDK_WINDOWING_QUARTZ
+GDK_WINDOWING_WAYLAND
GDK_VERSION_3_0
@@ -1128,6 +1129,54 @@ gdk_x11_window_get_type
gdk_window_impl_x11_get_type
+
+gdk/gdkwayland.h
+Wayland Interaction
+wayland_interaction
+gdk_wayland_device_get_wl_keyboard
+gdk_wayland_device_get_wl_pointer
+gdk_wayland_device_get_wl_seat
+gdk_wayland_display_get_wl_compositor
+gdk_wayland_display_get_wl_display
+gdk_wayland_display_get_wl_shell
+gdk_wayland_window_get_wl_shell_surface
+gdk_wayland_window_get_wl_surface
+gdk_wayland_window_set_use_custom_surface
+
+
+GDK_TYPE_WAYLAND_DEVICE
+GDK_WAYLAND_DEVICE
+GDK_WAYLAND_DEVICE_CLASS
+GDK_WAYLAND_DEVICE_GET_CLASS
+GDK_IS_WAYLAND_DEVICE
+GDK_IS_WAYLAND_DEVICE_CLASS
+GDK_TYPE_WAYLAND_DISPLAY
+GDK_WAYLAND_DISPLAY
+GDK_WAYLAND_DISPLAY_CLASS
+GDK_WAYLAND_DISPLAY_GET_CLASS
+GDK_IS_WAYLAND_DISPLAY
+GDK_IS_WAYLAND_DISPLAY_CLASS
+GDK_TYPE_WAYLAND_DISPLAY_MANAGER
+GDK_WAYLAND_DISPLAY_MANAGER
+GDK_WAYLAND_DISPLAY_MANAGER_CLASS
+GDK_WAYLAND_DISPLAY_MANAGER_GET_CLASS
+GDK_IS_WAYLAND_DISPLAY_MANAGER
+GDK_IS_WAYLAND_DISPLAY_MANAGER_CLASS
+GDK_TYPE_WAYLAND_WINDOW
+GDK_WAYLAND_WINDOW
+GDK_WAYLAND_WINDOW_CLASS
+GDK_WAYLAND_WINDOW_GET_CLASS
+GDK_IS_WAYLAND_WINDOW
+GDK_IS_WAYLAND_WINDOW_CLASS
+
+
+gdk_wayland_device_get_type
+gdk_wayland_display_get_type
+gdk_wayland_display_manager_get_type
+gdk_wayland_window_get_type
+
+
+
Application launching
gdkapplaunchcontext
diff --git a/gdk/wayland/gdkdisplay-wayland.c b/gdk/wayland/gdkdisplay-wayland.c
index 22d282d137..0dbf91f743 100644
--- a/gdk/wayland/gdkdisplay-wayland.c
+++ b/gdk/wayland/gdkdisplay-wayland.c
@@ -34,6 +34,40 @@
#include "gdkkeysprivate.h"
#include "gdkprivate-wayland.h"
+/**
+ * SECTION:wayland_interaction
+ * @Short_description: Wayland backend-specific functions
+ * @Title: Wayland Interaction
+ *
+ * The functions in this section are specific to the GDK Wayland backend.
+ * To use them, you need to include the <gdk/gdkwayland.h>
+ * header and use the Wayland-specific pkg-config files to build your
+ * application (either gdk-wayland-3.0 or
+ * gtk+-wayland-3.0).
+ *
+ * To make your code compile with other GDK backends, guard backend-specific
+ * calls by an ifdef as follows. Since GDK may be built with multiple
+ * backends, you should also check for the backend that is in use (e.g. by
+ * using the GDK_IS_WAYLAND_DISPLAY() macro).
+ * |[
+ * #ifdef GDK_WINDOWING_WAYLAND
+ * if (GDK_IS_WAYLAND_DISPLAY (display))
+ * {
+ * /* make Wayland-specific calls here */
+ * }
+ * else
+ * #endif
+ * #ifdef GDK_WINDOWING_X11
+ * if (GDK_IS_X11_DISPLAY (display))
+ * {
+ * /* make X11-specific calls here */
+ * }
+ * else
+ * #endif
+ * g_error ("Unsupported GDK backend");
+ * ]|
+ */
+
static void _gdk_wayland_display_load_cursor_theme (GdkWaylandDisplay *wayland_display);
G_DEFINE_TYPE (GdkWaylandDisplay, gdk_wayland_display, GDK_TYPE_DISPLAY)