HomeFreeBSD

acpi: add Darwin OSI quirk for Apple Mac hardware

Description

acpi: add Darwin OSI quirk for Apple Mac hardware

Mac firmware hides the Intel integrated GPU (iGPU) on dual GPU x86
systems, i.e., with AMD/NVIDIA dGPUs, when the Darwin OSI is not
installed via ACPI.

Prior to this change, FreeBSD always used the dGPU. This is fine in
practice, but consumed more power than when the iGPU is used,
resulting in reduced battery life.

Linux handles this in drivers/acpi/osi.c by detecting Apple
hardware via DMI, disabling all Windows OSI strings, and
by explicitly installing the Darwin OSI ACPI handler. This change
applies equivalent logic to the acpi(4) driver on FreeBSD.

This feature can be enabled/disabled using the
hw.acpi.apple_darwin_osi tunable. Setting this tunable to 0
restores the previous behavior by explicitly disabling the added
support.

Reviewed by: obiwac, ngie, adrian
Differential Revision: https://reviews.freebsd.org/D54762

(cherry picked from commit 052a791b00555805f19ccc38a04d42d48b54104b)

Details

Provenance
guest-seurosAuthored on Feb 3 2026, 1:43 AM
ngieCommitted on Feb 22 2026, 4:17 AM
Reviewer
obiwac
Differential Revision
D54762: acpi: add Darwin OSI quirk for Apple Mac hardware
Parents
rG640c1ee72d2a: Remove example tests when MK_EXAMPLES=no
Branches
Unknown
Tags
Unknown