Tales From The Geek Side

The geeky musings of Greg Rowe.

Archive for March, 2007

GNOME CPU Frequency Scaling Applet

March 4th, 2007 by greg

Today I finally took the time to get the gnome frequency scaling applet working for my machine.  I have a Shuttle sd11g5 that I run for my desktop machine.  It is a silent PC that has a 2Ghz Pentium M CPU.  The Pentium M has some great power saving features and the gnome CPU Frequency Applet should let you control it.

The first thing I had to do was enable the userspace governor in the kernel.  The kernel allows for multiple methods for controlling the CPU frequency.  I had previously been using the “performance” governor which simply sets the CPU to the maximum speed.  That generally makes sense for a desktop machine that is always plugged in but I wanted to be able to under clock the machine for when I was away.   Of course I had to enable the speedstep modules in the kernel as well.

Once the kernel setup was out of the way I could change the CPU frequency via cpufreq-set which is part of the debian package ‘cpufrequtils.’  I could only do that as root which didn’t help me much since my goal was to change the clock speed from the gnome panel.  I set the binary as suid root but still the CPU frequency applet wouldn’t let me change the clock speed.  Finally I started reading the source code for the applet and noticed that it came with its own CPU frequency setting tool.  I changed THAT binary to suid root and I could finally modify the frequency from the gnome panel.

I just took a peak through the source code for the utility that sets the CPU frequency.  It’s just doing some simple reading and writing of file in either /proc or /sys.  It might be possible to change the group on some of those files to allow members of a particular group to change the CPU frequency.  That’s typically how Debian does this sort of thing but it’s not currently set that way.  It might not be possible anyhow.

Category: Geek, Tips | No Comments »