Compartir a través de


Compatibilidad con controles de brillo para conectores de pantalla externos

Algunos sistemas OEM tienen pantallas internas que están conectadas mediante conectores externos, como HDMI. Para esas configuraciones, Windows tiene la capacidad de designar exactamente un panel de pantalla para admitir el control de brillo del software del sistema.

Esta característica solo permite a los OEM indicar a Windows que una pantalla de conector externo admite el control de brillo. Los OEM todavía deben implementar el control de brillo de hardware e integrarlo con el controlador de gráficos como lo harían para una pantalla de conector integrada. Esta característica tampoco admite la capacidad de controlar el brillo del panel individual en varios paneles de pantalla.

Requisitos generales

Use el valor del Registro DWORD "BrightnessControl". La ruta de acceso del Registro es HKLM\SYSTEM\CurrentControlSet\Control\Class{4D36E96E-E325-11CE-BFC1-08002BE10318}\XXXX, donde XXXX es para la pantalla individual de destino. En la ilustración siguiente se muestra el diseño de este valor.

Diagrama que muestra el diseño de bits del valor del Registro de control de brillo.

  • El primer bit de este valor del Registro define la compatibilidad con el control de brillo del monitor nointernal.
  • El segundo bit define una invalidación ACPI que obliga a utilizar el brillo ACPI.
  • Los 30 bits restantes están reservados y deben ser cero.

Los OEM que deseen habilitar el control de brillo en un panel nointernal deben enviar su propio monitor.inf (consulte el inf de ejemplo en este artículo) y establecer correctamente este valor del Registro.

Los OEM solo deben definir el valor del Registro "BrightnessControl" cuando sea necesario.

La invalidación del control de compatibilidad de brillo (el primer bit) solo debe usarse en un sistema que no tenga una pantalla interna en un tipo de conector interno en ningún adaptador de pantalla. Si un sistema tiene una pantalla interna en un tipo de conector interno, la primera pantalla enumerada recibe el control de brillo.

Invalidación de brillo ACPI

La invalidación de brillo ACPI no es el mecanismo preferido para el control de brillo, pero se incluye por integridad, en situaciones en las que no hay ninguna otra opción para el control de brillo.

La invalidación ACPI (el segundo bit) es válida tanto en pantallas internas como externas, pero solo se debe aplicar a exactamente una pantalla en el sistema.

La invalidación ACPI está pensada para usarse con la invalidación de destino de brillo y solo cuando el controlador de pantalla aún no proporciona compatibilidad con el brillo. Esto permite a los OEM implementar su propio control de retroiluminación de pantalla a través de ACPI.

Un uso secundario para la invalidación ACPI es durante el desarrollo del sistema operativo o controlador cuando se produce un error en la compatibilidad con el brillo en los sistemas móviles, lo que puede ocurrir por varias razones comunes. En este caso, la invalidación ACPI solo está pensada como solución provisional; El control de brillo del controlador debe utilizarse para el producto terminado.

En caso de que se establezca este valor del Registro para conectores externos, el sistema operativo limita el sistema a un control de brillo expuesto.

Monitor de ejemplo. Fragmento de archivo INF

En el siguiente ejemplo incompleto INF se describe la información anterior:

[Manufacturer]
%MONOEM%=MONOEM,NTx86,NTAMD64

[MONOEM]  
%AIOHDMI_1%  = AIO_HDMI_1, Monitor\OEM1001
%AIOHDMI_2%  = AIO_HDMI_2, Monitor\OEM1002
%Laptop%  = Laptop_1, Monitor\OEM2001

[MONOEM.NTx86]
%AIOHDMI_1%  = AIO_HDMI_1, Monitor\OEM1001
%AIOHDMI_2%  = AIO_HDMI_2, Monitor\OEM1002
%Laptop%  = Laptop_1, Monitor\OEM2001

[MONOEM.NTAMD64]  
%AIOHDMI_1%  = AIO_HDMI_1, Monitor\OEM1001
%AIOHDMI_2%  = AIO_HDMI_2, Monitor\OEM1002
%Laptop%  = Laptop_1, Monitor\OEM2001

[ControlFlags]
ExcludeFromSelect = *

[AIO_HDMI_1]
AddReg= AIO_HDMI_1_Driver_Brightness

[AIO_HDMI_2]
AddReg= AIO_HDMI_2_ACPI_Brightness

[Laptop_1]
AddReg=Laptop_ACPI_Driver_Brightness


; Override brightness to control the HDMI built into the all-in-one system under graphics driver control
[AIO_HDMI_1_Driver_Brightness]
HKR,,BrightnessControl,%REG_DWORD%,%OVERRIDE_BRIGHTNESS_TARGET%

; Override brightness to control the HDMI built into the all-in-one system under ACPI firmware control
[AIO_HDMI_2_ACPI_Brightness]
HKR,,BrightnessControl,%REG_DWORD%,%OVERRIDE_BRIGHTNESS_TARGET_AND_CONTROL_TO_ACPI%

; Override brightness to control the internal panel under ACPI firmware control instead of the driver
[Laptop_ACPI_Driver_Brightness]
HKR,,BrightnessControl,%REG_DWORD%,%OVERRIDE_BRIGHTNESS_CONTROL_TO_ACPI%

[Strings]
; Non-localizable
REG_DWORD = 0x00010001
OVERRIDE_BRIGHTNESS_TARGET = 1
OVERRIDE_BRIGHTNESS_CONTROL_TO_ACPI = 2
OVERRIDE_BRIGHTNESS_TARGET_AND_CONTROL_TO_ACPI = 3

; Localizable
MONOEM = “Manufacturer name”
AIOHDMI_1  = “AIO monitor name one”
AIOHDMI_2  = “AIO monitor name two”
Laptop  = “Laptop monitor name”

Nota

Los OEM deben proporcionar un archivo monitor.inf que tenga el identificador de hardware adecuado para asegurarse de que no se use microsoft monitor.inf genérico.