From 3935de018e1204011339de07a047ff6a41ba5663 Mon Sep 17 00:00:00 2001 From: Victoria Brekenfeld Date: Fri, 5 Sep 2025 14:46:30 +0200 Subject: [PATCH] kms: evdi cursor work around --- src/backend/kms/mod.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/backend/kms/mod.rs b/src/backend/kms/mod.rs index c8bf62ab..0f451fb5 100644 --- a/src/backend/kms/mod.rs +++ b/src/backend/kms/mod.rs @@ -834,7 +834,7 @@ impl<'a> KmsGuard<'a> { let driver = drm.device().get_driver().ok(); // QUIRK: Using an overlay plane on a nvidia card breaks the display controller (wtf...) - if driver.is_some_and(|driver| { + if driver.as_ref().is_some_and(|driver| { driver .name() .to_string_lossy() @@ -843,6 +843,17 @@ impl<'a> KmsGuard<'a> { }) { planes.overlay = vec![]; } + // QUIRK: Cursor planes on evdi sometimes don't disappear correctly. + // TODO: Debug and figure out, as they can be a nice improvement. + if driver.as_ref().is_some_and(|driver| { + driver + .name() + .to_string_lossy() + .to_lowercase() + .contains("evdi") + }) { + planes.cursor = vec![]; + } let mut renderer = self .api