Announcement

Collapse
No announcement yet.

Is speedstep supported under Linux? (X58+i7)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Is speedstep supported under Linux? (X58+i7)

    I have X58 motherboard and a i7 CPU and I was wondering if SpeedStep was supported under Linux (I'm new to Linux) I'm running openSUSE and I have no way to see my voltage, CPU multiplier, or temperature to confirm if SpeedStep is working. I would hate it if my CPU was running full speed 24/7, especially with a power hungry monster like i7. I did locate a panel in openSUSE that shows me my current clock (it seems stuck at 1.596MHz, very inaccurate!). I tried gkrellm but all it shows me is CPU usage. Is there any sort of utility for Linux like CPU-Z under Windows?

  • #2
    If your kernel is new enough an properly configured (maybe using kpowersave) and you don't oc your cpu then it should work. Just check:

    grep MHz /proc/cpuinfo

    Comment


    • #3
      grep MHz /proc/cpuinfo shows 1596 for each core. I didn't have kpowersave installed but I just got it. It shows 2793 in performance mode for each core and in dynamic mode it shows 1596 to 2793. My CPU is overclocked to 4.2GHz so these readings are inaccurate of course. Is there any way any of these utilities can harm my system by making the voltages too high or something? I mean like kpowersave and what not, since they are already misreading the values to being with.

      Comment


      • #4
        For speedstep to work, the BIOS needs to provide sane ACPI tables with
        correct speed information, and acpi-cpufreq (for most recent Intel cpus) must be loaded/compiled into the kernel (which it should on any reasonably newer distro).

        List all available frequencies:
        cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

        List current cpu frequency:
        cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq


        CPU frequency stepping is controlled through "governors"; some
        do automatic stepping depending on cpu load (ondemand), others set a single frequency ("powersave" to lowest, "performance" to highest,
        "userspace" lets you set cpu speed manually).

        Query list of available governors:
        cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

        Activate a governor:
        echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor


        (Theres also a little guide in the linux kernel sources. here: http://git.kernel.org/?p=linux/kerne...3983cf;hb=HEAD )

        Comment


        • #5
          So all these Mhz readings could be inaccurate?The kernel is not actually downlocking my CPU and overriding set overclocked values in BIOS? I just installed the latest lm-sensors and configured them. They show that my RAM voltage is running at 2.24V (which is insane since the safe limit is 1.65V), also my CPU voltage is being read as 1.71V (safe limit is 1.45V). Are these just lm-sensor misreadings or is kernel actually messing with everything, voltages and power scheme arrangements?

          Comment


          • #6
            Originally posted by Shaman View Post
            So all these Mhz readings could be inaccurate?The kernel is not actually downlocking my CPU and overriding set overclocked values in BIOS? I just installed the latest lm-sensors and configured them. They show that my RAM voltage is running at 2.24V (which is insane since the safe limit is 1.65V), also my CPU voltage is being read as 1.71V (safe limit is 1.45V). Are these just lm-sensor misreadings or is kernel actually messing with everything, voltages and power scheme arrangements?
            Well, CPU clock is calibrated against a known-good clocksource (the PIT timer), but there have been cases where this calibration is off (one case was fixed in the latest kernel sources a few days ago), so yes, the readings you see may be off.

            In case of overclocking, it depends on the BIOS. On my system here, when overclocking the BIOS corrupts the parts of the ACPI tables that deal with the CPU frequecy and the kernel doesn't do any frequency stepping. I don't know how your BIOS behaves in this case (in my experience, since windows doesn't provide cpufreq-like functionality, most boards produce crap in the ACPI tables and instead rely on a crappy windows tool).

            The voltages being off probably is because there is no reference provided for your board in the relevant lm-sensors files. Since lm-sensors only deals with the sensor chips, it has no knowledge how the sensors are wired up (i.e. which voltage rails are connected to what inputs and whether they need to be corrected). Only your motherboard manufacturer knows these things (that's usually why their windows apps show correct values). The kernel doesn't change voltages on purpose (although they may be changed indirectly through ACPI methods).

            Comment


            • #7
              So, how do I know if running any Linux distro is safe on my hardware? (I mean if kernel is playing around with voltages and clocks at will.)

              Comment


              • #8
                Originally posted by Shaman View Post
                (I mean if kernel is playing around with voltages and clocks at will.)
                Speedstep is done through the BIOS (ACPI methods). These methods set the processor speed and supply voltages. If for some reason your hardware were to go up in flames, it is not linux' fault but the BIOS vendor for screwing up ACPI. Although the quality of most BIOSes leads me to believe that BIOS programmers are generally morons, I've never heard of PC hardware going up in flames because of speedstep.

                Again: linux doesn't overclock or "overvolt" your machine (it doesn't know how to in the first place), it just uses bios-provided functions to set what the bios has deemed safe.
                Complain to your board vendor if things break.

                Comment

                Working...
                X