In this article, I aim to take a different approach. We will begin by defining a laptop according to my understanding. The I will share my personal history and journey to this point, as well as my current situation with my home and work laptops. Using this perspective, we will explore the current dysfunctionality of the standby function in modern laptops, followed by a discussion of why this feature still has relevance and right to exist. Finally, we will draw conclusions on what we can learn and take away from this.

  • @[email protected]
    link
    fedilink
    22
    edit-2
    7 months ago

    I have an older XPS where where the CPU still supports deep sleep (S3).

    Most distros have it disabled by default now because neither AMD not Intel seem to officially support it in new CPUs (so windows will have the same problem)

    To check if your cpu supports it, you can run: journalctl | grep S1

    You should see a message that says something like CPU supports S1 S2 S3 etc. if S3 is there then deep sleep is supported and can be enabled.

    Ubuntu instructions: https://askubuntu.com/questions/1029474/ubuntu-18-04-dell-xps13-9370-no-longer-suspends-on-lid-close/1036122#1036122

    Fedora desktop or atomic instructions: https://discussion.fedoraproject.org/t/laptop-appears-to-sleep-but-not-suspend/77193/4

    Note, this is purely the fault of CPU manufacturers for being so shitty about proper sleep and yet another point that has to be conceeded to apple. Imagine explaining to a normal person that your XPS is really good and way cheaper than a Mac…but the batter will die overnight when you need it in the morning. Literally just shooting themselves in the foot.

    Hibernate works as well but takes a bit longer. Hibernate also crashes in many modern systems but again works great in my older XPS. You have to manually activate this as well and it’s really not to bad with a good ssd.

    That being said his should all be very basic functionality so why do I have to do this manually. This shit is why people buy Macs.

    There’s also room for distros to improve here. The installer can probe the CPU and see if S3 is supported, if so it can use deep sleep automatically. Why do I have to mess with Kernal arguments?

    Similar for hibernate, why doesn’t the installer just have a check box that sets up the hibernate file/partition?

  • ThyTTY
    link
    127 months ago

    Where can I find beforehand which laptop supports S3? Are there any know brands that do?

    • @[email protected]
      link
      fedilink
      7
      edit-2
      7 months ago

      Nothing with a recent AMD gfx Card or APU will officially support S3, and I think Nvidia is the same. Just because it isn’t supported doesn’t mean they’ll intentionally break anything, but over time you’ll have more and more bugs related to it and one day it will break and never be fixed.

      Personally I use S4 (hibernate) more or less exclusively.

  • @[email protected]
    link
    fedilink
    87 months ago

    Unpopular opinion: the only vendor that does sleep right is Apple. The only reason they can is the tight vertical integration of the platform where they control all the hardware, all the drivers, and can exercise control over all the applications in the App Store.

    More open platforms are essentially fucked.

    • @[email protected]
      link
      fedilink
      English
      33
      edit-2
      7 months ago

      It’s not an unpopular opinion that Apple is the only one that does sleep right. It is an unpopular opinion that this is only possible because they have a complete walled garden and that open platforms are fucked, especially considering it is easy and common to install applications from outside the App Store on macOS. We used to have sleep figured out, that’s what S3 was. But then hardware vendors dropped it. So yes, drivers and hardware vendors are part of the problem. The Steam Deck is an example of an open platform where sleep works fine.

      • @[email protected]
        link
        fedilink
        13
        edit-2
        7 months ago

        100% this. Sleep on Linux is perfect in my older XPS (after I manually enable it). Lots of reports of it not working on newer laptops.

        While I agree it doesn’t have to be a walled garden, you do have to admit that apple wouldn’t ship a laptop that couldn’t sleep properly. They are so much better at real world design than other manufacturers who were happy to abandon s3 in favour of making laptops into phones as if anyone actually wanted that.

      • @[email protected]
        link
        fedilink
        17 months ago

        I mean, that’s fair. It’s certainly not a technical impossibility to get it right and keep getting it right.

  • @I_Miss_Daniel
    link
    English
    87 months ago

    S3 (hibernate) is conspicuously absent in many distros.

  • @[email protected]
    link
    fedilink
    47 months ago

    Yo, setup hibernation and use hybrid sleep as your default sleep.

    ln -s /etc/systemd/system/suspend.target ../../../usr/lib/systemd/system/suspend-then-hibernate.target

    Now any sleep is hybrid. The machine suspends, then wakes up after a timeout, and enters hibernation. The timeout is configurable in systemd-sleep.conf(5).

    With this combo I find that I prefer S0 to S3. S0 drains the battery about twice as fast, sure, but it resumes instantaneously, while S3 takes about 30 seconds (!) to resume on this machine. And the thing hibernates and powers off if I leave it for an hour anyway.

    • a lil bee 🐝
      link
      367 months ago

      To be fair to you, I thought they were talking about AWS S3 at first and was very confused until I read the article.

    • @thedeadwalking4242
      link
      7
      edit-2
      7 months ago

      Edit! I’m wrong! Read below comment

      A hibernation state where your laptop completely powers off saving current ram to disk to resume from when the system is powered back on. The article is a pretty interesting read!

      • @[email protected]
        link
        fedilink
        13
        edit-2
        7 months ago

        S3 is what people actually think of when they think of sleep mode, or modern standby. The running state of the operating system is stored in RAM, in low power mode. All context for the cpu, other hardware like disks and network is lost and those devices are completely shut down - bar the RAM. Basically, you close the lid at the end of the day, and you’re nearly at the same charge level the next morning.

        This saves a lot of power. On my older 8th gen intel cpu laptop, it loses maybe 1-2% charge per day in this mode.

        My new 13th gen laptop still has deep sleep, or standby (s3) as a hardware function, but it’s technically not supported. It actually doesn’t work when enabled, and just falls back to s1 (sleep, everything’s still on, just in low power mode). It loses about 2-3% per hour in this mode

        S4 (Hibernate) does roughly the same as S3, but the OS state is stored to the disk instead of ram, so that can be shut off too. Now the device is completely powered off, losing no charge while ‘asleep’.

        S5 is off

        S4 sleep takes much longer to wake up from than s3, so was less desirable. In the modern computing world (especially end user devices), commonly there’s full disk encryption going on, which adds a layer of complexity to resuming from disk, as you would when waking up from hibernation (s4).

        Making it resume without putting in a decryption password for example (using a TPM), isn’t simple, and breaks a lot when you do system upgades

      • @takeheart
        link
        47 months ago

        Is that what the Steam Deck uses? It’s pretty useful.

        • @[email protected]
          link
          fedilink
          English
          37 months ago

          I wonder. The Steam Deck holds charge very well, but then another comment here says “Nothing with with a recent AMD gfx Card or APU will officially support S3”. Perhaps the Steam Deck uses hibernate? It launches pretty fast, but then maybe storing memory to the built-in SSD is fast enough. Or perhaps even if not officially supported the S3 in the Steam Deck’s APU still works well enough. Or perhaps the APU is older than I think it is.

      • kbin_space_program
        link
        fedilink
        2
        edit-2
        7 months ago

        In windows 10 you can reenable it, but you have dig a bit in the power management control panel to do so.

        Its unfortunate that this thinking has bled over to Linux.

    • @db2
      link
      27 months ago

      A standby low power mode in the processor.

  • eshep
    link
    fedilink
    37 months ago

    @JRepin Am I the only idiot who uses systemctl hibernate with a proper swap partition? Works perfect every time I’ve set it up.