News: 0001642693

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

DeviceTree-ACPI Hybrid Mode Proposed For Improving Linux Support On Snapdragon Laptops

([Linux Kernel] 37 Minutes Ago Qualcomm Snapdragon X Series)


Over the years while working at Red Hat, [1]Hans de Goede was known for driving many wonderful Linux laptop improvements benefiting AMD/Intel x86_64 hardware. Hans [2]left Red Hat last year and ended up [3]joining Qualcomm to advance their open-source/Linux support. Today he is out with a significant new patch series for consideration that has the potential of significantly improving the Qualcomm Snapdragon X Series laptop Linux support and also important indicators for better Snapdragon laptop support on Linux moving forward.

Hans de Goede posted a request for comments (RFC) on a new patch series implementing what he calls DeviceTree-ACPI hybrid mode. Qualcomm Snapdragon X1/X2 laptops on Linux have relied just on Device Trees for enabling the system support and not ACPI, similar to most Arm single board computers out there on Linux. Windows 11 on Arm meanwhile has been using ACPI but the ACPI tables are inadequate for Linux currently and thus unused. But Hans is proposing a DeviceTree-ACPI hybrid mode where the ACPI information could be at least partially leveraged.

Hans opened his RFC patch series with:

"Currently as soon as the kernel boots with a populated DT provided then the arch/arm64 code sets acpi_disabled=1 and the complete ACPI subsystem gets disabled. On WoA Snapdragon laptops where the factory Windows OS actually boots using these tables this is not necessarily desirable.

It might still be interesting to at least parse the ACPI tables and make the ACPI fwnodes available for device-drivers to use. I call this DT-ACPI hybrid mode.

This mainly is an experiment for now and possibly a method for accelerating the ongoing effort to run Linux on currently available Snapdragon laptops.

On current laptops Linux cannot boot using ACPI due to some information missing from the ACPI tables. People are working on changing this so that for future WoA Snapdragon laptops Linux can boot using ACPI only without requiring Devicetree."

That last sentence is particularly exciting over the prospects of future Qualcomm Snapdragon powered laptops on Linux potentially just using ACPI and not relying on Device Tree. This would be a huge win considering the pain in getting DTs created, tested, and upstreamed for all the different Snapdragon X/X2 laptops out there so far.

This DT-ACPI hybrid mode is quite interesting for existing Snapdragon laptops to make it possible to run at least acpidump for exploring the APCI tables of current systems booted with Device Tree, the ability for Linux device drivers to still access ACPI data for some elements where useful even if booted via DT, and other leverage of ACPI in possible areas. Hans' mailing list post goes over some of those areas

With the patches posted today, it's already working to the extent that Hans tested a Lenovo ThinkPad T14s Gen 6 and was able to remove the Device Tree descriptions for the keyboard and touchpad so instead having them instantiated by ACPI. It worked!

It will be interesting to see where this DT-ACPI hybrid mode leads and what form it potentially takes on in the mainline Linux kernel. For now those wanting to learn more can see [4]the RFC patch series from the Linux kernel mailing list. Meanwhile I am quite eager now for future Snapdragon laptops on Linux potentially going ACPI-only and leaving the DT mess behind.



[1] https://www.phoronix.com/search/Hans+de+Goede

[2] https://www.phoronix.com/news/Hans-de-Goede-Leaving-Red-Hat

[3] https://www.phoronix.com/news/Hans-Joins-Qualcomm

[4] https://lore.kernel.org/linux-acpi/20260623145225.143218-1-johannes.goede@oss.qualcomm.com/



May all your PUSHes be POPped.