From 3dbbff571f31899e47ec4a002f3ecbe96cc48981 Mon Sep 17 00:00:00 2001 From: Yuxuan Shui Date: Wed, 17 Dec 2025 08:14:24 +0000 Subject: [PATCH] wsi/display: Set atomic client cap in AcquireDrmDisplayEXT as well. Previously we only added the atomic client cap to the drmFd passed to GetDrmDisplayEXT (through wsi_display_get_connector). But the drmFd passed to AcquireDrmDisplayEXT might be different. And that drmFd is what mesa will use for later operations. For example, SteamVR uses a non-master drm fd for GetDrmDisplayEXT, then later uses a different, leased drm fd for AcquireDrmDisplayEXT. This breaks things like drmModeObjectGetProperties because all atomic properties will be missing. Fixes: 513ffea1d366 ("wsi/display: use atomic mode setting") Signed-off-by: Yuxuan Shui --- src/vulkan/wsi/wsi_common_display.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/vulkan/wsi/wsi_common_display.c b/src/vulkan/wsi/wsi_common_display.c index 4c9451a6d000f..8b004563ff44e 100644 --- a/src/vulkan/wsi/wsi_common_display.c +++ b/src/vulkan/wsi/wsi_common_display.c @@ -4074,6 +4074,7 @@ wsi_AcquireDrmDisplayEXT(VkPhysicalDevice physicalDevice, drmModeFreeConnector(drm_connector); + drmSetClientCap(drmFd, DRM_CLIENT_CAP_ATOMIC, 1); wsi->fd = drmFd; return VK_SUCCESS; } -- GitLab