Archive for June, 2009|Monthly archive page
ACPI has always been a problem for the Linux kernel. Be it suspend and resume, power management, screen brightness or any other function provided by ACPI; it never really worked for and with Linux. The reason for that is the immense size of the ACPI specification. And the fact that almost ever manufacturer has a private interpretation of said standard.
The solution for Linux, up to now, was to stop being Linux and pretend to be Windows, e.g., emulate all the bugs and implementation details of Windows’ APCI implementation and hope that it somehow works. Most of the time it did. Sometimes it didn’t. And instead of blaming the manufacturers and Microsoft for not adhering to the standards, Linux was blamed for trying to implement the ACPI standard to the letter.
However; this is – hopefully – going to change. For Intel released a new firmware interface (providing all the functionality of ACPI), with a reference implementation for – you guessed it – the Linux kernel. And whereas the APCI standard (version 4.0 was released only recently) spans over 727 pages (http://www.acpi.info/spec.htm), the new firmware interface (http://simplefirmware.org/) needs only 9 pages in its current incarnation (draft 0.6).
Now SFI is not going to change the world overnight. But I hope to see SFI gaining traction within the next three to five years. I’m crossing my fingers.