Fedora 37 won't wake from suspend related to power-profiles-daemon

I have seen some discussions surrounding the topic of suspend causing a computer to become unresponsive and require a hard reboot, with some mention of the power-profiles-daemon being related to it. I just wanted to share my experience with this and the solution that seems to be working for now.

When my laptop would go into suspend, whether by idling or closing the lid, it would not wake back up without a hard reboot. This seems to be happening across distros, and I found this related post discussing the issue.

Following that, when I went to look at powerprofilesctl, this was the result.

powerprofilesctl list
* balanced:
    Driver:     placeholder

  power-saver:
    Driver:     placeholder

I realized that my computer did not adequately support the power-profiles-daemon, so I began the processing of removing and/or disabling it. It is recommended to mask the service with this command:

systemctl mask power-profiles-daemon.service

And for good measure, I installed tlp, another power management package

sudo dnf install tlp

And then enable the service

systemctl enable tlp.service

And now everything seems to be working fine. When I close my lid, it suspends and wakes back up when I re-open the lid.

Once everything seemed to be working fine, I went ahead and installed tlp-rdw, removed power-profiles-daemon, and masked the rfkill service and socket as described in the TLP docs linked above

dnf install tlp-rdw

dnf remove power-profiles-daemon

systemctl mask systemd-rfkill.service systemd-rfkill.socket

Just thought I would share, as I have only found this information in the middle of other forum posts and across distros.

For those curious, I am running Fedora 37 on a mid 2012 Macbook Pro (A1278) with this cpu:

cpu:                                                            
                       Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz, 2418 MHz
                       Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz, 2475 MHz
                       Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz, 2463 MHz
                       Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz, 2493 MHz

7 Likes

Welcome to the Fedoraproject @wmp-e

Nice your feedback especially, the fact that you tested/experienced this behavior in other Linux distributions too.

I experienced the freeze in a F38 VM because it is on by default. My hardware is almost as old as yours if this has a influence because of the VM I use.

Running the suspend option on F37 Host not makes any troubles. At least not till kernel 6.1.
For kernel 6.2 I not have enough time running the computer to make a statement.

2 Likes

Thank you!

I want to post an update and some more links. After the beginning this thread, I left my laptop lid shut for hours not plugged in to external power, and I encountered the issue with not being able to wake up from suspend, and had to reboot.

After that, I left my laptop lid closed for hours plugged in to external power, and the computer operates normally. The computer wakes up everytime when opening the lid. I will test it unplugged later.

This appears to possibly be an issue for old Intel hardware. Here are some related links from the PPD repo:

1 Like

Just a little update: Although the power-profiles-daemon issue above did resolve most of my issues, I am still encountering issues with wake up after I close my the lid of my computer while not plugged in to external power. I have encountered some interesting behavior with systemd/systemctl, which may ultimately be the culprit.

If I use the systemctl command in the terminal to suspend

systemctl suspend

I am unable to wake the computer back, and have to hard reboot. However, if I write to the /sys/power/state directly with this command:

sudo bash -c 'echo freeze > /sys/power/state'

Then I am able to suspend and wake up successfully. Apparently this is using the kernel more directly and this is what systemctl suspend is doing under the hood.

I am mostly writing this update in hopes that a more knowledgeable person comes along and steers us in the right direction. Right now, I see nothing relevant in the journals and in this reddit post OP describes the same behavior regarding the journals.

I am not sure how to debug/and troubleshoot this exactly. It seems like once systemd suspends, then systemd is disabled or something.

This might be an issue to bring up with the systemd maintainers, but I would want to confirm that before going into that hornet’s nest. With over 1,500 open issues on their repo, I don’t think this will get through the noise. One week into Linux, and I might have to fork the repo and start debugging! :sweat_smile:

1 Like

Hey!

I had very similar issues on my 2015 MacBook Pro running Fedora 38.

I’ve recently made a clean install of Fedora 39. I was just about to apply workarounds from this thread, but to my surprise the issues with suspend/closing lid were no longer there!

Looks like sleep on MacBooks works out of the box with newer Fedora installations!