Most very recent laptops no longer support S3 sleep which used to be the default for a long time. On my old laptop it allowed me to just close the lid in the evening and open it again in the morning, and it would only loose a negligible amount of charge during that time.

My new laptop (Dell Inspiron 14 Plus, Alder Lake) uses s2idle by default on Linux (Fedora in my case), which depletes the battery very quickly. I tend to shut down my computer every evening now, but even when I just put my laptop in my bag for 2 hours it will have lost 10-15% when I get it out. It’s not terrible and I have gotten used to using my laptop like that but there’s got to be a better way right?

I know hibernation / suspend-to-disk is an option in theory, but I use secure boot (and also disk encryption), and that makes it a lot more complicated, involving compiling your own patched kernel, so no thanks.

The way sleep on modern laptops is supposed to work is apparently called S0iX but it is not used by default and I don’t know if or how I could make use of it on my laptop, and a guide that is linked everywhere on 01.org now just redirects to some generic intel site.

If you have a recent laptop without S3 sleep support, how are you dealing with this? Do you just live with the poor battery life, or is there some secret to getting more power saving sleep on modern machines?

Edit for mare clarification:

  • The laptop does enter s2idle correctly, it just doesn’t get down to a very low power state at all and consumes ~5% an hour
  • cat /sys/power/mem_sleep only returns [s2idle], no deep sleep is supported. echo deep | sudo tee /sys/power/mem_sleep doesn’t work (tee: /sys/power/mem_sleep: Invalid argument)
  • There’s no option in the BIOS to enable other sleep modes
  • I’ve even tried patching the ACPI table myself to enable S3 sleep and it didn’t work. I have no idea if I did it correctly although according to dmesg it did seem to load my patch

Thank you all for your input but it looks like on this Dell laptop I’m stuck with horrible s2idle sleep :/

  • sun_is_ra@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    19
    ·
    1 year ago

    My new Asus laptop didnt support S3 sleep.

    Turns out it does indeed support it but the BIOS claims it isnt.

    I found a patch for Linux ACPI that would make it enable S3 anyway and lived happily ever after

      • Player2@sopuli.xyz
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        It’s just infuriating when I close the lid, immediately remember that I needed to quickly look at whatever else on screen, and open it back up to a boot screen that takes 15-20 seconds to go away. First world problems maybe but my Android tablet can be locked without overheating in my bag and without losing all of its battery overnight, in addition to opening instantly.

  • Rando@artemis.camp
    link
    fedilink
    arrow-up
    11
    ·
    1 year ago

    I have this same issue on my 11th Gen Intel Framework and I never found a solution after a lot of research. I’m upgrading from Intel to an AMD board so I hope it will make a difference.

    My Steam Deck (AMD) gets amazing sleep performance and barely loses any charge so I hope I can match that with my new AMD board when I get it

    • espi@mas.to
      link
      fedilink
      arrow-up
      1
      arrow-down
      1
      ·
      edit-2
      1 year ago

      @Rando @Sh1nyM3t4l4ss AMD generally has worse firmware than Intel.

      Your laptop should support S3 sleep though. It might be labeled in the BIOS as “Linux” sleep.

      If you use a modern kernel s0ix (called s2idle in Linux) will work fine as well.

      [edit] I’m sorry I though you had a Thinkpad, wrote the comment on Mastodon app on phone and couldn’t see the message I was replying to haha.

    • russjr08@outpost.zeuslink.net
      link
      fedilink
      English
      arrow-up
      6
      ·
      1 year ago

      That’s actually exactly what I do with my old Macbook Pro - its the only laptop I have, but I think there must be an issue with the battery since if I let it suspend for a bit, when I come back to it I have to hard reset it in order for it to come back on…

      I normally run Fedora 38 on it, but I still keep macOS on it for firmware updates (well, that was the original intent, I don’t think Apple will be updating mine for much longer if they still even are), but it occurs there too.

  • jbk@discuss.tchncs.de
    link
    fedilink
    arrow-up
    7
    ·
    edit-2
    1 year ago

    I have a Framework Laptop 13 (i5-1240P) and run Fedora Workstation. It uses s2idle (another name for s0ix, afaik) by default and the battery depletion is OK imo.

    If it’s low on battery and I can’t charge it instantly though, I tend to make the next sleep state use ACPI sleep state S3 by running echo deep | sudo tee /sys/power/mem_sleep. You can check if that’s available on your platform (and the current mode) by running cat /sys/power/mem_sleep afaik.

  • yum13241@lemm.ee
    link
    fedilink
    arrow-up
    7
    ·
    edit-2
    1 year ago

    Why did they have to remove S3 sleep anyway? At least it worked. What was wrong with S3 sleep? Hardware support? At least it didn’t set your backpack on fire. LTT made a video about your very problem. I would honestly just use shutdown.

    #BringBackS3Sleep

    Mine supports s2idle [deep], and it’s 6 years old.

    On Windows, make sure to unplug the charger before closing the lid, otherwise it’ll try to run Windows updates because it thinks it on AC power.

    • rotopenguin@infosec.pub
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      1
      ·
      1 year ago

      They removed S3 because Win 10 stopped using it. No OEM has ever read a spec such as ACPI. They only record the exact interaction with Windows, and make sure that the hardware works with that and to hell with anything else.

      • yum13241@lemm.ee
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        No OEM has ever read the ACPI spec? Then how does my power button work on Linux? Without ACPI, we would still have “It is now safe to turn off your computer.” screens, ala Windows 95. (You can still enable that screen, lol)

        I just wonder why M$ reinvented the wheel here. They could already force upgrades anyway, by just rebooting the laptop without the owner’s permission like they already did. Fuck Modern Standby, and whoever even thought it was a good idea.

  • I know hibernation / suspend-to-disk is an option in theory, but I use secure boot (and also disk encryption), and that makes it a lot more complicated, involving compiling your own patched kernel, so no thanks.

    Sucks to hear that. I hoped that mjg59’s/Google’s Chromebook hibernation code would’ve made it into the kernel by now. Disk encryption shouldn’t pose too much of a problem, though, as long as you put the swap partition in the same encrypted container (i.e. swap+root fs inside LVM inside LUKS).

    My experience with any method of sleeping is that it’s extremely dependent on specific hardware and drivers. My laptop loses a few percent of battery per day, my Steam Deck even less. However, if I leave my Nvidia GPU in use while suspending, the drain massively increases because of what I presume are Nvidia driver issues. Forcing components into a low power state (yay for powertop) may help, but that may as well be placebo. I personally don’t really notice the drain or care all that much.

    I have explicitly enabled S3 sleep rather than S0iX because S0iX tends to turn on the computer in my backpack. It could just be a Windows thing, but although S0iX provides a better experience, I’ll take the small percentage of battery drain over taking a piping hot, drained laptop out of my backpack every time.

    If you’re experiencing power drain, double check if your system is actually using your preferred sleep method. It should use the most efficient method supported; my computer reports s2idle [deep] in /sys/power/mem_sleep (support for s2idle and deep sleep) but it’s possible that your computer somehow got misconfigured. The method in square brackets is the default sleep method/the method used next time you suspend your laptop and you may need to alter it (echo deep | sudo tee /sys/power/mem_sleep).

  • dingdongitsabear@lemmy.ml
    link
    fedilink
    arrow-up
    5
    arrow-down
    1
    ·
    edit-2
    1 year ago

    my laptop is comparatively old (t480s, 8th gen) but had the same issues with battery drain on F38. I’ve switched to debian and the situation is way better, overnight drain percentage-wise is in the single digits range. still nowhere close to my old macbook, but workable.

    edit: no it isn’t, tested F38 and D12 on separate partitions, both lose same amount; ~1 %/hr of standby (regardless of deep or s2idle setting), so 7-8% overnight.

    edit 2: looking into making suspend-then-hibernate work, that should fix everything; sleep for 30 mins and hibernate afterwards.

    • owatnext@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      T480s here as well, running Void Linux. I just close the lid and whatever it does barely uses any battery. Something like 2-4% every 24 hours.

        • owatnext@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          I just checked my settings, seems that when I close the lid, it is set to sleep. Running cat /sys/power/mem_sleep returns s2idle [deep], whatever that means. I just leave it at the default settings. Perhaps I am just lucky?

      • dingdongitsabear@lemmy.ml
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        not important for this use case. I’m referring to the fact that I can close it shut and leave it for a week. I open it and it’s ready to go and the battery has barely lost a percentage point. that’s 2010 tech and something completely unattainable to me 13 years later. I’ve moved on from macOS but can’t help being envious.

      • cre0@kbin.social
        link
        fedilink
        arrow-up
        0
        arrow-down
        1
        ·
        1 year ago

        They are on the higher-end of capacity but (especially Apple silicon) are much more power-efficient.

  • rotopenguin@infosec.pub
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    I had to disable Volume Management Device in bios (a relative of Rapid Storage Tech, I think) to get any amount of battery life on an 13th gen Asus Zenbook. Learned it from https://bugzilla.kernel.org/show_bug.cgi?id=211879.

    Look at “cat /sys/kernel/debug/pmc_core/package_cstate_show” (need root to even peek into the debug dir). If you only have C1 and C2 and everything else is zero, then you’re getting no S0ix joy. When things are working correctly, you should get some of the higher states, and a pile of C10 states when you close the laptop.

    • sp00nix@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      My 8th gen XPS used to support S3 and one update they killed it off. It kept finding the damn thing cooking it self in my bag. Had to resort to hibernation.

        • sp00nix@lemmy.ml
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          I don’t think that mattered my case. 90% of my day was running around on battery, which was pretty decent at one point.

          • yum13241@lemm.ee
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            It’s a workaround for a glitch in Winblows which, if you don’t apply, will cause Winblows to try and run its updates.

  • ProtonBadger@kbin.social
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    Alas that would be a luxury for me. I got an Asus Strix Scar 17 2022 with NVidia 3060. I game with it, use Wayland, everything is fine.

    Except suspending/hibernating. When it wakes up the Plasma panel is pink, desktop is missing and the mouse is drawing trails. I have the NVidia suspend/hibernate scripts enabled, have a swap partition bigger than RAM, but everything still looks weird on wakeup. So I shut it down in the evening and boot it fully in the morning, no biggie I guess…

  • NikkiAtNight@artemis.camp
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    For some reason, sleep mode doesn’t even work on my laptop cause it’ll never resume, it seems to treat any call to sleep as a call to shutdown. I’ve always had to just save my work and poweroff if i was going anywhere without a charger. I had a little bit of luck with TLP until I had a microcode update and that somehow broke it even worse.