I did a clean install of Fedora 37 and now my laptop doesn’t suspend when the lid is closed.
I didn’t have this problem with Fedora 36, and I have had 3 different kernels as far as I remember in f37 from the moment I installed it, so it may not be a kernel issue.
I confirmed that the Lid (open/close) notification is triggered in journalctl.
In Gnome Tweak, the option Suspend when laptop lid is closed is ON.
I’m using Kernel 6.0.9-300
My laptop is Lenovo, Thinkpad
Any light to resolve this issue will be appreciated.
Are there any other items logged in the journal right after the lid closed / lid open ones - perhaps anything from gnome-shell, anything mentioning keys/keybinding? If it worked in F36 and not in F37, and the kernels have changed without effect, I’m wondering if it’s something related to GNOME 43 (as that would be at least one variable that’s changed?)
I tried a few times and the output from
journalctl is always:
Can you check the output of
hostnamectl and make sure it thinks it is a laptop.
After more troubleshooting, I noticed that there are 2 scenarios when suspend doesn’t work:
- When power is on
- When the HDMI cable is connected (even if the monitor is off)
So, when I turn off the charger and remove the HDMI cable, it works.
Have you checked /etc/systemd/logind.conf to see if modifying either of the below helps?
Did these options change the default value in the last couple of days? Now I have kind of the opposite problem. I turn on the laptop with the lid closed, logging screen is shown fine but hdmi output is turn off after login.
I tried changing the parameters in /etc/systemd/logind.conf, but it doesn’t help.
With hdmi attached this should be
suspend instead of
HandleLidSwitchExternalPower= is completely ignored by default (for backwards compatibility) — an explicit value must be set before it will be used to determine behaviour.
HandleLidSwitchDocked= defaults to “
ignore”. If the system is inserted in a docking station, or if more than one display is connected, the action specified by
HandleLidSwitchDocked= occurs; if the system is on external power the action (if any) specified by
HandleLidSwitchExternalPower= occurs; otherwise the
HandleLidSwitch= action occurs.”