C'è un modo per regolare la luminosità del monitor?


9

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)


1
Ciò può dipendere dalla GPU e dal driver GPU. Che scheda grafica avete, e che il driver ( ati, fglrx, nouveau, nvidia, ...)?
Gilles 'SO-smetti di essere malvagio' il

Risposte:


12

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

1
Assolutamente fantastico grazie. Questo si integra in qualche modo con Gnome? Solo perché questo richiede molto più tempo che spostare le dita sul monitor. Comunque è magnifico, finalmente posso scrivere la mia luminosità.
ManuelSchneid3r,

1
Sfortunatamente no. Ho anche cercato una soluzione di luminosità per GNOME dopo essermi trasferito da un laptop a un PC. Sembra che GNOME usi il controllo della retroilluminazione X11, che a sua volta utilizza i dispositivi della classe di retroilluminazione di Linux e non esiste un driver di retroilluminazione DDC ↔ Linux.
m132,

1
Puoi usare 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.
m132,

8

Basandosi sulla risposta di @ M132, ddccontrolsembra 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

1
oppureddcutil capabilities | grep Luminosity
Fabian Schlieper,

Ddccontrol ha ricevuto molti aggiornamenti negli ultimi due anni
mirh,

4

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

1
La luminosità del display 2015 dovrebbe essere controllabile. ddccontrol.sourceforge.net sembra una risposta ma il software viene abbandonato dagli autori.
ManuelSchneid3r

@ ManuelSchneid3r Bene, il mio monitor HDMI non è un modello del 2015. C'è un problema con xbacklight?
Sidhekin,

Per me non funziona. Uso un dell u2414h.
ManuelSchneid3r

Bene, questo è un modello del 2013. ;-) Seriamente, la mia ipotesi migliore è che non sia supportato e che la luminosità del software (ancora diversa da Gamma) sia la migliore che ottieni:xrandr --output HDMI --brightness 0.7
Sidhekin

1
xbacklightfunzionerà 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.
m132,

2

Il modulo del kernel DDC / CI include un ddcci-backlightmodulo 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:

In alto a destra di un desktop GNOME, che mostra i controlli del volume del suono e della luminosità dello schermo

Il modulo del kernel è disponibile in Debian (da Debian 9) e distribuzioni derivate:

sudo apt install ddcci-dkms

È semplicemente fantastico. Una specie di esempio di integrazione hardware più profonda in Linux di cui sfortunatamente mancano molte distro. Ho appena fatto il packaging kmodper i ddcimoduli 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!
Danila Vershinin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.