L'uso dei pulsanti è fastidioso nel tempo. Intendo la vera luminosità della retroilluminazione (non gamma X11). Quali protocolli sono cabable di questo? (DVI, HDMI, DP, suppongo che VGA non lo sia)
L'uso dei pulsanti è fastidioso nel tempo. Intendo la vera luminosità della retroilluminazione (non gamma X11). Quali protocolli sono cabable di questo? (DVI, HDMI, DP, suppongo che VGA non lo sia)
Risposte:
In realtà, tutte queste interfacce sono in grado di controllare la retroilluminazione (e altro), a condizione che sia la scheda grafica sia il monitor supportino Display Data Channel .
DDC si basa su I²C, quindi è necessario installare e caricare i moduli del kernel appropriati per farlo funzionare.
# Debian
sudo apt-get install i2c-tools
sudo modprobe i2c-dev
# RHEL
sudo dnf install i2c-tools
Successivamente, devi scoprire quale bus I²C è collegato al monitor usando 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
Nel caso Intel , il bus giusto è uno dei DPDDC ( Display Port DDC ), a seconda della porta utilizzata. Nel mio caso, sia HDMI che DP vengono visualizzati come DP.
Nel caso AMD , il bus si chiama card0- interfaccia - n .
Se non sono elencate interfacce, la scheda / driver non supporta DDC in modo standard.
Ora dobbiamo verificare se il monitor supporta DDC e consente di impostare la luminosità in questo modo. Innanzitutto, installa ddccontrol
:
# Debian
sudo apt-get install ddccontrol
# RHEL
sudo dnf install ddccontrol
Quindi, elenca ottieni l'elenco dei parametri DDC supportati che lo utilizzano. Questo esempio presuppone che l'interfaccia DDC sia collegata al bus i2c-3.
# sudo ddccontrol dev:/dev/i2c-3
ddccontrol version 0.4.2
Copyright 2004-2005 Oleg I. Vdovikin (oleg@cs.msu.su)
Copyright 2004-2006 Nicolas Boichat (nicolas@boichat.ch)
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] ---
Questo è tutto, se tutto va bene, il valore di luminosità dovrebbe riportare esattamente la stessa luminosità impostata sul monitor. Ora puoi impostare il 50% di luminosità usando questo comando (sostituisci 0x10 con l'indirizzo del valore di luminosità trovato sopra):
sudo ddccontrol dev:/dev/i2c-3 -r 0x10 -w 50
gddccontrol
, un'interfaccia utente GTK per ddccontrol
, ma prima dovresti chown / chmod il tuo bus I²C o scrivere una regola udev per farlo automaticamente.
Basandosi sulla risposta di @ M132, ddccontrol
sembra non mantenuto e non ha aggiunto configurazioni per nessun nuovo monitor dal 2006.
Fortunatamente, esiste uno strumento più recente: ddcutil , che è molto più robusto e sviluppato attivamente. Dopo aver installato uno dei pacchetti predefiniti o compilato dal sorgente, può essere utilizzato per eseguire query e impostare la luminosità (tra una miriade di altre impostazioni):
# ddcutil capabilities | grep Brightness
Feature: 10 (Brightness)
# ddcutil getvcp 10
VCP code 0x10 (Brightness ): current value = 60, max value = 100
# ddcutil setvcp 10 70
ddcutil capabilities | grep Luminosity
C'è xbacklight
- "regola la luminosità della retroilluminazione usando l'estensione RandR".
Tuttavia, non riesce con il mio monitor HDMI, quindi torno a utilizzare la modifica del software:
xrandr --output HDMI2 --brightness 0.7
xbacklight
?
xrandr --output HDMI --brightness 0.7
xbacklight
funzionerà con laptop e altri dispositivi che utilizzano il controllo della retroilluminazione basato su ACPI. Per i monitor desktop, la soluzione più ampiamente supportata è utilizzare DDC e ddccontrol
.
Il modulo del kernel DDC / CI include un ddcci-backlight
modulo che può integrare la maggior parte dei monitor compatibili con DDC / CI nel sistema di retroilluminazione del kernel ( /sys/class/backlight
). Ciò consente a qualsiasi strumento in grado di utilizzare quest'ultimo per guidare la retroilluminazione su un monitor DDC / CI; ad esempio, usando i controlli integrati sul desktop GNOME:
Il modulo del kernel è disponibile in Debian (da Debian 9) e distribuzioni derivate:
sudo apt install ddcci-dkms
kmod
per i ddci
moduli del kernel e ho davvero apprezzato il dispositivo di scorrimento della luminosità che consente di controllarlo senza app di terze parti :) Grazie per averlo menzionato!
ati
,fglrx
,nouveau
,nvidia
, ...)?