ACPI, enabling

From FreeBSDwiki
Jump to: navigation, search

Making ACPI work in FreeBSD 5.x

Many manufacturers' motherboards have dodgy implementations of ACPI that are based on "works with Windows" as opposed to "adheres to the ACPI standard." As usual, Microsoft only pays attention to the parts of the ACPI standard they care about and ignore the rest, so FreeBSD's standards-based implementation can have some issues with some motherboards, particularly non-SMP motherboards, that were designed around Windows rather than being designed standards-compliant. Many of these boards can be made to work with ACPI, however, by creating a custom kernel with the following options:

# Do NOT make an SMP kernel
# options       SMP                     # Symmetric MultiProcessor Kernel
nodevice        apic
nodevice        smp

Note that in addition to adding "nodevice apic" and "nodevice smp", "options SMP" has been commented out. The GENERIC kernel in 5.2.1 has SMP on by default, and many non-SMP motherboards do not correctly identify themselves as such under ACPI - leaving you with the options of either disabling ACPI or disabling SMP and APIC. ACPI gives you lots of good stuff like power control and monitoring and more fine-grained hardware controls, so you're really better off building yourself a custom non-SMP kernel and booting with ACPI on.

See Custom Kernels if you need more information on how to find, edit, build, and install a custom kernel in general.

Personal tools