Silencing in Linux -- what Vcore/fanspeed software?
Moderators: NeilBlanchard, Ralf Hutter, sthayashi, Lawrence Lee
-
- Posts: 1608
- Joined: Tue Jan 04, 2005 4:02 pm
- Location: United States
Silencing in Linux -- what Vcore/fanspeed software?
I know in Windows there's CrystalCPUID, RMClock, SpeedFan, etc., but what software is available in Linux for advanced control of multipliers, Vcore, and fan speed? Or would the above mentioned software work correctly if emulated in Wine?
Re: Silencing in Linux -- what Vcore/fanspeed software?
frostedflakes wrote:I know in Windows there's CrystalCPUID, RMClock, SpeedFan, etc., but what software is available in Linux for advanced control of multipliers, Vcore, and fan speed? Or would the above mentioned software work correctly if emulated in Wine?
- For cpu freq there's a couple. cpufreqd, powersaved, powernowd. I use powernowd because it's: simple, works with Intel and Amd, supported by my OS (Ubuntu.)
- for fan and thermal monitoring, i use lm_sensors/hddtemp. gnome has an applet which display all the informations you can get from lm_sensors and hddtemp on the panel.
the 1st icon show my Athlon64x2 runs below half speed (1GHz); the second is the temp of my HDD at 36C; next is my PSU fan at 750rpm which is plugged into the sysfan header; CPU fan at 878rpm; sys temp at 32C and last is the CPU at 32C. - for fan control, I just use the BIOS and a hw fan controller because controlling fans from sw depends a lot your motherboard. My MB, msi k8ngm2-fid, only let sw controlling the cpu fan (sysfan can only be monitored and NB fan is SOL). But the CPU fan is something I only trust the BIOS to monitor and control.
-
- Posts: 1608
- Joined: Tue Jan 04, 2005 4:02 pm
- Location: United States
I never realized there were so many options. A list of Linux applications should be added to the power reduction sticky in this section. After not seeing any mention of Linux software in the sticky, I assumed the worse -- that no such software existed. Am happy my assumption turned out to be wrong. Thanks for the info bogus.
You have to enable c'n'q in the BIOS. I'm not sure if powernowd touch Vcore at all, it just changes the stepping/freq based on the current cpu usage. You'll have to google around for the difference between cpufreqd, powersaved and powernowd. However all of them use what the kernel provides and the c'n'q driver in kernel 2.6 is actually written by AMD, so!!!flokel wrote:Thx for the info bogus.
I'm using the Msi K8ngm2 as well,
planning to switch to ubuntu 6.06.
Like frostedflakes I was a little bit worried about linux c'n'q software.
Can you change multiplier and vcore with powernowd like with rmclock?
Mfg
Flo
I dont have a laptop so I was never really interested in saving power. I'm much more interested in reducing heat and noise. I've never tried the gnome-power-manager applet but it seems to use ACPI to suspend or hibernate the whole PC.
-
- Posts: 26
- Joined: Sun May 14, 2006 11:18 pm
- Location: Singapore
I'm currently still in the middle of setting up a 24/7 file server using a MSI K8MM-V motherboard. This is a Socket 754 mATX motherboard. The processor is AMD Turion 64 MT32. I've got OpenSuSE 10.1 installed.
My motherboard don't seem to allow me to change the multipler and vcore from within BIOS. Instead, powernow-k8 gets installed by OpenSuSE 10.1 by default. So, I'm using it to control the power usage:
And from lm_sensors:
So, it seems that powernow is changing the vcore and multiplier for me. I'm still trying to find out if I can lower the VCore further (say to 0.90V).
- # hwinfo --cpu
01: None 00.0: 10103 CPU
[Created at cpu.290]
Unique ID: rdCR.j8NaKXDZtZ6
Hardware Class: cpu
Arch: X86-64
Vendor: "AuthenticAMD"
Model: 15.36.2 "AMD Turion(tm) 64 Mobile Technology MT-32"
Features: fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,
clflush,mmx,fxsr,sse,sse2,syscall,nx,mmxext,fxsr_opt,lm,3dnowext,3dnow,pni,lahf_lm
Clock: 800 MHz
Cache: 512 kb
Config Status: cfg=no, avail=yes, need=no, active=unknown
My motherboard don't seem to allow me to change the multipler and vcore from within BIOS. Instead, powernow-k8 gets installed by OpenSuSE 10.1 by default. So, I'm using it to control the power usage:
- # cpufreq-info
cpufrequtils 0.4: cpufreq-info (C) Dominik Brodowski 2004
Report errors and bugs to linux at nospam-brodo.de, please.
analyzing CPU 0:
driver: powernow-k8
CPUs which need to switch frequency at the same time: 0
hardware limits: 800 MHz - 1.80 GHz
available frequency steps: 1.80 GHz, 1.60 GHz, 800 MHz
available cpufreq governors: ondemand, userspace, powersave, performance
current policy: frequency should be within 800 MHz and 1.80 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 800 MHz (asserted by call to hardware).
And from lm_sensors:
- # sensors
w83627thf-isa-0290
Adapter: ISA adapter
VCore: +1.05 V (min = +1.94 V, max = +1.94 V) ALARM
+12V: +12.16 V (min = +10.82 V, max = +13.19 V)
+3.3V: +3.42 V (min = +3.14 V, max = +3.47 V)
+5V: +4.96 V (min = +4.75 V, max = +5.25 V)
-12V: -11.78 V (min = -13.18 V, max = -10.80 V)
V5SB: +4.97 V (min = +4.76 V, max = +5.24 V)
VBat: +3.52 V (min = +2.40 V, max = +3.60 V)
fan1: 0 RPM (min = 21093 RPM, div = 2) ALARM
CPU Fan: 1704 RPM (min = 168750 RPM, div = 8 ) ALARM
fan3: 0 RPM (min = -1 RPM, div = 2) ALARM
MB Temp: +34°C (high = +33°C, hyst = +40°C) sensor = thermistor
CPU Temp: +29.0°C (high = +100°C, hyst = +95°C) sensor = thermistor
temp3: +65.5°C (high = +100°C, hyst = +95°C) sensor = thermistor
vid: -0.025 V (VRM Version 2.4)
alarms: Chassis intrusion detection ALARM
beep_enable:
Sound alarm enabled
So, it seems that powernow is changing the vcore and multiplier for me. I'm still trying to find out if I can lower the VCore further (say to 0.90V).
-
- Patron of SPCR
- Posts: 2674
- Joined: Sun Jul 04, 2004 6:07 am
- Location: Houten, The Netherlands, Europe
The cpufreqd, powersaved and powernowd userspace daemons are old tech
With newer kernels, using the powernow-k8 kernel module and the "ondemand" governor activates C'n'Q.
Neither method lets you change the CPU voltage independend from the CPU frequency. To do that you have to hack the code of the powernow-k8 kernel module (and thus compile your own kernel). So I would say that for advanced control of multipliers and Vcore you're out of luck on linux, unless you can program.
LM_sensors comes with a script to change your fanspeeds (if the mobo supports it). But it isn't "installed" by default.
With newer kernels, using the powernow-k8 kernel module and the "ondemand" governor activates C'n'Q.
Neither method lets you change the CPU voltage independend from the CPU frequency. To do that you have to hack the code of the powernow-k8 kernel module (and thus compile your own kernel). So I would say that for advanced control of multipliers and Vcore you're out of luck on linux, unless you can program.
LM_sensors comes with a script to change your fanspeeds (if the mobo supports it). But it isn't "installed" by default.
well powernowd use the powernow-k8 module too. Except the governor in question is "userspace", i.e. controlled by powernowd. I just happen to like the the way powernowd change the cpu freq than the in-kernel governors. I might change my mind someday, thought.Tibors wrote:The cpufreqd, powersaved and powernowd userspace daemons are old tech
With newer kernels, using the powernow-k8 kernel module and the "ondemand" governor activates C'n'Q.
true. however some ppl (like me) find writing kernel driver is easier than installing the Scythe Ninja.Neither method lets you change the CPU voltage independend from the CPU frequency. To do that you have to hack the code of the powernow-k8 kernel module (and thus compile your own kernel). So I would say that for advanced control of multipliers and Vcore you're out of luck on linux, unless you can program.
Not sure what you mean by not installed by default.
LM_sensors comes with a script to change your fanspeeds (if the mobo supports it). But it isn't "installed" by default.
Anyway, for a MB like mine, I dont understand why ppl want to control fan by a software program like SpeedFan (which takes a while to start from powerup, subject to sw crash and windows crash) while they have a dedicated (windbond) chip on the MB to do that for them.
-
- Posts: 1608
- Joined: Tue Jan 04, 2005 4:02 pm
- Location: United States
Saving power needs should also mean reduced heat and noiseI dont have a laptop so I was never really interested in saving power. I'm much more interested in reducing heat and noise.
So if there's no "easy" method to implement vcore settings along with c'n'q,
is there a programm that can simply undervolt the cpu without changing its frequency?
Mfg
Flo
[/code]
Well, you have to google around, I'm not aware of anything. If you're brave and programming savvy, then there's a function in the powernow-k8 driver calledfrostedflakes wrote:So there are no applications that allow the user to adjust Vcore? How hard would it be to manually edit Vcore in the kernel? Maybe once I get my system set up somebody could walk me through it, I'm pretty green when it comes to Linux. Am planning to use either Ubuntu or Xubuntu.
Code: Select all
int transition_fid_vid(struct powernow_k8_data *data, u32 reqfid, u32 reqvid);
If the above makes no sense to you then you should try your luck and make a request at the Linux-Kernel-Mailing-List.
-
- Posts: 1608
- Joined: Tue Jan 04, 2005 4:02 pm
- Location: United States
So you'd have to change the P-state data in the BIOS? How does windows software that adjusts Vcore work then? There must be another way.
Unfortunately I don't know jack about programming, so it looks like I'm at the whim of those who do.
I was really looking forward to a 5w Sempron in Linux -- 800Mhz 0.8V.
Unfortunately I don't know jack about programming, so it looks like I'm at the whim of those who do.
I was really looking forward to a 5w Sempron in Linux -- 800Mhz 0.8V.
Changing the kernel code so that you can specify the fid and/or vid is not hard. All of the code is isolated in a single file that has perhaps 500 lines of code. But you do have to know how to program at least a little and you will also have to redo the changes everytime you upgrade your kernel. I upgrade my kernel about 3 to 4 times a years but this may be more often then most.
Here is a detailed thread from the Gentoo AMD64 forum about this:
http://forums.gentoo.org/viewtopic-t-24 ... t-vid.html
This has patches and some links to some tools to help out with this. Lots of good info about controlling CPU voltages.
Here is a detailed thread from the Gentoo AMD64 forum about this:
http://forums.gentoo.org/viewtopic-t-24 ... t-vid.html
This has patches and some links to some tools to help out with this. Lots of good info about controlling CPU voltages.
-
- Posts: 103
- Joined: Tue Jan 10, 2006 11:47 pm
When i try to load powernow module i get error saying:
powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.60.0)
cpufreq-core: trying to register driver powernow-k8
cpufreq-core: adding CPU 0
powernow-k8: register performance failed: bad ACPI data
powernow-k8: BIOS error - no PSB or ACPI _PSS objects
cpufreq-core: initialization failed
cpufreq-core: no CPU initialized for driver powernow-k8
cpufreq-core: unregistering CPU 0
I have Foxconn 760GXK8MC-RS motherboard with A64 Venice 3000+ on it.C'n'Q is enabled in BIOS.I have contacted foxconn and they have told me to upgrade BIOS...so i did...but still nothing...anybody knows where is the problem?
P.S.-OS > Slackware 10.2
Linux 2.6.16.9
powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.60.0)
cpufreq-core: trying to register driver powernow-k8
cpufreq-core: adding CPU 0
powernow-k8: register performance failed: bad ACPI data
powernow-k8: BIOS error - no PSB or ACPI _PSS objects
cpufreq-core: initialization failed
cpufreq-core: no CPU initialized for driver powernow-k8
cpufreq-core: unregistering CPU 0
I have Foxconn 760GXK8MC-RS motherboard with A64 Venice 3000+ on it.C'n'Q is enabled in BIOS.I have contacted foxconn and they have told me to upgrade BIOS...so i did...but still nothing...anybody knows where is the problem?
P.S.-OS > Slackware 10.2
Linux 2.6.16.9
No, the driver (written by amd) can change Vcore independently of the freq, it choose NOT to do so. It only use a legal freq-vcore combo from the PST.frostedflakes wrote:So you'd have to change the P-state data in the BIOS? How does windows software that adjusts Vcore work then? There must be another way.
I know how to change the driver but I'm NOT familiar with Vcore stuffs and unwilling to experiment with Vcore on my brand new PC.Unfortunately I don't know jack about programming, so it looks like I'm at the whim of those who do.
I was really looking forward to a 5w Sempron in Linux -- 800Mhz 0.8V.
-
- Patron of SPCR
- Posts: 2674
- Joined: Sun Jul 04, 2004 6:07 am
- Location: Houten, The Netherlands, Europe
If you put LM_sensors on your Linux system, then the fan control script just sits somewhere in a directory doing nothing. Unless you happen to stumble over its existence in the docs or someone tells you to go look for it, it won't do anything for you. Once you have found it, you have to call it from somewhere (and maybe adapt it for your use). This is unlike what some people less used to Linux and more used to Windows are used to.bogus wrote:Not sure what you mean by not installed by default.Tibors wrote:LM_sensors comes with a script to change your fanspeeds (if the mobo supports it). But it isn't "installed" by default.
Anyway, for a MB like mine, I dont understand why ppl want to control fan by a software program like SpeedFan (which takes a while to start from powerup, subject to sw crash and windows crash) while they have a dedicated (windbond) chip on the MB to do that for them.
The winbond chip doesn't have any control algorithm. It has only sensors and a speed switch. On your mobo and on the MSI board in my sig, the BIOS has a control algorithm that is good enough for us. On a lot of other mobos the chip is there, but the BIOS doesn't implement any decent control algorithm. So you'll need to control the chip from somewhere else. The only choice you have left in that situation, is using some software running under your OS of choice.