To read all comments associated with this story, please click here.
"One can load a custom fixed DSDT table into the kernel at boot time [...] They have several fixed DSDT's available as well and there's plenty of documentation to learn the AML language for fixing your own table."
FreeBSD allows loading a custom dsdt since... version 5? Simply insert
acpi_dsdt_load="YES"
acpi_dsdt_type="acpi_dsdt"
acpi_dsdt_name="/boot/my_custom_dsdt.aml"
into /boot/loader.conf and test.
"I got my laptop with ACPI working that way
"
I was lucky to disable ACPI loading on my "old" laptop and have APM running instead. Impossible today, because APM does not exist anymore.
I remember that, when I got my Toshiba Centrino laptop in 2003, I had to make a custom DSDT in order to have any sort of ACPI working in Linux.
Later on, I just have to add a workaround in the kernel. Guess what that was?
The trick was to change the Operating System string in the Linux acpi.h to be "Windows XX". As long as it's a 10-letter phrase with the starting word "Windows" on it the laptop would happy comply with the Linux ACPI implementation.
Coincidence? I don't think so.






Member since:
2006-04-28
The reason most ACPI-implementations are horrible and don't work well with non-MS OS's is that Microsoft has been so friendly to create an easy DSDT compiler (easy because it doesn't complain about bugs & warnings, perfect for lazy programmers).

The DSDT (Differentiated System Description Table) is like the index of the a BIOS's ACPI functions. Now it so happens to be that MS's DSDT compiler generates non-100%-ACPI compliant & bugged code which only Windows can understand and work with.
Intel has a free DSDT compiler that does work 100% compliant, why are the OEM manufacturers so bloody stupid,you get one for free, why buy MS's?
One can load a custom fixed DSDT table into the kernel at boot time (see http://acpi.sourceforge.net/dsdt/index.php) for more info. They have several fixed DSDT's available as well and there's plenty of documentation to learn the AML language for fixing your own table.
I got my laptop with ACPI working that way