Hacker News new | ask | show | jobs
by gjsman-1000 642 days ago
Some ARM systems (mainly servers) do support ACPI; allowing for one image to run on multiple processors and devices.

However… ACPI is apparently a pretty awful thing to implement. When it doesn’t work, or mistakes are made (looking at my own 13th gen HP laptop right now - borked ACPI tables means unpatchable broken sleep on Linux), then it’s pure frustration.

Device trees on the other hand are much more binary. Either everything generally works or it doesn’t at all. It’s a valid approach.

2 comments

Flawed implementations of open specs can be worked around with things like quirk tables. A spec held hostage by a non-cooperating vendor cannot. In the world of ARM SoCs, bad vendors won't even provide a device tree, just a binary image compiled from a patched kernel.
You can override broken ACPI tables. The keyword to search for is "dsdt". For example, if you have an HP Omen this repo has a fix:

https://github.com/j0hnwang/OMEN-Transcend-16-ACPI-fix

But yes, device trees are far nicer to work with.