Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: [email protected]
Control: affects -1 + src:gnome-shell
User: [email protected]
Usertags: pu

[ Reason ]
Fix blank screen after GNOME login on some AMD GPUs

[ Impact ]
Some users reported a black screen after logging in to GNOME from GDM
(#1125275, #1125941, #1126174) or a brief flash of a black screen 
followed by normal operation (#1125273) after the Debian 13.3 update, 
especially if using an AMD GPU and/or an external display. This seems to 
have been caused by an upstream change that was only intended for 50.x 
but was mistakenly cherry-picked to 49.x and 48.x, and is resolved in 
this version by reverting that change.

(Not all configurations with an AMD GPU and an external display had this 
problem - I have a system with that setup and it was unaffected.)

[ Tests ]
A functionally equivalent version (differing only in the changelog and 
patch header) is available from 
<https://people.debian.org/~smcv/temp/2026/bug1125941/revert/>, and the 
reporters of #1125275, #1125941 and #1125273 confirmed that it solves 
the problem. I've also been using this version on one of my trixie 
systems for a while with no problems (although note that I wasn't 
affected by the regression).

[ Risks ]
This is a narrowly targeted change that has been through upstream review.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable (since 49.3-1)

[ Changes ]
All changes are part of the regression fix.
diffstat for gnome-shell-48.7 gnome-shell-48.7

 debian/changelog                                                      |   17 ++++
 debian/patches/Revert-main-Register-session-with-GDM-on-startup.patch |   41 ++++++++++
 debian/patches/series                                                 |    1 
 js/ui/main.js                                                         |    4 
 4 files changed, 61 insertions(+), 2 deletions(-)

diff -Nru gnome-shell-48.7/debian/changelog gnome-shell-48.7/debian/changelog
--- gnome-shell-48.7/debian/changelog	2025-12-09 11:38:09.000000000 +0000
+++ gnome-shell-48.7/debian/changelog	2026-02-07 11:16:25.000000000 +0000
@@ -1,3 +1,20 @@
+gnome-shell (48.7-0+deb13u2) trixie; urgency=medium
+
+  * Team upload
+  * d/p/Revert-main-Register-session-with-GDM-on-startup.patch:
+    Revert an upstream change that was not intended to be backported
+    to 48.x. A corresponding revert has been queued for inclusion in
+    48.8 upstream.
+    The change was developed for v50, under the assumption that gdm3
+    changes from v50 would be present, but then mistakenly backported
+    to 48.x and included in the 48.7 release.
+    The resulting change to timings/sequencing triggered regressions in
+    modesetting during first login on some systems, which can result in
+    the Shell UI never appearing.
+    (Closes: #1125941, #1125273, #1125275, #1126174)
+
+ -- Simon McVittie <[email protected]>  Sat, 07 Feb 2026 11:16:25 +0000
+
 gnome-shell (48.7-0+deb13u1) trixie; urgency=medium
 
   * Team upload
diff -Nru gnome-shell-48.7/debian/patches/Revert-main-Register-session-with-GDM-on-startup.patch gnome-shell-48.7/debian/patches/Revert-main-Register-session-with-GDM-on-startup.patch
--- gnome-shell-48.7/debian/patches/Revert-main-Register-session-with-GDM-on-startup.patch	1970-01-01 01:00:00.000000000 +0100
+++ gnome-shell-48.7/debian/patches/Revert-main-Register-session-with-GDM-on-startup.patch	2026-02-07 11:16:25.000000000 +0000
@@ -0,0 +1,41 @@
+From: Joan Torres Lopez <[email protected]>
+Date: Tue, 27 Jan 2026 13:35:34 +0100
+Subject: Revert "main: Register session with GDM on startup"
+
+This depends on GDM changes that are not in this release.
+
+This reverts commit 6703cacb559c74341ca88f2094d28973f323cde6.
+
+Origin: upstream, 48.8, commit:58e76dc260bfe8d4e6d315e19144bf01904b2d67
+Bug: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8983
+Bug: https://gitlab.gnome.org/GNOME/mutter/-/issues/4572
+Bug-Debian: https://bugs.debian.org/1125273
+Bug-Debian: https://bugs.debian.org/1125275
+Bug-Debian: https://bugs.debian.org/1125941
+Bug-Debian: https://bugs.debian.org/1126174
+---
+ js/ui/main.js | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/js/ui/main.js b/js/ui/main.js
+index 0b8cbb8..b07acd5 100644
+--- a/js/ui/main.js
++++ b/js/ui/main.js
+@@ -329,8 +329,6 @@ async function _initializeUI() {
+     extensionManager = new ExtensionSystem.ExtensionManager();
+     extensionManager.init();
+ 
+-    LoginManager.registerSessionWithGDM();
+-
+     if (sessionMode.isGreeter && screenShield) {
+         layoutManager.connect('startup-prepared', () => {
+             screenShield.showDialog();
+@@ -377,6 +375,8 @@ async function _initializeUI() {
+             sessionMode.currentMode !== 'initial-setup')
+             _handleLockScreenWarning();
+ 
++        LoginManager.registerSessionWithGDM();
++
+         if (perfModule) {
+             let perfOutput = GLib.getenv('SHELL_PERF_OUTPUT');
+             Scripting.runPerfScript(perfModule, perfOutput);
diff -Nru gnome-shell-48.7/debian/patches/series gnome-shell-48.7/debian/patches/series
--- gnome-shell-48.7/debian/patches/series	2025-12-09 11:38:09.000000000 +0000
+++ gnome-shell-48.7/debian/patches/series	2026-02-07 11:16:25.000000000 +0000
@@ -3,3 +3,4 @@
 debian/Revert-tests-Fail-on-warnings-too.patch
 shell-app-Warn-instead-of-crashing-if-disposed-before-sta.patch
 debian/data-Add-im-config.desktop-to-System-folder.patch
+Revert-main-Register-session-with-GDM-on-startup.patch
diff -Nru gnome-shell-48.7/js/ui/main.js gnome-shell-48.7/js/ui/main.js
--- gnome-shell-48.7/js/ui/main.js	2025-11-24 14:16:08.000000000 +0000
+++ gnome-shell-48.7/js/ui/main.js	2026-02-07 13:17:03.000000000 +0000
@@ -329,8 +329,6 @@
     extensionManager = new ExtensionSystem.ExtensionManager();
     extensionManager.init();
 
-    LoginManager.registerSessionWithGDM();
-
     if (sessionMode.isGreeter && screenShield) {
         layoutManager.connect('startup-prepared', () => {
             screenShield.showDialog();
@@ -377,6 +375,8 @@
             sessionMode.currentMode !== 'initial-setup')
             _handleLockScreenWarning();
 
+        LoginManager.registerSessionWithGDM();
+
         if (perfModule) {
             let perfOutput = GLib.getenv('SHELL_PERF_OUTPUT');
             Scripting.runPerfScript(perfModule, perfOutput);

Reply via email to