Поделиться через


Поддержка выходных данных отображения и событий ACPI

Комплексный подход к настройке системы и управлению питанием устройств встроен в Windows на основе спецификации Advanced Configuration and Power Interface (ACPI). Windows поддерживает возможности, которые могут использоваться драйверами для управления конфигурацией и мощностью устройств вывода дисплея. Дополнительные сведения см. в спецификации ACPI на веб-сайте ACPI.

Требования BIOS для поддержки устройств вывода отображения

Драйвер минипорта дисплея или методы ACPI, предоставляемые bios системы, поддерживают конфигурацию устройств вывода отображения. Функция DxgkDdiNotifyAcpiEvent вызывается для уведомления драйвера мини-порта дисплея о событиях ACPI. Например, когда пользователь нажимает сочетание клавиш для переключателя устройства вывода, вызывается функция DxgkDdiNotifyAcpiEvent с уведомлением ACPI_NOTIFY_CYCLE_DISPLAY_HOTKEY и типом запроса DXGK_ACPI_CHANGE_DISPLAY_MODE. В результате операционная система вызывает функцию DxgkDdiRecommendFunctionalVidPn для запроса выбранного устройства вывода дисплея.

В Dispmprt.h определены следующие псевдонимы для выходных данных отображения ACPI:

  • ACPI_METHOD_DISPLAY_DOD — перечисляет все устройства, подключенные к адаптеру дисплея. Этот метод является обязательным, если интегрированный контроллер поддерживает переключение устройств вывода. Это имя псевдонима для метода DOD_, определенного спецификацией ACPI.
  • ACPI_METHOD_DISPLAY_DOS — указывает, что встроенное ПО системы может автоматически переключать активные выходные данные дисплея. Это имя псевдонима для метода SOD_, определенного спецификацией ACPI. Ниже приведены допустимые параметры.
    • ACPI_ARG_ENABLE_SWITCH_EVENT. Указывает, что встроенное ПО системы не должно автоматически переключать активное устройство вывода дисплея. Вместо этого необходимо сохранить требуемое изменение в переменных состояния, связанных с каждым устройством вывода дисплея, и создать событие переключения дисплея. Операционная система может запрашивать активное состояние устройства, вызывая метод ACPI_METHOD_OUTPUT_DGS.
    • ACPI_ARG_ENABLE_AUTO_SWITCH. Указывает, что встроенное ПО системы должно автоматически переключать активное устройство вывода дисплея без взаимодействия с операционной системой. Он не создает событие переключения дисплея.
    • ACPI_ARG_DISABLE_SWITCH_EVENT. Указывает, что встроенное ПО системы не должно выполнять никаких действий; то есть, ни переключение устройства вывода, ни уведомление операционной системы. Значения, возвращаемые методом ACPI_METHOD_OUTPUT_DGS, блокируются.
  • ACPI_METHOD_OUTPUT_DCS — возвращает состояние устройства вывода дисплея. Это имя псевдонима для метода CSD_, определенного спецификацией ACPI.
  • ACPI_METHOD_OUTPUT_DGS — проверяет, активно ли состояние устройства вывода дисплея. Это имя псевдонима для метода SGD_, определенного спецификацией ACPI.
  • ACPI_METHOD_OUTPUT_DSS — задает состояние устройства вывода дисплея как активное или неактивное. Это имя псевдонима для метода SSD_, определенного спецификацией ACPI. Операционная система управляет этим действием, чтобы избежать мерцания.
  • ACPI_METHOD_DISPLAY_GPD — запрашивает запись CMOS, чтобы определить, какое видеоустройство публикуется во время загрузки. Это имя псевдонима для метода DPG_, определенного спецификацией ACPI.
  • ACPI_METHOD_DISPLAY_SPD — Обновления запись CMOS, которая определяет, какое видеоустройство размещается во время загрузки. Это имя псевдонима для метода DPS_, определенного спецификацией ACPI.
  • ACPI_METHOD_DISPLAY_VPO — определяет, какие параметры видео реализованы. Это имя псевдонима для метода OPV_, определенного спецификацией ACPI.

Внешние асинхронные события

Операционная система должна получать уведомления о внешних асинхронных событиях, влияющих на устройства вывода дисплея. Следующие уведомления и связанные типы запросов определяются в Dispmprt.h и используются в функции DxgkDdiNotifyAcpiEvent .

  • ACPI_NOTIFY_CYCLE_DISPLAY_HOTKEY — уведомляет операционную систему о том, что пользователь нажал сочетание клавиш для отображения цикла.
  • ACPI_NOTIFY_NEXT_DISPLAY_HOTKEY — уведомляет операционную систему о том, что пользователь нажал следующее сочетание клавиш.
  • ACPI_NOTIFY_PREV_DISPLAY_HOTKEY — уведомляет операционную систему о том, что пользователь нажал предыдущее сочетание клавиш.

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

Ниже приведены типы запросов, которые драйвер мини-порта дисплея может выполнять к операционной системе.

  • DXGK_ACPI_CHANGE_DISPLAY_MODE — запросы на инициализацию изменения режима для новой рекомендуемой активной сети видеотрансляций (VidPN).
  • DXGK_ACPI_POLL_DISPLAY_CHILDREN — запросы на опрос подключения дочерних элементов видеоадаптера.

Примечание Предыдущие запросы представляют собой значения параметра AcpiFlags , возвращаемые функцией DxgkDdiNotifyAcpiEvent .

Поддержка элементов управления яркостью на интегрированных панелях дисплея