Show Your Support: This site is primarily supported by advertisements. Ads are what have allowed this site to be maintained on a daily basis for the past 18+ years. We do our best to ensure only clean, relevant ads are shown, when any nasty ads are detected, we work to remove them ASAP. If you would like to view the site without ads while still supporting our work, please consider our ad-free Phoronix Premium.
Better Support For Microsoft Surface Laptops On Linux Is Coming With "SAM"
After a lot of infrastructure work around the Surface platform support, in recent weeks patches have been under review for enabling the Microsoft Surface System Aggregator Module (SAM / SSAM) on Linux. The Microsoft Surface System Aggregator Module is found on later generation Surface devices and amounts to being an embedded controller. The SAM on some models is responsible not only for battery status handling and thermal reporting but also HID keyboard and touchpad input support.
While Microsoft continues to proclaim their love for Linux, this Surface enablement work isn't done by them but the community. Independent developer Maximilian Luz has been the one focusing on this SSAM support and has done much for improving the Surface state on Linux. Along with the thermal sensors, the SAM is responsible for setting the cooling/performance mode of the laptop making this functionality all the more important.
The patch series gets the initial support going plus also exposes the EC interface to user-space to help in debugging / testing / reverse engineering. The original users of SAM were the Surface Pro 4 and Surface Book 1 but has continued with newer generation devices as well.
Those wanting to learn more about the Microsoft Surface System Aggregator Module can see the v2 patches that were posted on Thursday following the initial review of this new code that happened in November. As this Microsoft Surface Linux driver work by Luz has been well written and punctually addressing feedback, this support could end up in the mainline Linux kernel sooner rather than later.