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

Details

Provenance
guest-seurosAuthored on Feb 3 2026, 1:43 AM
adrianCommitted on Feb 3 2026, 1:51 AM
Reviewer
obiwac
Differential Revision
D54762: acpi: add Darwin OSI quirk for Apple Mac hardware
Parents
rGfedc9746bd37: acpi_spmc: Register SPMC suspend/resume routines
Branches
Unknown
Tags
Unknown