Apakah ada cara untuk menyesuaikan kecerahan monitor?

9

Menggunakan tombol soft sangat mengganggu seiring waktu. Maksud saya kecerahan sebenarnya dari lampu latar (Bukan X11 gamma). Protokol mana yang bisa digunakan untuk hal ini? (DVI, HDMI, DP, tebak VGA tidak)

ManuelSchneid3r
sumber
1
Ini mungkin tergantung pada GPU dan driver GPU Anda. Apa kartu grafis yang Anda miliki, dan yang driver ( ati, fglrx, nouveau, nvidia, ...)?
Gilles 'SANGAT berhenti menjadi jahat'

Jawaban:

12

Sebenarnya, semua antarmuka ini mampu mengontrol cahaya latar (dan lebih banyak lagi), selama keduanya, kartu grafis dan monitor mendukung Display Data Channel .

DDC didasarkan pada I²C, jadi Anda harus menginstal dan memuat modul kernel yang sesuai untuk membuatnya berfungsi.

# Debian
sudo apt-get install i2c-tools
sudo modprobe i2c-dev

# RHEL
sudo dnf install i2c-tools

Setelah itu, Anda harus mencari tahu bus I²C mana yang terhubung ke monitor menggunakan sudo i2cdetect -l.

# Example output for Intel graphics card
i2c-0   i2c         i915 gmbus dpc                      I2C adapter
i2c-1   i2c         i915 gmbus dpb                      I2C adapter
i2c-2   i2c         i915 gmbus dpd                      I2C adapter
i2c-3   i2c         DPDDC-B                             I2C adapter
i2c-4   i2c         DPDDC-C                             I2C adapter

# Example output for AMD graphics card
i2c-0   i2c         Radeon i2c bit bus 0x90             I2C adapter
i2c-1   i2c         Radeon i2c bit bus 0x91             I2C adapter
i2c-2   i2c         Radeon i2c bit bus 0x92             I2C adapter
i2c-3   i2c         Radeon i2c bit bus 0x93             I2C adapter
i2c-4   i2c         Radeon i2c bit bus 0x94             I2C adapter
i2c-5   i2c         Radeon i2c bit bus 0x95             I2C adapter
i2c-6   i2c         card0-eDP-1                         I2C adapter
i2c-7   i2c         card0-VGA-1                         I2C adapter

Dalam kasus Intel , bus kanan adalah salah satu DPDDC ( Display Port DDC ), tergantung pada port mana yang Anda gunakan. Dalam kasus saya, HDMI dan DP ditampilkan sebagai DP.

Dalam kasus AMD , bus disebut card0- interface - n .

Jika tidak ada antarmuka yang terdaftar, maka kartu / driver Anda tidak mendukung DDC dengan cara standar.

Sekarang kita harus menyelidiki, apakah monitor mendukung DDC dan apakah memungkinkan untuk mengatur kecerahan dengan cara ini. Pertama, instal ddccontrol:

# Debian
sudo apt-get install ddccontrol

# RHEL
sudo dnf install ddccontrol

Kemudian, daftar dapatkan daftar parameter DDC yang didukung menggunakannya. Contoh ini mengasumsikan antarmuka DDC Anda terikat ke bus i2c-3.

# sudo ddccontrol dev:/dev/i2c-3 
ddccontrol version 0.4.2
Copyright 2004-2005 Oleg I. Vdovikin ([email protected])
Copyright 2004-2006 Nicolas Boichat ([email protected])
This program comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of this program under the terms of the GNU General Public License.

Reading EDID and initializing DDC/CI at bus dev:/dev/i2c-3...
I/O warning : failed to load external entity "/usr/share/ddccontrol-db/monitor/DELA0A2.xml"
Document not parsed successfully.
I/O warning : failed to load external entity "/usr/share/ddccontrol-db/monitor/DELlcd.xml"
Document not parsed successfully.

EDID readings:
    Plug and Play ID: DELA0A2 [VESA standard monitor]
    Input type: Digital

= VESA standard monitor
> Color settings
    > Brightness and Contrast
        > id=brightness, name=Brightness, address=0x10, delay=-1ms, type=0
          supported, value=45, maximum=100
        > id=contrast, name=Contrast, address=0x12, delay=-1ms, type=0
          supported, value=75, maximum=100
--- [snip] ---

Itu saja, jika semuanya berjalan dengan baik, nilai kecerahan harus melaporkan kecerahan yang sama persis seperti yang diatur dalam monitor. Anda sekarang dapat mengatur kecerahan 50% menggunakan perintah ini (ganti 0x10 dengan alamat nilai kecerahan yang ditemukan di atas):

sudo ddccontrol dev:/dev/i2c-3 -r 0x10 -w 50
m132
sumber
1
Sangat keren terima kasih. Apakah ini entah bagaimana berintegrasi dengan gnome? Hanya karena ini jauh lebih memakan waktu daripada menggerakkan jari saya ke monitor. Masih ini cantik, akhirnya saya bisa skrip kecerahan saya.
ManuelSchneid3r
1
Sayangnya tidak ada. Saya juga mencari solusi kecerahan untuk GNOME setelah saya pindah dari laptop ke PC. Sepertinya GNOME menggunakan kontrol backlight X11, yang pada gilirannya menggunakan perangkat kelas backlight Linux, dan tidak ada driver backlight DDC ↔ Linux.
m132
1
Anda dapat menggunakan gddccontrol, GTK UI untuk ddccontrol, tetapi pertama-tama Anda harus chown / chmod bus I²C Anda atau menulis aturan udev untuk melakukannya secara otomatis.
m132
8

Membangun jawaban @ M132, ddccontroltampak tidak terawat dan belum menambahkan konfigurasi untuk monitor baru sejak 2006.

Untungnya, ada alat yang lebih baru: ddcutil , yang jauh lebih kuat dan aktif dikembangkan. Setelah menginstal salah satu paket prebuilt atau bangunan dari sumber, itu dapat digunakan untuk query dan mengatur kecerahan (di antara banyak pengaturan lain):

# ddcutil capabilities | grep Brightness
Feature: 10 (Brightness)
# ddcutil getvcp 10
VCP code 0x10 (Brightness                    ): current value =    60, max value =   100
# ddcutil setvcp 10 70
Chris Pick
sumber
1
atauddcutil capabilities | grep Luminosity
Fabian Schlieper
Ddccontrol mendapat banyak pembaruan dalam beberapa tahun terakhir
mirh
4

Ada xbacklight- "sesuaikan kecerahan lampu latar menggunakan ekstensi RandR".

Namun, gagal dengan monitor HDMI saya, jadi saya kembali menggunakan modifikasi perangkat lunak:

xrandr --output HDMI2 --brightness 0.7
Sidhekin
sumber
1
Kecerahan tampilan 2015-nya harus dapat dikontrol. ddccontrol.sourceforge.net terlihat seperti jawaban tetapi perangkat lunak ditinggalkan oleh penulis.
ManuelSchneid3r
@ ManuelSchneid3r Nah, monitor HDMI saya bukan model 2015. Apakah ada masalah xbacklight?
The Sidhekin
Itu tidak bekerja untuk saya. Saya menggunakan dell u2414h.
ManuelSchneid3r
Ya, itu model tahun 2013. ;-) Serius, tebakan terbaik saya adalah bahwa itu tetap tidak didukung, dan kecerahan perangkat lunak (masih berbeda dari Gamma) adalah yang terbaik yang Anda dapatkan:xrandr --output HDMI --brightness 0.7
The Sidhekin
1
xbacklightakan bekerja dengan laptop dan perangkat lain yang menggunakan kontrol backlight berbasis ACPI. Untuk monitor desktop, solusi yang paling banyak didukung adalah menggunakan DDC dan ddccontrol.
m132
2

The DDC / CI kernel modul termasuk ddcci-backlightmodul yang dapat mengintegrasikan kebanyakan monitor DDC / CI-mampu ke dalam sistem backlight kernel ( /sys/class/backlight). Ini memungkinkan setiap alat yang dapat menggunakan yang terakhir untuk mengarahkan cahaya latar pada monitor DDC / CI; misalnya, menggunakan kontrol bawaan pada desktop GNOME:

Kanan-atas desktop GNOME, menampilkan volume suara dan kontrol kecerahan layar

Modul kernel tersedia dalam Debian (sejak Debian 9) dan distribusi turunannya:

sudo apt install ddcci-dkms
Stephen Kitt
sumber
Itu luar biasa. Semacam contoh integrasi perangkat keras yang lebih dalam di Linux yang sayangnya tidak dimiliki oleh banyak distro. Hanya dilakukan kemasan kmoduntuk ddcimodul kernel dan benar-benar menikmati kecerahan slider memungkinkan untuk mengontrolnya tanpa aplikasi pihak ketiga :) Terima kasih untuk menyebutkan itu!
Danila Vershinin