On Thu, Nov 11, 2021 at 12:25:35AM +0100, Ard Biesheuvel wrote:
On Thu, 11 Nov 2021 at 00:22, Ilya Trukhanov lahvuun@gmail.com wrote:
On Wed, Nov 10, 2021 at 11:24:03PM +0100, Ard Biesheuvel wrote:
Hi Ilya,
On Wed, 10 Nov 2021 at 21:02, Ilya Trukhanov lahvuun@gmail.com 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?
Sorry, I'm not a kernel developer, but I was under the impression that this is a regression and should at least be brought to attention.
I also think I'm probably not the last person to encounter this. I'm fortunate because I had the time to bisect and get the idea to try enabling that option, but others may not know how to fix it.
The suspend not working is also not the only effect. After you execute `loginctl suspend`, for example, the compositor just hangs if you try to exit. Should you kill it with SysRq+I, the system suspends but after resume doesn't respond to anything and has to be hard reset. I think this is a pretty serious issue, even if it won't affect most users.
Sorry if I wasn't meant to CC you. The issue reporting guide says that you should CC maintainers of affected subsystems.
No worries. You cc'ed the right people, and we appreciate the time you have spent to track down the root cause.
So can you explain why the solution to this issue is not simply 'enable CONFIG_SYSFB_SIMPLEFB' ?
I'm not sure I understand what you're asking.
I can definitely enable CONFIG_SYSFB_SIMPLEFB and it would be *a* solution, but only for me. In the future other people with setups similar to mine will update to 5.15 or later and also face this issue. They will then have to do everything I did (or at least search through the mailing list) to get suspend working again. Is this desirable?
Besides, this option existed before (albeit under a different name), and there was no need to enable it for suspend to work properly. The change in question did not indicate that this option must now be enabled, it wasn't even made `default y`. And even if it were, some people might still have legitimate reasons to ignore the default and disable it, and then have their suspend not work.