PinePhone (2019) が採用しているチップは40nmプロセスのAllwinner A64で、4コアCortex-A53、4スレッド、最高周波数1.152Ghzです。GPUはMali400MP2です。
4Gモデムは外付けのQuectel EG25-Gで、中のファームウェアはプロプライエタリソフトウェアです。スクリプトで通信できます。
RAMは2GBまたは3GBのLPDDR3 SDRAMです。
スマートフォンとして見ると、A64はかなり電力を食う入門級プロセッサで、性能も大したものではありません。動作中にプロセッサとモデムの位置が40から50度まで熱くなるのは普通です。
以下では、省電力化と性能向上の方針を見ていきます。
1. PinePhoneの省電力機構#
PinePhoneで最も電力を食う部品は通信モジュールです。画面のほうはまだましです。
現在のPinePhone向けLinuxディストリビューションでは、Phoshデスクトップ環境がよく採用されています。システム設定→
"Power"には、アイドル後どのくらいで画面を消すか(Screen Blank)を設定する項目があります。しかし、画面を消すだけでは省電力として不十分で、温度も簡単には下がりません。
さらに
"Automatic Suspend"の発動時間も設定できます。バッテリー駆動時と充電時に、アイドル状態がどのくらい続いたらスタンバイへ入るかを指定します。
この機構が発動すると、スマートフォン上のプロセスは
"Suspend"に設定され、4GとWIFIも省電力のためオフになります。ついでに本体温度も下がります。一部のディストリビューションでは音楽サービスの再生を継続し、スタンバイ中でも着信できるようにしますが、アラームのようなAPPは停止される可能性があります。Phoshデスクトップ環境でアプリケーションをSuspendで中断させたくない場合は、そのアプリケーションを実行する前に
gnome-session-inhibitコマンドを付けます。たとえば時計を起動する場合:
gnome-session-inhibit --inhibit suspend gnome-clock- もっと細かく設定したい場合:postmarketOSが提供する
"Tweaks"APPをインストールします(使っているディストリビューションにパッケージがなければ、自分でダウンロードしてビルドします)。
2. PinePhoneをオーバークロックする#
CPU、GPU、DRAMはいずれもオーバークロックできます。オーバークロック/ダウンクロックにはカーネルの自前ビルドが必要で、ハードウェアを損傷する可能性もあります。
Danct12の記事を参照してください:How to overclock (or underclock) the PinePhone CPU
3. PinePhoneの温度制御を調整する#
PinePhoneの温度制御はソフトウェアから調整できますが、設定を誤るとハードウェアを損傷します。
- 現在のCPU温度を確認します
cat /sys/class/thermal/thermal_zone0/temp- 現在の温度制御方針を確認します。温度制御は3段階(
*が段階番号)を列挙し、それぞれ55、75、100度です。
grep . /sys/class/thermal/thermal_zone0/trip_point_*_temp- 温度制御レベルを確認します。
"passive"(受動冷却)、"active"(能動冷却)、"hot"、"critical"に分かれます。ついでに言うと、バッテリーにも独自の管理チップがあり、危険な状態では自動的に電源を切ります。
grep . /sys/class/thermal/thermal_zone0/trip_point_*_type- 温度制御の温度を変更する場合は、数値を入力します(WIKIには最大温度制御を110度超えに設定しないよう記載されています)
echo 55000 > /sys/class/thermal/thermal_zone0/trip_point_0_temp
echo 75000 > /sys/class/thermal/thermal_zone0/trip_point_1_temp
echo 100000 > /sys/class/thermal/thermal_zone0/trip_point_2_temp