From 85a0dfda590c68c02d15787eacef606b6d4dfa32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Fri, 1 Nov 2024 09:55:54 +0100 Subject: [PATCH] Backport fix for flicker-free login Resolves: RHEL-10895 --- ...se-drmModeCloseFB-for-flicker-free-l.patch | 51 +++++++++++++++++++ mutter.spec | 9 +++- 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 0001-backend-native-Use-drmModeCloseFB-for-flicker-free-l.patch diff --git a/0001-backend-native-Use-drmModeCloseFB-for-flicker-free-l.patch b/0001-backend-native-Use-drmModeCloseFB-for-flicker-free-l.patch new file mode 100644 index 0000000..7741a2b --- /dev/null +++ b/0001-backend-native-Use-drmModeCloseFB-for-flicker-free-l.patch @@ -0,0 +1,51 @@ +From d71294da2282fe9a82cc8661d3110c8020a5069a Mon Sep 17 00:00:00 2001 +From: Jocelyn Falempe +Date: Wed, 13 Mar 2024 15:34:14 +0100 +Subject: [PATCH] backend/native: Use drmModeCloseFB for flicker-free login + +When logging in from gdm to gnome, the main plane is deactivated, and +leads to the screen going blank before gnome is able to enable it +again. +Using the new CloseFB ioctl, allows to keep the gdm login screen +displayed until gnome-shell replace it. + +Signed-off-by: Jocelyn Falempe +Part-of: +(cherry picked from commit a775241efd8b840e7789077fb2224f0df2361d54) +--- + meson.build | 3 ++- + src/backends/native/meta-drm-buffer.c | 4 +++- + 2 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index 613aa67792..0c342ed335 100644 +--- a/meson.build ++++ b/meson.build +@@ -45,7 +45,8 @@ wayland_protocols_req = '>= 1.19' + + # native backend version requirements + libinput_req = '>= 1.15.0' +-gbm_req = '>= 17.3' ++gbm_req = '>= 21.3' ++libdrm_req = '>= 2.4.118' + + # screen cast version requirements + libpipewire_req = '>= 0.3.21' +diff --git a/src/backends/native/meta-drm-buffer.c b/src/backends/native/meta-drm-buffer.c +index a0f8055b31..c650484552 100644 +--- a/src/backends/native/meta-drm-buffer.c ++++ b/src/backends/native/meta-drm-buffer.c +@@ -211,7 +211,9 @@ rm_fb_in_impl (MetaKmsImpl *impl, + int ret; + + fd = meta_kms_impl_device_get_fd (impl_device); +- ret = drmModeRmFB (fd, fb_id); ++ ret = drmModeCloseFB (fd, fb_id); ++ if (ret == -EINVAL) ++ ret = drmModeRmFB (fd, fb_id); + if (ret != 0) + g_warning ("drmModeRmFB: %s", g_strerror (-ret)); + +-- +2.44.0.501.g19981daefd.dirty + diff --git a/mutter.spec b/mutter.spec index a25e8a7..0af9ce2 100644 --- a/mutter.spec +++ b/mutter.spec @@ -10,7 +10,7 @@ Name: mutter Version: 40.9 -Release: 22%{?dist} +Release: 23%{?dist} Summary: Window and compositing manager based on Clutter License: GPLv2+ @@ -146,6 +146,9 @@ Patch63: 0003-window-Unregister-cgroup-on-unmanage.patch Patch64: 0004-window-Don-t-use-cgroup-workspace-if-there-already-i.patch Patch65: 0005-cgroup-Get-app-info-from-gnome-shell-when-possible.patch +# RHEL-10895 +Patch66: 0001-backend-native-Use-drmModeCloseFB-for-flicker-free-l.patch + BuildRequires: chrpath BuildRequires: pango-devel BuildRequires: startup-notification-devel @@ -293,6 +296,10 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop %{_datadir}/mutter-%{mutter_api_version}/tests %changelog +* Fri Nov 01 2024 Jonas Ådahl - 40.9-23 +- Backport fix for flicker-free login + Resolves: RHEL-10895 + * Fri Oct 18 2024 Jonas Ådahl - 40.9-22 - Fix crash when moving window while switching workspace Resolves: RHEL-62997