From 7642c0468dde9aea170ebefcb542d5579c0dfc9c Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Fri, 25 Apr 2025 09:48:08 -0700
Subject: [PATCH] Log information about Wayland environment detection
---
src/video/wayland/SDL_waylandvideo.c | 3 +++
src/video/x11/SDL_x11video.c | 2 ++
2 files changed, 5 insertions(+)
diff --git a/src/video/wayland/SDL_waylandvideo.c b/src/video/wayland/SDL_waylandvideo.c
index c185cb5967a5f..e2de40010209c 100644
--- a/src/video/wayland/SDL_waylandvideo.c
+++ b/src/video/wayland/SDL_waylandvideo.c
@@ -495,6 +495,9 @@ static bool Wayland_IsPreferred(struct wl_display *display)
wl_registry_destroy(registry);
+ if (!preferred_data.has_fifo_v1) {
+ SDL_LogInfo(SDL_LOG_CATEGORY_VIDEO, "This compositor lacks support for the fifo-v1 protocol; falling back to XWayland for GPU performance reasons (set SDL_VIDEO_DRIVER=wayland to override)");
+ }
return preferred_data.has_fifo_v1;
}
diff --git a/src/video/x11/SDL_x11video.c b/src/video/x11/SDL_x11video.c
index a03b97fbf9af0..f371f519d6be0 100644
--- a/src/video/x11/SDL_x11video.c
+++ b/src/video/x11/SDL_x11video.c
@@ -285,6 +285,8 @@ static SDL_VideoDevice *X11_CreateDevice(void)
data->is_xwayland = X11_IsXWayland(x11_display);
if (data->is_xwayland) {
+ SDL_LogInfo(SDL_LOG_CATEGORY_VIDEO, "Detected XWayland");
+
device->device_caps |= VIDEO_DEVICE_CAPS_MODE_SWITCHING_EMULATED |
VIDEO_DEVICE_CAPS_DISABLE_MOUSE_WARP_ON_FULLSCREEN_TRANSITIONS;
}