Luminance pour régler la luminosité des écrans

C’est en parcourant le flux RSS de la page This week in GNOME que j’ai vu cette application, bien pratique pour régler la luminosité de ou des écrans en évitant d’avoir à naviguer à travers l’OSD et ses boutons démoniaques… 👿

De plus, l’application se trouvant dans la section « Third Party projects » de la page, elle est fournie au format .deb. J’y serai désormais plus attentif, car dans la section « Gnome Circle Apps and library », si on y trouve des petits programmes sympas, ceux-là sont tous au format Flatpak, un format que j’essaie d’éviter.

Arrivé sur le site de l’application, on peut y lire :

Luminance
A simple GTK application to control brightness of displays including external displays supporting DDC/CI

Le DDC/CI

Luminance permet donc de régler la luminosité de vos écrans si ces derniers supportent le DDC/CI. Comme nous l’explique la page wikipedia, le Display Data Channel (canal des données de l’écran) ou DDC permet à un écran de communiquer ses spécifications à l’émetteur du flux vidéo. Le DDC/CI est une extension (CI : Command Interface) qui permet à l’émetteur d’ajuster les paramètres comme la luminosité ou le contraste.

C’est le cas pour la plupart des écrans récents, et vérification faite, des miens :

  • AOC 24G2SPU (acheté très récemment)
  • Philips 243S7 (acheté en 2022)

À noter que DDC est transporté sur 3 broches — données, horloge, masse — dans un connecteur VGA D-sub 15 broches, un connecteur DVI, ou un connecteur HDMI. Soit les 3 sorties dont je dispose sur ma carte mère, c’est parfait ! 😀

Installation

J’ai donc télécharger le paquet DEB de Luminance à partir de sa page Github, puis je l’ai installé. Déception au premier lancement, j’avais pour toute réponse « No compatible displays found ».

En utilisant la ligne de commande, c’était même pire, j’avais un crash :

$ /usr/bin/com.sidevesh.Luminance -l
No displays found.

(libddcutil:5852): GLib-CRITICAL **: 10:06:27.249: g_atomic_ref_count_dec: assertion 'old_value > 0' failed
Erreur de segmentation

Et plus moyen de relancer la commande, j’obtenais « Another instance of the application is already running. », alors que je ne voyais aucun process correspondant.

J’ai donc créé un bug sur le site du développeur, qui m’a répondu très vite : il fallait effacer un fichier /tmp/com.sidevesh.Luminance.lock pour pouvoir réutiliser l’outil (suite au crash), et ensuite concernant la détection des écrans d’utiliser la commande ddcutil interrogate pour voir le retour.

Ce que j’ai fait :

$ sudo apt install ddcutil
$ ddcutil interrogate
No /dev/i2c devices exist.
ddcutil requires module i2c-dev

Après quelques recherches sur ce message d’erreur, j’ai vu ici que ddcutil nécessite le module i2c-dev du noyau. S’il n’est pas intégré à votre noyau, il doit être chargé explicitement. Pour ce faire, il faut ajouter un fichier dans le répertoire /etc/modules-load.d contenant la ligne suivante : i2c-dev. Aussitôt lu, aussitôt fait, et reboot dans la foulée :

$ sudo echo i2c-dev > /etc/modules-load.d/ddcutil.conf
$ sudo reboot

Et au redémarrage, je peux enfin utiliser Luminance, régler la luminosité, et même synchroniser les valeurs entre les deux moniteurs :

Voilà, un petit outil bien sympathique. Je vais suggérer au développeur d’y intégrer le contraste, puisque le DDC permet aussi ce réglage…

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *