LinuxのノートPC充電制御

ノートPCの充電制御は頭の痛い問題です。

私が知る限り、ノートPCはに使用されているリチウム・ポリマー2次電池を100%まで充電した状態で使い続けると、電池が急速に劣化します。

リチウム・ポリマー電池が劣化すると、

  • 寿命が急速に縮む
  • 電池が膨張する

といった問題が起きます。

これは比較的広く知られている問題ですので、大手PCメーカーが製造するWindows PCには、充電制御用のアプリが用意されています。これはPCのファームウェアと強調動作して、最大充電度を100%より小さな値で停止させる機能を持っています*1

さて、数年前のことですが「Linuxにはこの手の充電制御アプリケーションが無い」とTwitterでつぶやいたところ「対応している奴は割とある」と無知を正してくださった方がいらっしゃいました。

ずいぶん時間がたってしまいましたが、流れてしまうのはもったいないのでここに記録しておきます。

Lenovo ThinkPad /sys/class/power_supply/BAT0/{charge_start_threshold,charge_stop_threshold}
Lenovo IdeaPad /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode
HP BIOSでしか設定できない(Windowsもダメ)
DELL https://github.com/glynhudson/dell-charge-limit
VAIO /sys/devices/platform/sony-laptop/battery_care_limiter
Panasonic sys/devices/platform/panasonic-laptop/eco_mode
ASUS /sys/class/power_supply/BAT0/{charge_control_start_threshold,charge_control_end_threshold,charge_control_thresholds}
Samsung /sys/devices/platform/samsung/battery_life_extender
Huawei /sys/class/power_supply/BAT0/{charge_control_start_threshold,charge_control_end_threshold,charge_control_thresholds}
LG /sys/devices/platform/lg-laptop/battery_care_limit

なお、Linuxのカーネルソースには、その他の会社の情報もあります。

*1:停止充電度を自由に設定できるものもあれば、固定のものもある

/* -----codeの行番号----- */