哪些驱动程序处理 macOS 中的屏幕亮度?

Which drivers deal with screen brightness in macOS?

我正在尝试创建一个允许我降低最低显示亮度的 kext。哪些驱动程序与此相关?这会是 I/O 套件驱动程序吗?

这与我的 MacBook Pro 14,1 运行 macOS 10.14.4 使用集成 Intel Iris Plus Graphics 640 的内部显示屏有关。

控制的驱动程序是 "AppleBacklight.kext" 内核扩展。

一般情况下:显示屏背光通常(MacBook Pro 就是这种情况)由 0% 到 100% 的 PWM(脉冲宽度调制)信号控制。控制器 - 可以是 GPU 或专用 IC - 根据用户选择的亮度级别发出 PWM 信号。在某些情况下,这会影响环境光传感器。

控制器通过将可用的 PWM 范围划分为多个设置(例如 20 个单独的步骤)来运行。整个 PWM 范围通常不可用,因为背光具有不同的最小和最大允许 PWM 范围。如果超出该范围,则违反了规格并可能损坏显示器。

在现代英特尔计算机上,PWM 范围存储在可通过 ACPI(高级配置和电源接口)访问的 SSDT(系统服务描述符 table)中。这些 table 通常会转储到 .aml/.dsl 文件中。例如,您将查看 LMIN 和 LMAX 参数(LMIN/LMAX = 背光 PWM Min/Max)。

您也可以考虑将默认的背光内核扩展替换为例如:

https://github.com/RehabMan/OS-X-Intel-Backlight

它只能与 Hackintoshes 一起使用,但它控制着与您拥有的相同的 Intel 集成 GPU。

这里有一个不同的内核扩展,它使用上述 ACPI 方法来控制背光:

https://github.com/RehabMan/OS-X-ACPI-Backlight

同样,它适用于 Hackintoshes。

如果你想尝试手动转储和修补你的 SSDT,你可以看看这个指南:

https://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/

再次注意,它旨在与 Hackintoshes 一起使用。

一般来说,我不建议尝试更改原装 Apple 硬件的最低显示亮度。您 运行 有损坏电路的风险 - 但当您将亮度降低到最低值以下时,您很可能只会遇到黑屏。