Recently bought a new laptop that comes with an AMD Radeon gpu and installed OpenSuse Tumbleweed on it which I had installed on my previous laptop as well but never had issues with suspending and resuming. However, with the new laptop, I am unable to resume after suspending or closing the lid unless I force it to shut down by holding the power button which is a major inconvenience.
Any suggestions or advice would be greatly appreciated.
Are you using the dedicated GPU as your primary GPU or the integrated GPU? I’ve found using the dGPU as the primary can sometimes lead to suspend/resume issues.
Pretty sure it only has an integrated GPU
I don’t have any advice, but I just wanted to confirm I have the same issue sometimes with my laptop running fedora.
If you use a recent release of Fedora (last 2-3 years). Try disabling WiFi and/or Bluetooth before suspending. There is an issue with some hardware, especially adapters. It doesn’t happen everytime, and it’s hard to accurately reproduce. Also, the symptoms can vary from black screen to sudo being stuck.
Can you check dmesg and/or journald? What model Laptop is it?
I was able to figure out that it does not suspend at all when I close the lid or click the suspend button on Gnome. Only found this out because when going through YaST Services Manager and manually starting systemctl suspend, the laptop suspends just fine and wakes back up. So I’m starting to think it’s more of a systemd issue? Any inputs?
Where do I go to check those? Sorry in advance I’ve never been the most knowledgeable about Linux
Edit: here is the exact laptop https://www.bestbuy.com/site/lenovo-yoga-7-16-wuxga-2-in-1-touch-screen-laptop-amd-ryzen-5-7535u-8gb-memory-512gbssd-arctic-grey/6533956.p?skuId=6533956
sudo dmesg | less
and something withjournalctl
(not sure because I don’t use that currently). There should be some other logs you can check in/var/log
too,kern.log
sounds useful (though that might just come from sysklogd).
I have/had a similar issue, but for an old nvidia laptop. What happens if you get it to suspend and resume again? Mine would come back the second time.
I can’t even get it to resume again which is the problem lol
Yeah, but for mine, i could close the lid and it would suspend again, and then i could resume. Pressing the power button briefly also worked.
had the same issue on nobara and i always thought it was nvidia problems. for me the only solution was to use another distro :( sometimes ctrl + alt + F2 or F1 got me back to the login screen.
It’s a wild guess, but try to disable Bluetooth or WiFi before suspending.
It’s doesn’t happen with all hardware, but it is a knowing issue.
If it is powered on but blank screen, you can try terminating the user session from a terminal
https://linuxiac.com/how-to-terminate-user-session-in-linux/
Unfortunately does not work for me because the screen is black and the laptop is suspended and refuses to wake up
These problems, 9/10 times is solved by using another kernel.
It is happening to me too on my surface tablet. Do you have TLP installed? Just out of curiosity
Yes I do. This is the same exact setup I had on my previous laptop and the previous one worked fine but this one does not. Would you advise I uninstall TLP?
According to this https://github.com/linux-surface/linux-surface/issues/1113 TLP is one of the culprits but I would rather the boot sequence and wake up from suspend process hang than uninstall TLP. Without it, intel boost keeps overheating my tablet and the battery becomes shit.
Just uninstalled it and it did not fix the issue sadly
I know it’s not super helpful, but I’ll add that this happens to me periodically on my EndeavourOS, Intel based desktop as well. Not even all of the time, just sometimes when it suspends. It seemed to get better when I changed my settings to hybrid sleep, but it just happened again yesterday, so I’m back to square one. Bookmarking to check for possible solutions later.
I have the same problem with shutdown occasionally too, using > sudo shutdown now solves the problem.
Happens on my manjaro desktop too. Hope you find a solution.
I have a similar issue but for me the black screen comes at random times when I open, close or move my windows or mouse.
I found a temporary fix for it by checking out the archwiki amdgpu page
But it still occurs , especially when I wake up my computer after suspending it.
If you can’t get the laptop to resume when the OS isn’t even active anymore, either the power management is broken (s0idle issues most likely, possibly after transitioning into another idle state) or the firmware is broken. In some rare cases, the problem is with the ACPI table embedded in the firmware, but you could treat that like a firmware issue because you don’t have any control over it. Either way, your ability to debug this is rather limited, as most hardware is disabled the moment you suspend your laptop.
You should check if there are updates for your laptop’s motherboard firmware. You’ll have the best chance at this using Windows, because many manufacturers don’t release all that many Linux compatible updates. Previously, AMD has had to release firmware updates for some of their CPUs, as well as kernel patches. Also check for firmware updates for other components (SSD/TPM/what have you) because they could all play a role in the suspend process.
I don’t know OpenSuse well, but generally attempts to fix this on the Linux side include trying older kernel versions (as Tumbleweed is a rolling release distro). If an older version does work, you should file a regression report so someone can fix it in the current kernel.
I was able to figure out that it does not suspend at all when I close the lid or click the suspend button on Gnome. Only found this out because when going through YaST Services Manager and manually starting systemctl suspend, the laptop suspends just fine and wakes back up. So I’m starting to think it’s more of a systemd issue? Any inputs?
I doubt it, Gnome just runs the standard dbus suspend call as far as I know (source).
However, there are different ways to suspend the system (configured by echoing a magic word to a file in /sys) so it’s possible the GUI is somehow misconfiguting the system based on what the OS reports to be the preferred suspend method. From browsing the source code, it seems like Gnome will do a Dbus call which systemd receives, and after receiving that it seems to start the suspend service? It’s a bit hard to follow with all the dbus interaction.
This seems to be where sleep is actually requested, This is where the requested command is mapped to a specific action that is then started by the systemd manager, which is defined as a string here.
As far as I can tell, clicking suspend is the same as running
systemctl start suspend.target
. But maybe there’s more going on, perhaps something else is intercepting the dbus call to suspend, preventing systemd from doing its job?
I have seen this on HP laptop with WWAN device installed. Disabled device from Bios and problem went away.