Compatibilidad con la salida de pantalla y eventos ACPI

Un enfoque completo para la configuración del sistema y el control de energía del dispositivo se integra en Windows, en función de la especificación advanced Configuration and Power Interface (ACPI). Windows admite funcionalidades que pueden usar los controladores para administrar la configuración y la potencia de los dispositivos de salida de pantalla. Para obtener más información, consulte la especificación ACPI en el sitio web acpi.

Requisitos del BIOS para admitir dispositivos de salida de pantalla

El controlador de minipuerto de pantalla o los métodos ACPI expuestos por el BIOS del sistema admiten la configuración de los dispositivos de salida de pantalla. Se llama a la función DxgkDdiNotifyAcpiEvent para notificar al controlador de miniporte de pantalla los eventos ACPI. Por ejemplo, cuando el usuario presiona el método abreviado de teclado para el conmutador de dispositivo de salida, se llama a la función DxgkDdiNotifyAcpiEvent con ACPI_NOTIFY_CYCLE_DISPLAY_HOTKEY notificación y un tipo de solicitud de DXGK_ACPI_CHANGE_DISPLAY_MODE. Como resultado, el sistema operativo llama a la función DxgkDdiRecommendFunctionalVidPn para consultar el dispositivo de salida de pantalla seleccionado.

Los siguientes alias para la salida de presentación ACPI se definen en Dispmprt.h:

  • ACPI_METHOD_DISPLAY_DOD: enumera todos los dispositivos conectados al adaptador de pantalla. Este método es necesario si el controlador integrado admite el cambio de dispositivos de salida. Este es el nombre de alias del método DOD_ definido por la especificación ACPI.
  • ACPI_METHOD_DISPLAY_DOS: indica que el firmware del sistema es capaz de cambiar automáticamente la salida de pantalla activa. Este es el nombre de alias del método SOD_ definido por la especificación ACPI. Estos son los parámetros permitidos:
    • ACPI_ARG_ENABLE_SWITCH_EVENT. Indica que el firmware del sistema no debe cambiar automáticamente el dispositivo de salida de pantalla activo. En su lugar, debe guardar el cambio deseado en las variables de estado asociadas a cada dispositivo de salida de pantalla y generar un evento de modificador de pantalla. El sistema operativo puede consultar el estado activo de un dispositivo llamando al método ACPI_METHOD_OUTPUT_DGS.
    • ACPI_ARG_ENABLE_AUTO_SWITCH. Indica que el firmware del sistema debe cambiar automáticamente el dispositivo de salida de pantalla activo sin interactuar con el sistema operativo. No genera un evento de modificador de pantalla.
    • ACPI_ARG_DISABLE_SWITCH_EVENT. Indica que el firmware del sistema no debe realizar ninguna acción; es decir, ni cambiar el dispositivo de salida ni notificar al sistema operativo. Los valores devueltos por el método ACPI_METHOD_OUTPUT_DGS están bloqueados.
  • ACPI_METHOD_OUTPUT_DCS: devuelve el estado de un dispositivo de salida de pantalla. Este es el nombre de alias del método CSD_ definido por la especificación ACPI.
  • ACPI_METHOD_OUTPUT_DGS: comprueba si el estado de un dispositivo de salida de pantalla está activo. Este es el nombre de alias del método SGD_ definido por la especificación ACPI.
  • ACPI_METHOD_OUTPUT_DSS: establece el estado de un dispositivo de salida de pantalla en activo o inactivo. Este es el nombre de alias del método SSD_ definido por la especificación ACPI. El sistema operativo administra esta acción para evitar parpadear.
  • ACPI_METHOD_DISPLAY_GPD: consulta la entrada CMOS para determinar qué dispositivo de vídeo se publica en tiempo de arranque. Este es el nombre de alias del método DPG_ definido por la especificación ACPI.
  • ACPI_METHOD_DISPLAY_SPD: Novedades la entrada CMOS que determina qué dispositivo de vídeo se publica en tiempo de arranque. Este es el nombre de alias del método DPS_ definido por la especificación ACPI.
  • ACPI_METHOD_DISPLAY_VPO: determina qué opciones de vídeo se implementan. Este es el nombre de alias del método OPV_ definido por la especificación ACPI.

Eventos asincrónicos externos

El sistema operativo debe recibir notificaciones sobre eventos asincrónicos externos que afectan a los dispositivos de salida de pantalla. Las siguientes notificaciones y tipos de solicitud relacionados se definen en Dispmprt.h y se usan en la función DxgkDdiNotifyAcpiEvent .

  • ACPI_NOTIFY_CYCLE_DISPLAY_HOTKEY: notifica al sistema operativo que el usuario ha presionado el método abreviado de teclado de visualización de ciclo.
  • ACPI_NOTIFY_NEXT_DISPLAY_HOTKEY: notifica al sistema operativo que el usuario ha presionado el siguiente método abreviado de teclado para mostrar.
  • ACPI_NOTIFY_PREV_DISPLAY_HOTKEY: notifica al sistema operativo que el usuario ha presionado el método abreviado de teclado de pantalla anterior.

Nota Las notificaciones anteriores dependen del control del evento causado por el usuario al presionar los métodos abreviados de teclado.

A continuación se muestran los tipos de solicitudes que el controlador de miniporte de pantalla puede realizar en el sistema operativo.

  • DXGK_ACPI_CHANGE_DISPLAY_MODE: solicita iniciar un cambio de modo en la nueva red de vídeo activo (VidPN) recomendada.
  • DXGK_ACPI_POLL_DISPLAY_CHILDREN: solicita sondear la conectividad de los elementos secundarios del adaptador de pantalla.

Nota Las solicitudes anteriores son los valores del parámetro AcpiFlags devuelto por la función DxgkDdiNotifyAcpiEvent .

Compatibilidad con controles de brillo en paneles de pantalla integrados