applesmc-next-dkms

DKMS kernel modules providing battery charge threshold control for Intel Apple MacBooks via the SMC BCLM key.

Why this build?

The mainline Linux kernel’s applesmc driver does not expose battery charge control. This out-of-tree module (from c---/applesmc-next) adds sysfs files that let you limit charging:

Compared to upstream kernel

FeatureMainline kernelNetLinux (applesmc-next)
charge_control_end_thresholdNoYes
charge_control_full_thresholdNoYes
TLP battery pluginNoIncluded (45-apple)
DKMS auto-rebuildN/AYes

Package details

Version0.1.6-2netlinux1
Architectureamd64
Componentmain
Download applesmc-next-dkms_0.1.6-2netlinux1_all.deb
Upstream github.com/c---/applesmc-next
Source github.com/netlinux-ai/applesmc-next

Install

sudo apt install applesmc-next-dkms

See the main page for repository setup instructions.

Usage

# Limit charging to 80%
echo 80 | sudo tee /sys/class/power_supply/BAT0/charge_control_end_threshold

# Remove limit (charge to 100%)
echo 100 | sudo tee /sys/class/power_supply/BAT0/charge_control_end_threshold

# Check current limit
cat /sys/class/power_supply/BAT0/charge_control_end_threshold

The setting persists in SMC NVRAM across reboots and operating systems.