No announcement yet.

Valve Will Not Support System Suspend On SteamOS

  • Filter
  • Time
  • Show
Clear All
new posts

  • #21
    Originally posted by Dukenukemx View Post

    That's not suspend. You're just turning off the screen and the cpu idles. When you suspend a PC you turn off even the CPU except the ram holds memory.
    You are pretty thoroughly confusing things.

    The problem here is that one may look at global state, device state, processor state, and performance state.

    SUSPEND is part of a GLOBAL state. Specifically, G1-S1 is the first mode of "Suspend". Note that G1-S1 "Power on Suspend", permits the CPU to remain in a clocked-on state. G1-S2 requires the CPU to be powered off. "Suspend-to-RAM", which I believe is what you are referring to, is G1-S3.

    Now CPU states, C0: fully online. C1: halt = clocks on, but execution "halted". C2: optional "stop clock". C3: SLEEP.

    While it may be true that some of the EARLIER Android devices did NOT stop their clocks (i.e. HTC Dream MSM7201A), since the first Snapdragon devices (and similar), Android devices typically put the CPU into C3 while idle. If you install a program called "CPU Spy", look at the line called "Deep Sleep". That is corresponding to CPU state C3. All CPU clocks are stopped, and L2 cache clock is stopped.

    So, while your claim that Android doesn't "suspend" is based on the CPU being online, your contention that it doesn't suspend because it doesn't clock off, is false for TWO reasons; first that disabling CPU clocks is a requirement for "suspend", which it clearly is not, and second, that Android devices don't shut off their CPU clocks, is also false.

    Android devices most certainly DO suspend, but they are not always suspended just because the screen is off. All that can wake an Android device from suspend is an interrupt. Interrupt can be in the form of power button, incoming phone call, alarm timer, etc.

    Edit: If you look into Android power management, even very superficially, you will find something referred to as a "wake lock". What a wake lock does, is it prevents the device from suspending! If you look at complaints about low battery life, most of these will tie into something obtaining and failing to release a wake lock, i.e., preventing the device from suspending.

    A wake lock is defined in userspace PowerManager. It was implemented in API level 1, which corresponds to Android 1.0, which shipped on the HTC Dream. Yes, even though it did not shut off its CPU clock, it still SUSPENDED. You can see the different types of wake locks you can obtain here:

    In addition to the userspace component of wakelocks, there is also the KERNEL component.
    Last edited by droidhacker; 17 August 2015, 11:23 AM.


    • #22
      Was it possible to soft-reset the gpu manually? Last I tried suspend (two weeks ago), I quit X and went to the console to maximize chances of it working, but on resume, X was corrupted. So to be clear: resume to KMS console -> startx -> X is corrupted. Restart X -> still corrupted. Console was ok at all times.


      • #23
        Actually, I also have run into issues with suspending. The USB subsystem doesn't handle it well and causes behavior that is clearly not supposed to happen.

        That and the Nvidia proprietary driver is rarely able to revive from a suspension.


        • #24
          droidhacker Thanks, it's nice to see people actually knowing what they're talking about.
          I got a question: is there a link between the SnR and the display power saving (black screen after some time)?

          d2kx If it works for you, it doesn't mean that it works for everyone, especially when we talk about SnR which is very hardware dependent (AFAIK). For instance, with the open source radeon drivers I have some permanent visual glitches when resuming (I didn't try with the proprietary drivers).

          Passso Yes, at least PS4 has it.


          • #25
            Originally posted by Jonathan Silverblood View Post
            Well, it's not like I care. I disable suspend on my machines anyway since the difference between suspend and poweroff is "a few seconds of my life".
            That might be true for the machine startup itself, but does the poweroff/poweron cleanly restore the state of every application you had open when you powered off?

            Keeping the session state across all applications is my main use for suspend, the only reason I suspend my desktop machine (I sometimes suspend my laptop for obvious other reasons).

            My two machines go through at least one suspend/resume cycle each day, typically suspended at night and resumed in the morning.
            Judging by the uptime, one of them has now completed over 40 such cycles without any hitch.



            • #26
              Originally posted by Passso View Post
              Does PS4, XBox One and Wii U have a suspend mode?
              Xbox One since release, PS4 since March if I'm not mistaken, as for Wii U I got no idea.


              • #27
                Now when SteamOS uses systemd, it'll boot fast enough that the lack of suspend is a minor issue. Will hibernate still be there?


                • #28
                  If SteamOS takes on portable devices, suspend will be a big deal. Until then we can still shutdown our consoles for sure.


                  • #29
                    I remember at some point on my Samsung laptop I had to write a script to turn off USB devices before suspend, and turn them on after resume, otherwise the system will hang. The problem has been resolved in newer versions of Linux and I no longer need that script. I wonder why Valve had to make the decision itself in this regard rather than leaving it up to the Steam Machine manufacturer to make the final call on whether to enable suspend on their specific machine.


                    • #30
                      Originally posted by uid313 View Post
                      Now imagine if millions of peoplem have a SteamMachine (like millions have PlayStation and Xbox devices).
                      If these won't support suspend then millions of watts will be wasted by these devices.
                      It will be very bad for environment.

                      I think Valve should just fix the suspend problems.
                      Throw some developers at it.
                      sure. they should throw some developers at mesa and kill broken proprietary blobs with fire