Li ho recentemente aggiornati dopo il passaggio al 2.6.13; ora possono gestire qualunque numero di "governors", perchè li leggono direttamente dal file /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors e vanno a modificare il file scaling_governor, facendo cambiare il comportamento alla CPU.
script set_governor
- Codice: Seleziona tutto
#!/bin/bash
#
#written by T0ms
#V 1.2 11/set/2005
#
#NAME: set_governor
#change interactively the frequency governor for kernel 2.6
#
#-----------VAR------------------
APLDIR="/sys/devices/system/cpu/cpu0/cpufreq"
FILE="$APLDIR/scaling_governor"
GOVFILE="$APLDIR/scaling_available_governors"
COUNT=`cat $GOVFILE|wc -w`
#-----------METHODS--------------
function my_help()
{
echo "Usage: \
`basename $0` [1-$COUNT]: "
for i in `cat $GOVFILE`; do echo $i; done | cat -b
exit 0;
}
#-----------MAIN-----------------
#echo DEBUG
#echo $# $1
if [ $# -ge 1 ] && [ $1 -ge 1 ] && [ $1 -le $COUNT ]
then
GOV=`cut -d ' ' -f $1 $GOVFILE`
echo $GOV > $FILE
echo CPU Governor is Now `cat $FILE`
else
my_help
fi
Il secondo usa il primo per cambiare ciclicamente il governo; lo uso associato ad una combianzione di tasti.
script chgov
- Codice: Seleziona tutto
#!/bin/bash
#
#written by T0ms
#V 1.2 11/set/2005
#
#NAME: chgov
#change cpu governor
#
#-----------VAR------------------
APLDIR="/sys/devices/system/cpu/cpu0/cpufreq"
GOVFILE="$APLDIR/scaling_available_governors"
COUNT=`cat $GOVFILE|wc -w`
IDFILE="/var/tmp/governor.id"
PATH="/usr/bin:$PATH"
#-----------MAIN----------------
if [ ! -f $IDFILE ]
then
echo 1 > $IDFILE
fi
GOVID=`cat $IDFILE`
set_governor $GOVID
echo $(( (++GOVID % $COUNT)+1 )) > $IDFILE
Ho usato le informazioni in questa pagina per configurare i tasti e le scritte on-display (in generale quasi tutto il porti l'ho configurato da qui); così premendo fn+f3 cambio la configurazione della cpu.
La mia configurazione di xbindkey relativa è la seguente
- Codice: Seleziona tutto
"sudo chgov | xosd -- -"
c:223
that's all, folks!
ciao

