スペシャルカーネルを導入すると以下のファイルを変更することで、CPUクロックとコア電圧を変更することが出来るようになります。
・/proc/zaurus/CCCR ・・・ CPUクロック
・/proc/zaurus/VCORE ・・・ コア電圧
例えば、
| # echo 0e > /proc/zaurus/VCORE && echo 2000310 > /proc/zaurus/CCCR |
「コア電圧:1.550V CPUクロック:624MHz システムバス:208MHz LCD:104MHz 」
という設定になります。
(設定値の詳細は、Hack on the Linuxのスペシャルカーネルのページを参照ください)
Hack on the Linuxの説明を見ていただければ分かりますが、設定の幅が広そうです。
この中から使用状況にあった最適の値を見つけたあと、変更の際には毎回コマンドで設定することになるのですが、それはちょっと大変です。
コマンドを間違ってもいけませんし。
そこでエミュレーターでもお世話になっているぴろさんが、「BatteryPlus」という便利なツールを公開されていますので、まずは、BatteryPlusを導入してみました。
BatteryPlusはポップアップメニューから簡単にクロックを切り替える事ができるツールで、バッテリー残量に応じてCPUクロックやコア電圧を変更するような動作もさせることが出来ます。
インストールは簡単。
ぴろさんのページからbatteryplus_1.1.6_arm.ipkをダウンロードし、「ソフトウェアの追加/削除」からインストールするだけです。
インストール後、バッテリーのアイコンをクリックするとクロックを切り替えるポップアップウィンドウが表示されます。
デフォルトの設定では、
・2000210(CPUクロック:416MHz システムバス:208MHz LCD:104MHz)
・2000214(CPUクロック:520MHz システムバス:260MHz LCD: 64MHz)
・2000218(CPUクロック:624MHz システムバス:312MHz LCD: 78MHz)
の3つから選択できるようになっていました。
一通り試してみましたが、どうもSL-C3200では「0200218」は動作しないみたいで、ハングしてしまいます。
ハングする設定を残しておいても危険なので、メニューを変更しました。
BatteryPlusのメニューの内容は、
/home/zaurus/Settings/BatteryPlus.conf
というファイルを作成することで、カスタマイズすることができます。
BatteryPlus.confというファイルを作成して、とりあえず以下のように記述しました。
(設定の方法についての詳細はぴろさんのページに解説されています。)
| High Mode, 02000214, 0b, , Normal Mode, 02000210, 09, ,STD |
これでデフォルトの状態から、「2000218」のエントリーを削除した設定になります。
また、表示名が「2000214」や「2000210」では味気ないので、それぞれ「High Mode」、「Normal Mode」と表示されるように変更しました。
設定ファイルを作成/変更したら、BatteryPlusにファイルを再読み込みさせる必要があるので、
ターミナルで以下のコマンドを実行し、再読み込みを行います。
| #qcop QPE/TaskBar "reloadApplets()" |
コマンドの実行後、メニューが変更されました。

まずは、この状態でしばらく使ってみようと思います。
また、同じようにクロックを変更するツールにqclockchangeというのがあります。
(こちらもぴろさんのページで公開されています)
こっちはまだ試していないのですが、qclockchangeで色々な設定を試して最適値を見つけ、BatteryPlusに設定するという感じになるんじゃないでしょうか。

