Microsoft Surface RT Gets Mainline Linux Kernel Driver After 14 Years

Fourteen years after Microsoft launched the original Surface RT in a bid to challenge Apple’s iPad, the aging ARM-powered tablet has received an unexpected revival: a mainline Linux kernel driver that brings proper battery and charging status support to the device.

The new “surface-rt-ec” driver, set to debut in Linux 7.2, communicates with the Surface RT’s embedded controller and is enabled via the BATTERY_CHARGER_SURFACE_RT Kconfig option. Once active, Linux can read the device’s remaining battery capacity, supply current, voltage, manufacturer, model, and serial number — as well as detect whether a charger is connected.

Surface RT running Linux

The driver was developed by open-source contributor Jonas Schwöbel. It previously existed only as an out-of-tree kernel module requiring manual installation, but with Linux 7.2 it graduates to the mainline kernel, making it available to any distribution that ships the upcoming release.

This isn’t going to turn the Surface RT into a daily driver. The tablet shipped with just 2 GB of RAM and NVIDIA’s Tegra 3 SoC, hardware that struggles with modern workloads even by the standards of lightweight Linux desktops. But for hobbyists, tinkerers, and the retro-computing crowd, having mainline kernel support means the device can serve as a low-power terminal, a home automation dashboard, or simply a fun project machine without fighting out-of-tree driver maintenance across kernel updates.

The Surface RT embedded controller driver was among the most anticipated additions in this cycle’s power subsystem update, underscoring the enduring appeal of breathing new life into old hardware — no matter how long it takes.