Linked by Eugenia Loli-Queru on Fri 13th Apr 2007 11:19 UTC
Microsoft "It seems unfortunate if we do this work and get our partners to do the work and the result is that Linux works great without having to do the work" said Bill Gates in 1999 (pdf). While we don't know if he actually managed to do just that (creating problems to other OSes to work well with ACPI), but if he did, it is a good explanation why ACPI has been flaky on the majority of x86 computers with anything else other than Windows (the older, APM standard, seemed more compatible with alternative OSes).
Thread beginning with comment 230517
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: why?
by diegocg on Fri 13th Apr 2007 13:43 UTC in reply to "why?"
diegocg
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.

Reply Parent Bookmark Score: 3

RE[2]: why?
by phoenix on Fri 13th Apr 2007 19:18 in reply to "RE: why?"
phoenix Member since:
2005-07-11

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.

Reply Parent Bookmark Score: 3

RE[3]: why?
by mjg59 on Sat 14th Apr 2007 01:28 in reply to "RE[2]: why?"
mjg59 Member since:
2005-10-17

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.

Reply Parent Bookmark Score: 1