Laptop having issues with sleep/suspend since recent Kernel updates

I’m using a Lenovo ideapad 5 14ARE05 based on an AMD R5 4600U (Renoir).
The Laptop is one of those which don’t properly support S3 for sleep but rather the non-sensical “modern standby” and don’t have a BIOS-switch for it. Luckily, I could get it to suspend properly by using this recipe from the arch wiki.
Unfortunately they now mention that this stopped working with 5.11.10 (imo it might have happened earlier).
My experience with 5.11 series so far:
With 5.11.2, the laptop would enter suspend/sleep, but not wake up properly, all I would get was a corrupted screen and eventually the laptop would hang.
With 5.11.6 everything worked again, interestingly
With 5.11.10 it was back to 5.11.2 behavior, so I downgraded to 5.11.6.
Now with 5.11.14, the laptop refuses to properly go to sleep at all (which could be seen by a slowly pulsing power LED). The screen does turn of, but not much more apparently?
When waking from sleep, I briefly get the corrupted screen again, then it recovers and I can lock back in (so there’s at least one improvement). Apparently only once, though - subsequent tries would make it lock up with a black screen.

Interestingly the latest 5.10 Kernels have the same issue (previously 5.10 seemed unaffected).

The straightforward solution for now is to downgrade again, but that’s not very satisfying and certainly not future-proof.

I would like to understand what’s going on there, is it potentially connected to efforts to support modern standby on Linux? Latest Kernel patches mention S0iX.

Edit:
After some more research, it might be two issues behind it - one with amdgpu causing the lock-up and one with recent kernels not properly supporting S3 (or having changed something about it), which caused the initial fix to stop working. It also affects 5.10.28 and onward.
See this topic on the Arch Forums.
It seems that 5.11.6 works because it still properly supports S3, but also has a patch against the amdgpu issue that was later reverted for some reason and has not yet reappeared in 5.11.

2 Likes

I have the same problem. For the moment I downgraded to 5.9.16. Kernel

I dont think there is really a good user fix and that waiting a new kernel seems to be sadly the easiest solution.

Some update:
5.10.32 seems to work correctly again
5.11.16 still hangs on wake from suspend
5.12.0 the same - wake from suspend not working

And here we go again:
5.10.41 - still working
5.11.x above .16 not tested - I could not go back to 5.11.6 after updating, which is the last one of the 5.11 series that works for me
5.12.8 still NOT working - just a black screen after wake from suspend :frowning:

Really getting annoyed by this stupid issue by now - obviously there IS a fix, otherwise 5.10 would not work again, but it’s not getting introduced into 5.12? Why?

Some more testing:

I removed the S3 sleep patch, since apparently 5.12+ made some attempts to support “modern standby”.
The result is that now sometimes it will wake from suspend (though not always) - but unfortunately battery drain in “standby” is huge. Over night I lost 30% battery.
I also tested 5.13rc5, but that seems to behave much the same as 5.12 - at best it recovers a bit better after suspend.

So this morning I re-applied the S3-patch again and checked how that behaves with 5.13. Unfortunately it’s the same issue here. Black screen, no way to recover the laptop save by hard shutdown.

So I’m still stuck with 5.11.6 (5.11 being EOL now anyway) or 5.10 series - but since 5.12+ is supposed to bring various improvements to modern AMD machines, I would prefer to have some upgrade path here.

Both 5.12.14 and 5.13.0 are still broken in latest testing update.

After resume from suspend, if I’m lucky I sometimes can switch to a tty, where dmesg shows a number of amdgpu related errors.
I’m starting to lose faith here - it works (again) in 5.10, so there has to be a fix, why is it not ported to 5.12 and 5.13?

I’m assuming these bug reports fit your problem:

The first one has a lot of comments; comments in both reports mention Lenovo 14ARE05 and in both there is talk about a boot kernel parameter acpi.ec_no_wakeup=1 which seems to improve the situation for some machines. You might try that one.
A final solution hasn’t been found yet.

2 Likes

Thanks, I’ve been following some of them, but have since lost track a bit.

Nevertheless, standby and resume worked fine (and still does either on 5.11.6 or again after 5.10.30) after applying an acpi patch (to allow proper S3 sleep rather than the idiotic modern standby).
It’s only semi-recently that this issues cropped up for me…

Edit:
What I have managed to do now (probably thanks to acpi.ec_no_wakeup=1 option)is to make the laptop wake somewhat reliably with 5.13 and 5.12 if I switch off the S3 patch - but that means no proper standby (battery drain remains high), so it’s kinda useless…

Some news, finally.

One of the recent updates (testing channel), most likely the one to 5.13 kernel, seems to have finally unbroken it (mostly).
Right now on 5.13.4 the laptop is entering sleep again (as also seen by the slowly pulsing status LED and low battery drain), this time even without the ACPI S3 patch - and it is able to resume from standby most of the time, as well.
I still had it lock up once or twice on resume, but it’s a huge improvement.

Let’s keep fingers crossed they don’t break it again!