Hi Ilya, On Wed, 10 Nov 2021 at 21:02, Ilya Trukhanov <lahvuun@xxxxxxxxx> wrote: > > Suspend-to-RAM with elogind under Wayland stopped working in 5.15. > > This occurs with 5.15, 5.15.1 and latest master at > 89d714ab6043bca7356b5c823f5335f5dce1f930. 5.14 and earlier releases work > fine. > > git bisect gives d391c58271072d0b0fad93c82018d495b2633448. > > To reproduce: > - Use elogind and Linux 5.15.1 with CONFIG_SYSFB_SIMPLEFB=n. > - Start a Wayland session. I tested sway and weston, neither worked. > - In a terminal emulator (I used alacritty) execute `loginctl suspend`. > > Normally after the last step the system would suspend, but it no longer > does so after I upgraded to Linux 5.15. After running `loginctl suspend` > in dmesg I get the following: > [ 103.098782] elogind-daemon[2357]: Suspending system... > [ 103.098794] PM: suspend entry (deep) > [ 103.124621] Filesystems sync: 0.025 seconds > > But nothing happens afterwards. > > Suspend works as expected if I do any of the following: > - Revert d391c58271072d0b0fad93c82018d495b2633448. > - Build with CONFIG_SYSFB_SIMPLEFB=y. If this solves the issue, what else is there to discuss? > - Suspend from tty, even if a Wayland session is running in parallel. > - Suspend from under an X11 session. > - Suspend with `echo mem > /sys/power/state`. > > If I attach strace to the elogind-daemon process after running > `loginctl suspend` then the system immediately suspends. However, if > I attach strace *prior* to running `loginctl suspend` then no suspend, > and the process gets stuck on a write syscall to `/sys/power/state`. > > I "traced" a little bit with printk (sorry, I don't know of a better > way) and the call chain is as follows: > state_store -> pm_suspend -> enter_state -> suspend_prepare > -> pm_prepare_console -> vt_move_to_console -> vt_waitactive > -> __vt_event_wait > > __vt_event_wait just waits until wait_event_interruptible completes, but > it never does (not until I attach to elogind-daemon with strace, at > least). I did not follow the chain further. > > - Linux version 5.15.1 (lahvuun@lahvuun) (gcc (Gentoo 11.2.0 p1) 11.2.0, > GNU ld (Gentoo 2.37_p1 p0) 2.37) #51 SMP PREEMPT Tue Nov 9 23:39:25 > EET 2021 > - Gentoo Linux 2.8 > - x86_64 AuthenticAMD > - dmesg: https://pastebin.com/duj33bY8 > - .config: https://pastebin.com/7Hew1g0T