Какие драйверы регулируют яркость экрана в macOS?

Я пытаюсь создать kext, который позволит мне снизить минимальную яркость дисплея. Какие драйверы будут иметь отношение к этому? Будет ли это драйвер комплекта ввода/вывода?

Это относится к внутреннему дисплею моего MacBook Pro 14,1 под управлением macOS 10.14.4 с интегрированной графикой Intel Iris Plus Graphics 640.


person skrooms    schedule 27.04.2019    source источник


Ответы (1)


Управляющим драйвером является расширение ядра «AppleBacklight.kext».

В общем: Подсветка дисплея обычно (и это случай на MacBook Pro) управляется сигналом PWM (широтно-импульсная модуляция) от 0% до 100%. Контроллер, который может быть графическим процессором или выделенной микросхемой, посылает ШИМ-сигнал в соответствии с уровнем яркости, выбранным пользователем. В некоторых случаях это влияет на датчик внешней освещенности.

Контроллер работает, разделяя используемый диапазон ШИМ на несколько настроек (например, 20 отдельных шагов). Весь диапазон ШИМ обычно недоступен, так как подсветка имеет разные минимально и максимально допустимые диапазоны ШИМ. Если вы выходите за пределы этого диапазона, вы нарушаете спецификации и можете повредить дисплей.

На современных компьютерах Intel диапазон ШИМ хранится в SSDT (таблице дескрипторов системных служб), доступной через ACPI (интерфейс расширенной настройки и питания). Эти таблицы обычно выгружаются в файлы .aml/.dsl. Вы будете смотреть, например, на параметры LMIN и LMAX (LMIN/LMAX = Backlight PWM Min/Max).

Вы также можете рассмотреть возможность замены расширения ядра подсветки по умолчанию, например, на это:

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

Он предназначен только для использования с Hackintosh, но он управляет тем же встроенным графическим процессором Intel, что и у вас.

Вот другое расширение ядра, использующее описанный выше метод ACPI для управления подсветкой:

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

Опять же, он предназначен для Хакинтошей.

Если вы хотите попробовать сбросить и исправить SSDT вручную, вы можете ознакомиться с этим руководством:

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

Еще раз обратите внимание, что он предназначен для использования с Hackintosh.

В общем, я бы не рекомендовал пытаться изменить минимальную яркость дисплея на оригинальном оборудовании Apple. Вы рискуете повредить схемы - но, скорее всего, вы просто получите черный экран, когда уменьшите яркость ниже минимума.

person jksoegaard    schedule 28.04.2019