Bagikan melalui


Mendukung kontrol kecerahan pada panel tampilan terintegrasi

Artikel ini menjelaskan mekanisme dan persyaratan untuk mendukung kontrol kecerahan pada panel tampilan terintegrasi. Ini menguraikan kolaborasi antara driver monitor yang disediakan sistem (Monitor.sys), driver miniport tampilan mode kernel (KMD), dan BIOS melalui metode ACPI. Baik melalui KMD atau ACPI, tujuannya adalah untuk memastikan bahwa pengguna dapat dengan mudah menyesuaikan kecerahan tampilan mereka, meningkatkan pengalaman komputasi mereka sambil mengoptimalkan penggunaan daya.

Dukungan kontrol kecerahan di Monitor.sys

Kontrol kecerahan diimplementasikan dalam Monitor.sys. Driver monitor yang disediakan sistem ini menyediakan dukungan berikut:

  • Mengimplementasikan antarmuka Windows Management Instrumentation (WMI) untuk memungkinkan aplikasi (seperti slider kecerahan sistem operasi) berinteraksi dengan tingkat kecerahan.

  • Mendaftar dengan Device Power Policy Engine (DPPE) sehingga tingkat kecerahan merespons perubahan kebijakan daya.

  • Mendaftar dengan Konfigurasi Tingkat Lanjut dan Antarmuka Daya (ACPI) untuk memproses kunci pintasan kecerahan berbasis ACPI. Untuk kompatibilitas dengan Model Driver Tampilan Windows 2000 warisan, driver monitor mengimplementasikan kontrol kecerahan berbasis IOCTL.

Baik driver miniport tampilan mode kernel (KMD) atau metode ACPI yang diekspos oleh BIOS dapat mendukung perubahan kecerahan panel tampilan terintegrasi. Untuk target video pertama yang ditandai memiliki teknologi output yang terhubung secara internal di komputer (D3DKMDT_VOT_INTERNAL), driver monitor memanggil fungsi DxgkDdiQueryInterface KMD untuk mengkueri kedua antarmuka berikut:

  • Antarmuka Kontrol Kecerahan. GUID_DEVINTERFACE_BRIGHTNESS dan DXGK_BRIGHTNESS_INTERFACE_VERSION_1 mengidentifikasi antarmuka ini.

  • Antarmuka Kontrol Kecerahan V.2. GUID_DEVINTERFACE_BRIGHTNESS_2 dan DXGK_BRIGHTNESS_INTERFACE_VERSION_2 mengidentifikasi antarmuka ini.

Jika KMD tidak mendukung setidaknya Antarmuka Kontrol Kecerahan, driver monitor menggunakan ACPI untuk mengkueri metode _BCL, _BCM, dan _BQC pada perangkat anak. Untuk informasi selengkapnya tentang metode ini, lihat spesifikasi ACPI di situs web ACPI.

Catatan

Dalam Windows Display Driver Model (WDDM), pengidentifikasi ACPI tidak digunakan untuk mengidentifikasi panel tampilan terintegrasi. Ini berbeda dari Model Driver Tampilan Windows 2000, yang hanya mendukung panel tampilan dengan pengidentifikasi 0x0110.

Jika metode ACPI yang diekspos KMD atau BIOS mendukung kontrol kecerahan, driver monitor mendaftar untuk pemberitahuan ACPI tentang kunci pintasan kecerahan. Tidak ada mekanisme alternatif untuk memberi sinyal kepada driver monitor tentang pemberitahuan kunci pintasan. Jika driver monitor tidak dapat menggunakan mekanisme kontrol kecerahan atau jika KMD memasok antarmuka kontrol kecerahan tetapi gagal melakukan panggilan ke fungsi DxgkDdiGetPossibleBrightness , driver monitor tidak mendukung kontrol kecerahan.

Tingkat kecerahan

Tingkat kecerahan diwakili sebagai nilai byte tunggal dalam rentang dari nol hingga 100 di mana nol mati dan 100 adalah kecerahan maksimum yang didukung komputer laptop. Setiap komputer laptop harus melaporkan tingkat kecerahan maksimum 100; namun, komputer laptop tidak diperlukan untuk mendukung tingkat nol.

Satu-satunya persyaratan untuk nilai dari nol hingga 100 adalah bahwa nilai yang lebih besar harus mewakili tingkat kecerahan yang lebih tinggi. Kenaikan antar level tidak diperlukan untuk seragam, dan komputer laptop dapat mendukung sejumlah nilai yang berbeda hingga maksimum 101 tingkat. Anda harus memutuskan cara memetakan tingkat perangkat keras ke rentang nilai tingkat kecerahan. Namun, panggilan ke fungsi DxgkDdiGetPossibleBrightness KMD tidak boleh melaporkan lebih banyak nilai tingkat kecerahan daripada yang didukung perangkat keras.

Menonaktifkan perubahan kecerahan otomatis oleh BIOS

KMD harus mengatur bit 2 argumen ke metode _DOS. Pengaturan bit ini menghindari masalah yang mungkin terjadi jika BIOS sistem dan driver monitor keduanya mengontrol kecerahan panel tampilan. Untuk informasi selengkapnya tentang metode _DOS dan argumennya, lihat spesifikasi ACPI. Dengan mengatur bit 2, BIOS sistem diberitahu bahwa sistem tidak boleh melakukan perubahan kecerahan otomatis.

Persyaratan BIOS untuk mendukung kontrol kecerahan

Agar KMD mendukung pengendalian kecerahan panel terintegrasi dengan cara yang optimal, BIOS sistem harus menyediakan item berikut melalui ACPI.

Metode kontrol kecerahan

Perangkat panel terintegrasi harus mendukung metode kontrol kecerahan ACPI (_BCL, _BCM, dan _BQC). _BCL dan _BCM tidak berubah sejak spesifikasi ACPI versi 1.0b; Anda dapat menemukan definisinya dalam spesifikasi ACPI 3.0 di bagian B.6.2 dan B.6.3. _BQC bersifat opsional dan didefinisikan dalam spesifikasi ACPI 3.0 di bagian B.6.4. Untuk definisi tingkat kecerahan, lihat Tingkat Kecerahan.

Berikut ini adalah alias untuk metode kontrol kecerahan ACPI yang ditentukan dalam Dispmprt.h:

  • ACPI_METHOD_OUTPUT_BCL - Memungkinkan Windows untuk mengkueri daftar tingkat kecerahan yang didukung oleh perangkat output tampilan. Metode ini diperlukan jika LCD terintegrasi ada dan mendukung tingkat kecerahan.

  • ACPI_METHOD_OUTPUT_BCM - Memungkinkan Windows mengatur tingkat kecerahan perangkat output tampilan. Windows hanya mengatur tingkat yang dilaporkan oleh metode ACPI_METHOD_OUTPUT_BCL. Metode ACPI_METHOD_OUTPUT_BCM diperlukan jika metode ACPI_METHOD_OUTPUT_BCL diterapkan.

Menonaktifkan kontrol kecerahan BIOS sistem otomatis

BIOS sistem harus mendukung pengaturan bit 2 dari argumen ke metode _DOS pada adaptor grafis untuk memungkinkan perubahan kecerahan BIOS sistem otomatis dinonaktifkan. Bit ini adalah tambahan untuk nilai yang ditentukan sebelumnya untuk bit dalam metode ini. Untuk detail tentang bit ini, lihat bagian B.4.1 dalam spesifikasi ACPI 3.0.

Jika bit ini tidak didukung, driver monitor dan BIOS sistem dapat mengubah tingkat kecerahan, menghasilkan kedipan kecerahan. Selain itu, kecerahan mungkin berpotensi diatur ke nilai yang bukan yang diminta pengguna.

ACPI_METHOD_DISPLAY_DOS, yang didefinisikan dalam Dispmprt.h, adalah alias untuk metode kontrol kecerahan otomatis ACPI. Alias ini menunjukkan bahwa BIOS sistem mampu secara otomatis mengalihkan output tampilan aktif atau mengontrol kecerahan LCD. Parameternya bisa menjadi salah satu nilai berikut.

Nilai Makna
ACPI_ARG_ENABLE_AUTO_LCD_BRIGHTNESS BIOS sistem harus secara otomatis mengontrol tingkat kecerahan LCD ketika daya berubah dari AC ke DC.
ACPI_ARG_DISABLE_AUTO_LCD_BRIGHTNESS BIOS sistem tidak boleh secara otomatis mengontrol tingkat kecerahan LCD ketika daya berubah dari AC ke DC.

Pemberitahuan kunci pintasan kecerahan

Pemberitahuan kunci pintasan kecerahan harus ditargetkan ke perangkat panel tampilan terintegrasi, bukan ke adaptor grafis.

Pemberitahuan berikut didukung seperti yang didefinisikan dalam Dispmprt.h:

Pemberitahuan Makna
ACPI_NOTIFY_CYCLE_BRIGHTNESS_HOTKEY Pengguna menekan hotkey untuk kecerahan tampilan bersepeda.
ACPI_NOTIFY_INC_BRIGHTNESS_HOTKEY Pengguna menekan hotkey untuk meningkatkan kecerahan tampilan.
ACPI_NOTIFY_DEC_BRIGHTNESS_HOTKEY Pengguna menekan tombol hot untuk mengurangi kecerahan tampilan.
ACPI_NOTIFY_ZERO_BRIGHTNESS_HOTKEY Pengguna menekan hotkey untuk mengurangi kecerahan tampilan menjadi nol.

Pemberitahuan kunci pintasan ini baru menggunakan spesifikasi ACPI 3.0 dan dijelaskan di bagian B.7. Biasanya, komputer laptop tidak akan mendukung semua pemberitahuan kunci pintasan ini.

Untuk meningkatkan dan mengurangi tingkat kecerahan, perilaku default driver monitor adalah:

  • Untuk ACPI_NOTIFY_INC_BRIGHTNESS_HOTKEY, kecerahan kenaikan setidaknya lima persen lebih dari tingkat kecerahan sebelumnya hingga tingkat lima persen langkah berikutnya yang tersedia tercapai (5, 10, 15, ..., 95, 100).

  • Untuk ACPI_NOTIFY_DEC_BRIGHTNESS_HOTKEY, kecerahan penurunan setidaknya lima persen lebih kecil dari tingkat kecerahan sebelumnya hingga tingkat langkah lima persen berikutnya yang tersedia tercapai (100, 95, ..., 15, 10, 5).

Meningkatkan atau mengurangi dengan kunci pintasan dapat membuat pola asimetris dalam tingkat kecerahan, seperti yang ditunjukkan contoh berikut.

  • Tersedia _BCL tingkat kontrol kecerahan yang ditentukan sebagai 0, 1, 5, 10, ..., 95, 100

    • Hasil menggunakan pemberitahuan 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

    • Hasil menggunakan pemberitahuan 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

  • Tersedia _BCL tingkat kontrol kecerahan yang ditentukan sebagai 1, 5, 10, ..., 95, 100

    • Hasil menggunakan pemberitahuan 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

    • Hasil menggunakan pemberitahuan 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

    Dalam contoh terakhir, 1 adalah nilai terakhir yang tersedia, sehingga driver mengatur tingkat kecerahan menjadi 1 meskipun kurang dari lima unit persentase yang berbeda dari nilai sebelumnya 5.

IHV atau OEM dapat mengubah perilaku driver monitor default pada Windows Vista dan Windows 7 dengan mengatur nilai DWORD untuk MinimumStepPercentage dalam kunci registri berikut:

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

Mendukung Output Tampilan dan Peristiwa ACPI