To view parent comment, click here.
To read all comments associated with this story, please click here.
There are two main ACPI "compilers": Intel's reference ACPI-CA used by the BSDs and Linux, and Microsoft's. The Intel compiler is very strict. Microsoft's is not. Since most motherboard manufacturer's target Windows, they use the MS ACPI compiler and can be very lax in their compliance. They'll still have an "ACPI-compliant" board ... but it only works with Windows.
The Intel implementation is available for anyone to use, while the MS one obviously isn't.
The Intel compiler is stricter about enforcing the specifications, but the Linux interpreter (almost entirely written by Intel) will correctly interpret almost all code produced by the Microsoft compiler. Be conservative in what you emit and liberal in what you accept, and so on. The use of the Microsoft compiler really isn't the problem in most cases.






Member since:
2005-07-08
Notice that the Linux ACPI implementation is written and maintained by two or three or maybe even more Intel guys.
Intel was who invented ACPI. Still they can't write ACPI code that works 100% with the hardware made out there. Even Intel itself has released (at least in the past) chipsets etc. that weren't 100% ACPI compliant.
ACPI is a crappy standard, and vendors only test their hardware against Windows. That makes the Linu implementation harder.