When Microsoft launched the Surface RT in October 2012, it was positioning itself against Apple’s iPad — a bold ARM-based Windows device powered by NVIDIA’s Tegra 3 system-on-chip. Fast-forward more than a decade, and the tablet lives on in an unlikely place: the hands of Linux hobbyists who have reverse-engineered its firmware and worked to bring mainline kernel support to its aging hardware. One of the most practical missing pieces remains proper battery reporting — and while a driver for that purpose does exist, recent reporting claiming it has landed in the Linux 7.2 mainline kernel cannot be confirmed.

The Driver That Exists — But Out of Tree

For those running Linux on the Surface RT, the BATTERY_CHARGER_SURFACE_RT build option is a real and documented piece of the puzzle. It enables the embedded-controller driver that communicates with the Surface RT’s hardware to expose battery status to Linux, including remaining charge, supply current, voltage, manufacturer information, and whether a charger is plugged in. The Open Surface RT project — the community effort dedicated to bringing Linux to first-generation Surface tablets — has documented this Kconfig option in its kernel build guides for some time.

However, this driver has historically required manual patching or the use of the community’s own fork of the kernel tree. It has not been a standard part of the upstream Linux kernel that anyone installing a mainstream distribution would automatically receive.

Context: Surface RT Hardware

The Surface RT (2012) uses an NVIDIA Tegra 3 quad-core ARM Cortex-A9 SoC paired with 2 GB of RAM. Its successor, the Surface 2, also used a Tegra chip (the faster Tegra 4). Both devices run a 32-bit ARM architecture, a factor that creates additional complexity for mainline kernel support compared to modern 64-bit ARM hardware.

What Linux 7.2 Power Management Actually Contains

Linux 7.1 was released by Linus Torvalds on June 14, 2026, and the Linux 7.2 merge window only opened days after that. Phoronix’s coverage of the Linux 7.2 power management pull — merged on June 16, 2026 — details its highlights: CPUFreq scaling support for the Qualcomm Shikra (QCM2390) IoT SoC, the removal of the AMD Elan SC4 CPUFreq driver as part of the ongoing phase-out of i486-era hardware, and the addition of LZ4 as a hibernation compression option. There is no mention of a Surface RT embedded-controller battery driver in that pull or the accompanying kernel mailing list thread.

Similarly, Linux 7.1’s most-discussed power-related addition was the Apple SMC power driver — developed originally by Hector Martin for Asahi Linux and refactored for upstream inclusion — which for the first time allows Apple Silicon MacBook laptops running a mainline kernel to properly report battery metrics and AC adapter status. That story, which did make it to mainline, bears a structural resemblance to the Surface RT battery driver situation, which may be a source of confusion.

A Longstanding Challenge for ARM32 Devices

Getting support for older ARM32 hardware into the mainline Linux kernel is notoriously slow work. Device tree files, embedded-controller communication protocols, and low-level power subsystem drivers each require their own upstreaming process, including review cycles that can stretch for months. The Surface RT’s situation is compounded by the fact that it never used the SSAM (Surface Aggregator Module) communication interface that Microsoft introduced on later Surface devices — the Tegra-based tablets predate that architecture entirely, requiring their own purpose-built embedded-controller driver rather than being able to leverage the existing Surface EC framework.

Linux 7.1 did, separately, complete the mainlining of real-time “PREEMPT_RT” kernel support for 32-bit ARM — a milestone that benefits a broad range of older ARM hardware including Tegra-based devices. That improvement, while not Surface RT-specific, is a genuine and verifiable step forward for running modern Linux on older ARM32 platforms.

The Bottom Line

The Surface RT battery driver story is real in its foundations: the driver exists, the community has been working on it, and the hardware specifications cited — Tegra 3, 2 GB of RAM — are accurate. But as of today, no verified source confirms that the surface-rt-ec battery driver has been formally accepted into the Linux 7.2 mainline kernel. Anyone looking to run Linux on a Surface RT with working battery reporting will still need to consult the Open Surface RT project’s documentation and apply the relevant out-of-tree patches rather than relying on a stock kernel release.

The Linux kernel’s trajectory of steadily improving support for legacy and community-reverse-engineered hardware is encouraging — Apple Silicon battery support finally landing in 7.1 is proof of that. Whether the Surface RT’s battery driver follows a similar path into mainline remains something to watch for in future kernel cycles.