Every single ACPI vs Device Tree argument needs to start with the observation that I can boot a modern Linux kernel on an arbitrary x86 board from 1998 and it will probably suspend and resume correctly, and I can't do that with an arbitrary Arm board from 2026
@mjg59 Counterpoint: I believe that has less to do with ACPI and more to do with the _massive_ amount of work Linux has done to add bug fixes or replacement code for most of those broken ACPI ABI interfaces, which is possible because the chipsets are few and well documented. Where as in Arm or RISC-V it's all under multiple levels of NDA because it's IP blocks in a SoC. Power management is hard, ACPI making a ABI targeting Windows doesn't help.

@edolnx @mjg59 Also, Intel and AMD contribute upstream in a way that most of the Arm vendors simply don’t.

If a vendor made upstream kernel support their top priority, they could make it happen.

@alwayscurious @mjg59 There is also the problem that a lot of these vendors _do want upstream support_ but the license agreements with the IP vendors prevent that, and they don't have the wallets or time to push back on the standard license/NDA to open source the driver (which is almost always completely forbidden)
@edolnx @mjg59 Why do the IP vendors insist on keeping things proprietary? Have any vendors decided to pay a third party to write a clean-room reverse engineered driver?
@alwayscurious They keep things proprietary to protect their business model and/or infosec guarantees. Most vendors don't pay for a clean-room reverse engineering effort, that's almost always OSS developers. The ones who are willing to pay will just spend the cash on legal to negotiate terms with the IP vendor to upstream OSS drivers, but that is _rare_ or through a consortium (like Linaro for Arm or RISCstar for RISC-V)
@edolnx How does keeping the interface docs proprietary help them? That seems like security theater to me, as the success of reverse engineering has shown.
@alwayscurious you are correct - it is security theater. It's not about the products, it's about protecting the value of the IP. A known broken IP block is worthless, a IP block that is bound by NDA still has value because you can't tell anyone it is broken. This is also why you can't tell what IP blocks are used, companies don't want end users to know what blocks are in use because end-users are not covered by the NDA. It's all about protecting the business model.
@edolnx So they do it to prevent anyone from finding out that the hardware they designed has bugs?
@alwayscurious No, it's all to lock the end users out of the hardware to protect the business with the DMCA. Break a bootloader? Jail. Show an exploit on a device? Jail. These devices suck, but with the DMCA they suck and are extremely valuable to sell.
@alwayscurious I'm not trying to sound conspiratorial - these are the answers I get from hardware vendors when I ask these questions. It's all about protecting fragile business models and ensuring things that should be "commonly available" retain a "High Value for the Licensing Company"
@edolnx Does it really protect the business model, or is this a misunderstanding? I still don’t see how this increases the value to the licensing company. Just because I know the interface to something doesn’t mean I can replicate it.
@alwayscurious it protects the company by reducing competition. Building these IP Blocks is time consuming and expensive. Many groups in the EU are following a model like you propose, but in the US you simply can't get funding for that business model.
@edolnx How does hiding the interface make it harder to compete?
@alwayscurious another company would need to violate the DMCA to reverse engineer the software, which is a huge risk and liability. So no company does, thus limiting your competition
@edolnx Why does allowing the user to run their own code make the device less valuable? I really don’t understand.
@alwayscurious end users are not in the value chain. IP Vendor, SoC integrator, and Tier 1 Customer are the value chain. Everything else is side effects.
@edolnx Why does allowing the user to run their own code decrease the value, instead of not changing it?
@alwayscurious because many if these devices tie to a saas and using the device without the service lowers the value of the company who sold you the device. This is why Sony pulled Linux support from the PS3, for example.