From d31f2a8dd0e199ef47546315ebf712c01fb9da22 Mon Sep 17 00:00:00 2001 From: komarukomaru Date: Tue, 21 Apr 2026 13:03:03 +0600 Subject: [PATCH] backend/udev: disable drm syncobj on legacy DRM --- src/backend/udev.rs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/backend/udev.rs b/src/backend/udev.rs index 48da203..66cf523 100644 --- a/src/backend/udev.rs +++ b/src/backend/udev.rs @@ -300,10 +300,18 @@ pub fn init_udev( &default_feedback, ); data.dmabuf_global = Some(dmabuf_global); - data.drm_syncobj_state = Some(smithay::wayland::drm_syncobj::DrmSyncobjState::new::( - &data.display_handle, - device_fd.clone(), - )); + if drm.is_atomic() { + data.drm_syncobj_state = + Some(smithay::wayland::drm_syncobj::DrmSyncobjState::new::( + &data.display_handle, + device_fd.clone(), + )); + } else { + tracing::info!( + "Legacy DRM active: disabling linux-drm-syncobj-v1 advertisement and falling back to implicit synchronization" + ); + data.drm_syncobj_state = None; + } // 5. Set up libinput let libinput_session = LibinputSessionInterface::from(session.clone());