L'utilisation des boutons programmables est gênante au fil du temps. Je veux dire la vraie luminosité du rétro-éclairage (pas le gamma X11). Quels protocoles en sont capables? (DVI, HDMI, DP, je suppose que VGA ne l'est pas)
L'utilisation des boutons programmables est gênante au fil du temps. Je veux dire la vraie luminosité du rétro-éclairage (pas le gamma X11). Quels protocoles en sont capables? (DVI, HDMI, DP, je suppose que VGA ne l'est pas)
Réponses:
En fait, toutes ces interfaces sont capables de contrôler le rétroéclairage (et plus), tant que la carte graphique et le moniteur prennent en charge le canal de données d'affichage .
DDC est basé sur I²C, vous devez donc installer et charger les modules de noyau appropriés pour le faire fonctionner.
# Debian
sudo apt-get install i2c-tools
sudo modprobe i2c-dev
# RHEL
sudo dnf install i2c-tools
Après cela, vous devez savoir quel bus I²C est connecté au moniteur à l'aide 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
Dans le cas d' Intel , le bus de droite est l'un des DPDDC ( Display Port DDC ), selon le port que vous utilisez. Dans mon cas, HDMI et DP sont affichés en tant que DP.
Dans le cas AMD , le bus est appelé interface card0- - n .
Si aucune interface n'est répertoriée, votre carte / pilote ne prend pas en charge DDC de manière standard.
Nous devons maintenant vérifier si le moniteur prend en charge DDC et permet-il de régler la luminosité de cette façon. Tout d'abord, installez ddccontrol
:
# Debian
sudo apt-get install ddccontrol
# RHEL
sudo dnf install ddccontrol
Ensuite, listez la liste des paramètres DDC pris en charge en l'utilisant. Cet exemple suppose que votre interface DDC est liée au 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] ---
C'est tout, si tout se passe bien, la valeur de luminosité devrait rapporter exactement la même luminosité que celle définie sur le moniteur. Vous pouvez maintenant définir une luminosité de 50% à l'aide de cette commande (remplacez 0x10 par l'adresse de la valeur de luminosité trouvée ci-dessus):
sudo ddccontrol dev:/dev/i2c-3 -r 0x10 -w 50
gddccontrol
une interface utilisateur GTK pour ddccontrol
, mais vous devez d'abord chown / chmod votre bus I²C ou écrire une règle udev pour le faire automatiquement.
S'appuyant sur la réponse de @ M132, il ddccontrol
semble non entretenu et n'a ajouté aucune configuration pour de nouveaux moniteurs depuis 2006.
Heureusement, il existe un outil plus récent: ddcutil , qui est beaucoup plus robuste et développé activement. Après avoir installé l'un des packages prédéfinis ou construit à partir de la source, il peut être utilisé pour interroger et définir la luminosité (parmi une myriade d'autres paramètres):
# 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
Il y a xbacklight
- "régler la luminosité du rétro-éclairage en utilisant l'extension RandR".
Cependant, cela échoue avec mon moniteur HDMI, donc je reviens à l'utilisation de la modification logicielle:
xrandr --output HDMI2 --brightness 0.7
xbacklight
?
xrandr --output HDMI --brightness 0.7
xbacklight
fonctionnera avec les ordinateurs portables et autres appareils qui utilisent le contrôle du rétroéclairage basé sur ACPI. Pour les moniteurs de bureau, la solution la plus largement prise en charge consiste à utiliser DDC et ddccontrol
.
Le module du noyau DDC / CI comprend un ddcci-backlight
module qui peut intégrer la plupart des moniteurs compatibles DDC / CI dans le système de rétroéclairage du noyau ( /sys/class/backlight
). Cela permet à tout outil qui peut utiliser ce dernier de piloter le rétro-éclairage sur un moniteur DDC / CI; par exemple, en utilisant les commandes intégrées sur le bureau GNOME:
Le module du noyau est disponible dans Debian (depuis Debian 9) et dans les distributions dérivées:
sudo apt install ddcci-dkms
kmod
pour ddci
les modules du noyau et appréciant vraiment le curseur de luminosité permettant de le contrôler sans aucune application tierce :) Merci de l'avoir mentionné!
ati
,fglrx
,nouveau
,nvidia
, ...)?