GNOME + wayland doesn't suspend. GNOME + Xorg suspends, but restarts session

Hi, I’ve recently installled gentoo on my laptop - everything works fine except suspension, which doesnt work from within the desktop environment. I’ve installed GNOME 44, which is using wayland (by default). That is what is happening when I press suspend in the UI or run command sudo loginctl suspend:

  1. The screen goes black, but the device continues to work;
  2. When I press any key, the login screen emerges with an input field for typing password (the same screen that would appear if I would lock the device, but not terminate session - I mean - it is not a gdm greeting screen). When I type password correctly, the password disappears, but nothing happens (I am still at the login screen). When I type password incorrectly, the message saying that “your password is incorrect” appears, and, again, nothing happens;
  3. When I press Ctrl+Alt+F2, the login screen stops responding and even mouse cursor freezes for about 20-30 seconds, then it becomes responsive again.

Essentially, if I suspend from within GNOME, I will be logged out and won’t be able to log back in until I reboot the PC.

However, as I figured out, there is a workaround:

  1. To suspend successfully, I can switch to terminal using Ctrl+Alt+F2, then log in and type sudo loginctl suspend, and the system suspends successfully;
  2. To wake the device up I press any key, then switch back using Ctrl+Alt+F1, and run command sudo rc-service desktop-manager restart, after a few seconds UI with login appears (gdm greeting screen).

Another workaround is to use Xorg instead of wayland (by selecting the respective option on gdm greeting screen) - in this case the system suspends (though longer than usual - much longer than if I would suspend using loginctl command in linux terminal), but the session is terminated (and all open apps, off course). So it’s also not a satisfactory solution.

Apparently, the problem is in the desktop environment, but I can’t figure out what is causing the issue in particular. Please help me figure out what is the problem. My configuration:

Gnome: GNOME Shell 44.3
Kernel: Linux 6.1.57-gentoo-x86_64
VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Mullins [Radeon R4/R5 Graphics] (rev 05)
GDBus: dev-util/gdbus-codegen-2.76.4::gentoo

I’ve tried running gnome-shell with verbose logs like this:

export G_MESSAGES_DEBUG=all
dbus-run-session -- gnome-shell --nested --wayland 2>&1 | tee log.txt

In both modifications - with wayland and with Xorg. The generated logs are here. I’ve marked the point which corresponds to pressing suspend button with # PRESSED SUSPEND BUTTON.

There is a part of syslog (in the same gist), which corresponds to running GNOME with wayland and says that Gdm: Unable to activate session: Timeout was reached. According to timestamps this message is quite close to message from gnome-shell that Using cross-namespace EXTERNAL authentication (this will deadlock if server is GDBus < 2.73.3) - that’s why I checked the GDBus version, which, as far as I can see, satisfies the condition.

Tried to disable gnome-extensions, update software - doesn’t help. Tried to enable debug system logs, but there isn’t any useful information, just some data about kernel irrelevant to suspending the device.

1 Like

This topic was automatically closed 45 days after the last reply. New replies are no longer allowed.