통합 디스플레이 패널에서 밝기 컨트롤 지원

이 문서에서는 통합 디스플레이 패널에서 밝기 컨트롤을 지원하기 위한 메커니즘 및 요구 사항을 설명합니다. 시스템 제공 모니터 드라이버(Monitor.sys), 커널 모드 디스플레이 미니포트 드라이버(KMD) 및 ACPI 메서드를 통한 BIOS 간의 협업을 간략하게 설명합니다. KMD 또는 ACPI를 통해 사용자가 디스플레이의 밝기를 쉽게 조정하여 전력 사용량을 최적화하면서 컴퓨팅 환경을 향상시킬 수 있도록 하는 것이 목표입니다.

Monitor.sys 밝기 제어 지원

밝기 컨트롤은 Monitor.sys 구현됩니다. 이 시스템 제공 모니터 드라이버는 다음과 같은 지원을 제공합니다.

  • WMI(Windows Management Instrumentation) 인터페이스를 구현하여 애플리케이션(예: 운영 체제의 밝기 슬라이더)이 밝기 수준과 상호 작용할 수 있도록 합니다.

  • 밝기 수준이 전원 정책의 변경에 응답하도록 DPPE(디바이스 전원 정책 엔진)에 등록합니다.

  • ACPI(고급 구성 및 전원 인터페이스)에 등록하여 ACPI 기반 밝기 바로 가기 키를 처리합니다. 레거시 Windows 2000 디스플레이 드라이버 모델과의 호환성을 위해 모니터 드라이버는 IOCTL 기반 밝기 컨트롤을 구현합니다.

커널 모드 디스플레이 미니포트 드라이버(KMD) 또는 BIOS에서 노출하는 ACPI 메서드는 통합 디스플레이 패널의 밝기 변경을 지원할 수 있습니다. 컴퓨터(D3DKMDT_VOT_INTERNAL 내부적으로 연결하는 출력 기술이 있는 것으로 표시된 첫 번째 비디오 대상의 경우 모니터 드라이버는 KMD의 DxgkDdiQueryInterface 함수를 호출하여 다음 인터페이스를 모두 쿼리합니다.

KMD가 적어도 밝기 제어 인터페이스를 지원하지 않는 경우 모니터 드라이버는 ACPI를 사용하여 자식 디바이스의 _BCL, _BCM 및 _BQC 메서드를 쿼리합니다. 이러한 방법에 대한 자세한 내용은 ACPI 웹 사이트의 ACPI 사양을 참조하세요.

참고 항목

WDDM(Windows 디스플레이 드라이버 모델)에서 ACPI 식별자는 통합 디스플레이 패널을 식별하는 데 사용되지 않습니다. 이는 0x0110 식별자가 있는 디스플레이 패널만 지원하는 Windows 2000 디스플레이 드라이버 모델과 다릅니다.

KMD 또는 BIOS에 노출된 ACPI 메서드가 밝기 컨트롤을 지원하는 경우 모니터 드라이버는 밝기 바로 가기 키의 ACPI 알림을 등록합니다. 모니터 드라이버에 바로 가기 키 알림에 대한 신호를 보낼 수 있는 대체 메커니즘이 없습니다. 모니터 드라이버가 밝기 제어 메커니즘을 사용할 수 없거나 KMD가 밝기 제어 인터페이스를 제공하지만 DxgkDdiGetPossibleBrightness 함수에 대한 호출에 실패하는 경우 모니터 드라이버는 밝기 컨트롤을 지원하지 않습니다.

밝기 수준

밝기 수준은 0부터 100까지의 범위에서 싱글 바이트 값으로 표현됩니다. 여기서 0은 꺼져 있고 100은 랩톱 컴퓨터에서 지원하는 최대 밝기입니다. 모든 노트북 컴퓨터는 최대 밝기 수준 100을 보고해야 합니다. 그러나 랩톱 컴퓨터는 0 수준을 지원할 필요가 없습니다.

0에서 100까지의 값에 대한 유일한 요구 사항은 큰 값이 더 높은 밝기 수준을 나타내야 한다는 것입니다. 수준 사이의 증가는 균일할 필요가 없으며 랩톱 컴퓨터는 최대 101개 수준까지 다양한 고유 값을 지원할 수 있습니다. 하드웨어 수준을 밝기 수준 값 범위에 매핑하는 방법을 결정해야 합니다. 그러나 KMD의 DxgkDdiGetPossibleBrightness 함수에 대한 호출은 하드웨어에서 지원하는 것보다 더 많은 밝기 수준 값을 보고해서는 안 됩니다.

BIOS에 의한 자동 밝기 변경 사용 안 함으로 설정

KMD는 인수의 비트 2를 _DOS 메서드로 설정해야 합니다. 이 비트를 설정하면 시스템 BIOS 및 모니터 드라이버에서 디스플레이 패널 밝기를 모두 제어할 경우 발생할 수 있는 문제를 방지할 수 있습니다. _DOS 메서드 및 해당 인수에 대한 자세한 내용은 ACPI 사양을 참조하세요. 비트 2를 설정하면 시스템 BIOS에서 자동 밝기 변경을 수행해서는 안 된다는 알림이 표시됩니다.

밝기 컨트롤을 지원하기 위한 BIOS 요구 사항

KMD가 최적의 방식으로 통합 패널 밝기 제어를 지원하려면 시스템 BIOS가 ACPI를 통해 다음 항목을 제공해야 합니다.

밝기 제어 메서드

통합 패널 디바이스는 ACPI 밝기 제어 방법(_BCL, _BCM 및 _BQC)을 지원해야 합니다. _BCL 및 _BCM ACPI 사양의 버전 1.0b 이후 변경되지 않습니다. ACPI 3.0 사양의 B.6.2 및 B.6.3 섹션에서 해당 정의를 찾을 수 있습니다. _BQC 선택 사항이며 섹션 B.6.4의 ACPI 3.0 사양에 정의되어 있습니다. 밝기 수준에 대한 정의는 밝기 수준을 참조하세요.

다음은 Dispmprt.h에 정의된 ACPI 밝기 제어 메서드의 별칭입니다.

  • ACPI_METHOD_OUTPUT_BCL - Windows에서 디스플레이 출력 디바이스에서 지원하는 밝기 수준 목록을 쿼리할 수 있습니다. 이 방법은 통합된 LCD가 있고 밝기 수준을 지원하는 경우에 필요합니다.

  • ACPI_METHOD_OUTPUT_BCM - Windows에서 디스플레이 출력 디바이스의 밝기 수준을 설정할 수 있습니다. Windows는 ACPI_METHOD_OUTPUT_BCL 메서드에서 보고한 수준만 설정합니다. ACPI_METHOD_OUTPUT_BCL 메서드를 구현하는 경우 ACPI_METHOD_OUTPUT_BCM 메서드가 필요합니다.

자동 시스템 BIOS 밝기 제어 사용 안 함으로 설정

시스템 BIOS는 자동 시스템 BIOS 밝기 변경을 사용하지 않도록 설정하기 위해 그래픽 어댑터의 _DOS 메서드에 인수의 비트 2 설정을 지원해야 합니다. 이 비트는 이 메서드의 비트에 대해 이전에 정의된 값에 추가됩니다. 이 비트에 대한 자세한 내용은 ACPI 3.0 사양의 B.4.1 섹션을 참조하세요.

이 비트가 지원되지 않으면 모니터 드라이버와 시스템 BIOS가 모두 밝기 수준을 변경하여 밝기가 깜박일 수 있습니다. 또한 밝기를 사용자가 요청한 값이 아닌 값으로 설정할 수도 있습니다.

Dispmprt.h정의된 ACPI_METHOD_DISPLAY_DOS ACPI 자동 밝기 제어 메서드의 별칭입니다. 이 별칭은 시스템 BIOS가 활성 디스플레이 출력을 자동으로 전환하거나 LCD의 밝기를 제어할 수 있음을 나타냅니다. 해당 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
ACPI_ARG_ENABLE_AUTO_LCD_BRIGHTNESS 전원이 AC에서 DC로 변경되면 시스템 BIOS는 LCD의 밝기 수준을 자동으로 제어해야 합니다.
ACPI_ARG_DISABLE_AUTO_LCD_BRIGHTNESS 전원이 AC에서 DC로 변경되면 시스템 BIOS가 LCD의 밝기 수준을 자동으로 제어해서는 안 됩니다.

밝기 바로 가기 키 알림

밝기 바로 가기 키 알림은 그래픽 어댑터가 아닌 통합 디스플레이 패널 디바이스를 대상으로 해야 합니다.

다음 알림은 Dispmprt.h정의된 대로 지원됩니다.

알림 의미
ACPI_NOTIFY_CYCLE_BRIGHTNESS_HOTKEY 사용자가 디스플레이 밝기를 순환하기 위해 핫키를 눌렀습니다.
ACPI_NOTIFY_INC_BRIGHTNESS_HOTKEY 사용자가 표시 밝기를 높이기 위해 바로 가기 키를 눌렀습니다.
ACPI_NOTIFY_DEC_BRIGHTNESS_HOTKEY 사용자가 표시 밝기를 줄이려면 바로 가기 키를 눌렀습니다.
ACPI_NOTIFY_ZERO_BRIGHTNESS_HOTKEY 사용자가 표시 밝기를 0으로 줄이기 위해 바로 가기 키를 눌렀습니다.

이러한 바로 가기 키 알림은 ACPI 3.0 사양에 새로 추가되었으며 B.7 섹션에 설명되어 있습니다. 일반적으로 랩톱 컴퓨터는 이러한 바로 가기 키 알림을 모두 지원하지 않습니다.

밝기 수준을 높이고 줄이는 경우 모니터 드라이버의 기본 동작은 다음과 같습니다.

  • ACPI_NOTIFY_INC_BRIGHTNESS_HOTKEY 경우 사용 가능한 다음 5% 단계 수준에 도달할 때까지 밝기를 이전 밝기 수준보다 5% 이상 증가합니다(5, 10, 15, ..., 95, 100).

  • ACPI_NOTIFY_DEC_BRIGHTNESS_HOTKEY 경우 사용 가능한 다음 5% 단계 수준에 도달할 때까지 밝기를 이전 밝기 수준보다 5% 이상 감소합니다(100, 95, ..., 15, 10, 5).

바로 가기 키를 사용하여 증분 또는 감소하면 다음 예제와 같이 밝기 수준에서 비대칭 패턴을 만들 수 있습니다.

  • 0, 1, 5, 10, ..., 95, 100으로 지정된 밝기 제어 수준을 _BCL 사용 가능

    • ACPI_NOTIFY_INC_BRIGHTNESS_HOTKEY 알림을 사용한 결과:
      0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100

    • ACPI_NOTIFY_DEC_BRIGHTNESS_HOTKEY 알림을 사용한 결과:
      100, 95, 90, 85, 80, 75, 70, 65, 60, 55, 50, 45, 40, 35, 30, 25, 20, 15, 10, 5, 0

  • 1, 5, 10, ..., 95, 100으로 지정된 밝기 제어 수준을 _BCL 사용 가능

    • ACPI_NOTIFY_INC_BRIGHTNESS_HOTKEY 알림을 사용한 결과:
      1, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100

    • ACPI_NOTIFY_DEC_BRIGHTNESS_HOTKEY 알림을 사용한 결과:
      100, 95, 90, 85, 80, 75, 70, 65, 60, 55, 50, 45, 40, 35, 30, 25, 20, 15, 10, 5, 1

    후자의 예제에서 1은 사용 가능한 마지막 값이므로 드라이버는 이전 값 5와 다른 5% 단위 미만이더라도 밝기 수준을 1로 설정합니다.

IHV 또는 OEM은 다음 레지스트리 키에서 MinimumStepPercentage에 대한 DWORD 값을 설정하여 Windows Vista 및 Windows 7에서 기본 모니터 드라이버 동작을 변경할 수 있습니다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\monitor\Parameters\

디스플레이 출력 및 ACPI 이벤트 지원