Soigner ses pixels

Linux Pratique n° 045 | janvier 2008 | Simon Descarpentries
Creative Commons
  • Actuellement 0 sur 5 étoiles
0
Merci d'avoir participé !
Vous avez déjà noté cette page, vous ne pouvez la noter qu'une fois !
Votre note a été changée, merci de votre participation !
Cet article expose une méthode simple, mais efficace, de réparation de pixels défectueux sur écran à cristaux liquides. Les manipulations décrites dans cet article peuvent se révéler dangereuses pour votre matériel. Prenez le temps de lire l'article en entier avant de tenter votre manœuvre de sauvetage. L'auteur se dégage de toutes responsabilités en cas de dommage sur votre matériel. Toutefois, vous ne risquez pas grand-chose à vous acharner sur un pixel déjà hors d'usage...

Les écrans à cristaux liquides

Les écrans à cristaux liquides se sont largement démocratisés ces dernières années, conséquence des nets avantages que ces derniers présentent face à leurs concurrents cathodiques. En effet, non content d'économiser un mètre cube d'espace sur votre bureau et quelques watts sur vos factures d'électricité, ces derniers permirent surtout d'atteindre pour le tout public des résolutions 16/10e de 1440x900 pixels, voire de 1680x1050 pixels sur des écrans abordables de 19, voire 20 pouces, sans pour autant remettre en question l'architecture de votre bureau, qui ploierait dangereusement sous les 30 à 40 kg qu'il aurait fallu pour atteindre les mêmes performances avec un canon à électrons.

Pourtant, la technologie LCD n'est pas totalement exempte de défauts. Si les joueurs pâtirent aux débuts des lenteurs de rafraîchissement des écrans de l'époque (40 ms était encore une valeur raisonnable il y a 3 ans, alors que du 60 Hz correspondrait plutôt à du 16 ms), ce fut ensuite les honnêtes programmeurs et utilisateurs d'applications bureautiques qui furent lésés par les « avancées » de la technologie, qui consistaient à survolter les pauvres pixels pour gagner en vitesse de rafraîchissement, quitte à incruster les images statiques dans le moniteur, façon 12 pouces verdâtres de la bonne époque...

Mais revenons en 2007. De nos jours, il est possible d'acheter à moindre coût (disons autour de 100 € tout de même) un moniteur à écran LCD 19 pouces, qui affichera une résolution de 1440x900 pixels annonçant une latence de 8 ms, sans que cette dernière n'ait pour effet de vous doter d'une persistance rétinienne 2.0 entièrement gérée par la couche matérielle du périphérique de visualisation...

Pourtant, un nouveau mal guette ces pauvres bêtes. En effet, avec l'augmentation sensationnelle de leur nombre par écran, les pixels, survoltés ou mal fondus, présentent plus facilement qu'avant des défaillances. Acheter un moniteur LCD comporte donc, désormais, le risque de se retrouver avec un ou deux points fixement noir, rouge vert ou bleu, tâchant vos consoles, gâchant vos films et, surtout, narguant le contrat de garantie qui stipule qu'en dessous de 5 pixels défaillants, aucun retour ni échange n'est envisageable.

Fig. 1 : Console gâchée

Alors que faire ?

Alors que faire lorsque que la terrible nouvelle s'impose à vous, impitoyable, tandis que votre machine préférée entame tout juste son premier démarrage en format panoramique ?

La première chose à faire est d'évaluer les dégâts en dénombrant les victimes. Avec un peu de chance, vous aurez droit à un échange standard. D'ailleurs, comme disait mon grand-père, « on a la chance que l'on se crée », ils sont si fragiles ces écrans... Mais revenons du bon côté de la force et tâchons de focaliser notre créativité sur une tentative d'amélioration de la situation. Pour compter vos pixels boiteux, faire une capture d'écran ou zoomer avec votre Compiz/Beryl fraîchement compilé se révélerait inefficace. La seule technique qui vaille est le « JMMPP [1] ».

Note

[1] Je Me Mets Plus Près...

Toutefois, pour vous aider, il est conseillé d'afficher un écran intégralement blanc, puis intégralement noir afin de mettre en évidence les points qui ne devraient pas se faire remarquer. L'exercice n'est pas très compliqué, et il existe de nombreux moyens d'y parvenir. Mais, celui que je vais vous indiquer ici, franchement geek, vous donnera un avant-goût de la méthode employée plus loin pour « soigner » les pixels défectueux. Alors, pour un écran intégralement blanc, ouvrez Firefox, tapez about:blank dans la barre d'adresse si vous avez une adresse par défaut, et appuyez sur [F11]. Voilà, vous y êtes. Reste-t-il des points noirs à l'image ? Ensuite, pour un écran intégralement noir :

siltaar@Arkana:~/ $ cat > ecran_noir.html

<html><body bgcolor="black"></body></html>

tapez ensuite [Entrée], puis [Ctrl]+[C], et enfin :

siltaar@Arkana:~/ $ firefox écran_noir.html &

Voilà, le but était d'afficher le plus vite possible un écran tout blanc, puis un écran tout noir sans réfléchir plus de deux secondes au total et l'objectif est atteint (j'ai entendu un « gruik » dans le fond ? Qui a fait « gruik » !?). Petit bémol, en fonction de votre thème par défaut, Firefox peut ne pas vous afficher une page blanche avec about:blank. Dans ce cas, procédez comme pour l'écran noir avec « white » en couleur de fond. Il convient aussi de fermer tous les autres onglets afin de procéder avec sérieux en mode plein écran. Enfin, tout autre navigateur web offrant une fonctionnalité de plein écran correcte peut également faire l'affaire.

Fig. 2 : Pixels d'un écran blanc vus de près

Quelques explications

À ce stade, il est temps de préciser un peu les choses. Il existe deux catégories de pixels défectueux. Ceux qui sont éteints tout le temps, les points noirs sur fond blanc, et que l'on nommera ici « pixels morts », et ceux qui sont allumés tout le temps, fixement rouge vert ou bleu sur fond noir et que l'on nommera « pixels collés ». Pour imaginer un peu mieux les choses, les pixels d'un écran à cristaux liquides sont assimilables à des fenêtres (ça grogne encore dans le fond... alors disons des portes) avec un ressort de fermeture automatique. Au repos, la porte est fermée et la lumière ne passe pas, le pixel est éteint, noir. Une fois le ressort stimulé, le pixel laisse passer de la lumière suivant l'ouverture respective de chacun de ses trois sous-pixels, respectivement rouge vert et bleu.

Un pixel mort est donc, soit coincé en position fermée, soit réellement hors d'usage, et un pixel collé a, lui, de fortes chances de n'être que bloqué en position ouverte (il sera d'ailleurs dans ce cas légèrement plus lumineux que ses congénères de même couleur, voir Fig. 3). Enfin, il faut préciser qu'un pixel est un ensemble de trois sous-pixels colorés comme décrit précédemment. Par conséquent, parler de pixel mort ou collé est un abus de langage. Ce sont les sous-pixels individuellement qui tombent malades et que l'on va tenter de soigner.

Fig. 3 : Sous-Pixel bleu collé et témoins

Je vous sens transportés d'enthousiasme à la lecture de ces quelques explications... Mais, il nous faut une fois de plus faire face à une dure réalité. En l'état actuel des choses, vous avez à peu près deux chances sur trois de guérir un pixel collé et moins d'une chance sur trois de guérir un pixel mort.

Claquer la porte ?

Je vois que vous êtes tout de même déterminés à tenter votre chance. Toutefois, vous pouvez ranger votre panoplie du petit chirurgien, l'opération sera logicielle, et c'est tout juste si on pourra donner un petit « coup de pouce » analogique à son écran pour l'aider dans cette terrible épreuve.

Une fois vos pixels repérés et diagnostiqués, il est temps de coder le « patch » à leur appliquer. Tout d'abord, il me faut préciser ici que d'autres l'on déjà fait pour vous, par le biais de logiciels non libres dédiés à la réparation de pixels et nommés « défibrillateurs de pixels » en français. Mais, vu la méthode utilisée – solliciter vigoureusement le ressort de la porte sans plus d'astuce – le terme « coder » est un peu pompeux. En effet, il n'est nul besoin de coder un logiciel complet pour secouer des pixels. C'est d'ailleurs sous les railleries de mes collègues que j'ai abandonné le projet en Ada/GtkAda qui me traînait dans les pattes, pour passer à quelque chose d'un peu plus pragmatique. (Oui, dès qu'il s'agit d'écraser une mouche avec une masse, je suis candidat moi, pas vous ? Je lorgne d'ailleurs actuellement vers une solution thermonucléaire contre les moustiques en été...).

Donc, pour résumer, on cherche à faire clignoter du mieux qu'on peut le sous-pixel à réanimer, en espérant que ça lui mette le pied à l'étrier s'il était collé, ou que ça lui redonne un peu d'élasticité s'il était considéré comme mort. Bien sûr, il y a toute une foultitude de méthodes bien bourrines qui viennent à l'esprit pour ça, comme de balayer énergiquement la zone de l'écran à traiter avec sa souris, en ayant pris soin de choisir un curseur de la bonne couleur. Mais l'idéal serait de ne pas trop « fatiguer » inutilement les pixels voisins du malade. Nous ne voulons pas déclencher une épidémie... Une bien meilleure solution prendra alors forme dans The Gimp.

Une fois l'éditeur d'image lancé, créez une nouvelle image, pourquoi pas carrée et de 100 pixels de côté, avec la même couleur de fond que celle qui vous a permis de débusquer le pixel à traiter, noir ou blanc donc. Puis, créez un calque transparent, et placez-y un point au crayon diamètre 1x1, et de la couleur du sous-pixel à traiter, rouge vert ou bleu donc, pur à chaque fois (#FF000, #00FF00, #0000FF). Dans le cas d'un pixel mort, ayez une nouvelle fois recours au JMMPP afin de déterminer, suivant le voisinage du sous-pixel à traiter, quelle était la couleur du défunt.

Ensuite, enregistrez votre nouvelle image au format GIF, en précisant qu'on souhaite en faire une animation. The Gimp a alors la politesse de nous demander quel doit être l'intervalle de temps entre chaque image, et là, même ceux qui dégainent leur souris plus vite que leur ombre seront battus par la technologie ! Une valeur de transition comprise entre 15 et 30 ms est généralement une bonne idée. Intuitivement, pour un écran affichant du 8 ms de latence, il est inutile de mettre une valeur inférieure à cette période, les ordres se succédant aux bornes du sous-pixel plus vite que ce dernier n'est capable de bouger. Toutefois, une valeur de 10 ms est encore trop faible en pratique, car, pour obtenir du 8 ms, les constructeurs mesurent le plus petit changement d'état possible entre deux niveaux de gris, alors que pour passer de complètement éteint à complètement allumé, il faut toujours quelque chose comme 15 à 30 ms pour nos braves pixels.

Fig. 4 : The Gimp pour soigner les pixels

Ensuite, il ne nous reste plus qu'à ouvrir notre nouvelle animation dans un visionneur d'images comme GThumb, et de placer minutieusement le point scintillant au milieu de l'animation GIF obtenue avec the Gimp sur le sous-pixel qui, lui, justement reste fixe. Il convient d'afficher votre image dans GThumb en taille réelle, ratio 1:1. Il convient également de ne pas prendre trop de temps pour placer correctement l'image, car si la défibrillation peut sauver votre pixel défaillant, elle peut aussi se révéler fatale pour les pixels saints, or, à ce stade, vous l'aimez votre écran, vous n'avez plus envie de le renvoyer au constructeur, n'est-ce pas ? Notez que, suivant votre configuration, il peut se révéler impossible d'atteindre avec la souris un pixel précis de l'écran. Alors, voici une petite qui vous assurera de pouvoir placer votre défibrillateur au pixel près :

root@Arkana:/home/siltaar # xset m 1 1

Cette commande aura pour effet de réduire à 1:1 le ratio de déplacement du curseur de la souris. (Personnellement, paresseux du poignet que je suis, j'utilise un réglage xset m 4 1 en temps normal). Enfin, c'est lors de cette opération qu'on comprend l'intérêt d'avoir fait une image de 100 pixels de côté et non seulement 10 px, voire 1 seul, car, plus vite on retrouve le pixel à secouer, mieux les autres se portent. Or, le fond uni de l'image peut se révéler utile au cours de la manœuvre.

Une fois que le point de l'animation GIF ne scintille plus, vous êtes en place. On en arrive à la phase la plus délicate : attendre en scrutant le sous-pixel, dans l'espoir de le voir subitement se mettre à scintiller lui aussi. L'attente peut prendre plus de dix minutes, ce qui est le délai par défaut dans Xorg pour la mise en place de la première phase d'économie d'énergie de l'écran. Vous pouvez donc toujours éditer la section ServerFlags de votre /etc/X11/xorg.conf comme suit :

Section "ServerFlags"

Option "BlankTime" "20"

Option "StandbyTime" "21"

Option "SuspendTime" "22"

Option "OffTime" "23"

EndSection

Pour régler cette valeur à 20 minutes par exemple. On peut d'ailleurs lire sur les sites tentant de vendre des défibrillateurs de pixels non libres qu'il ne faut pas baisser les bras avant deux bonnes heures de traitement concernant les pixels morts. D'ailleurs, c'est précisément dans ce cas que vous n'avez de toutes façons plus rien à perdre à laisser le défibrillateur longtemps, vu que le pixel est déjà mort.

Dans le cas d'un pixel collé, par contre, c'est plus délicat, car il se peut très bien que le pixel se décolle, puis meure si on le bouscule un peu trop longtemps justement. C'est pourquoi, dans le cas des pixels collés, mieux vaut rester à côté et scruter le scintillement qui devrait venir.

Un petit coup de pouce

Si vous n'êtes pas très patient de nature, c'est le bon moment pour mettre la main à la pâte, en donnant un petit coup de pouce à votre écran. Munissez-vous d'un chiffon doux, propre et sec. Nous allons maintenant masser légèrement l'écran. J'ai bien dit LÉ-GÈ-RE-MENT ! Une pression excessive agirait comme un antibiotique, détruisant tout sur son passage. En agissant avec légèreté, vous devriez voir – le cœur battant – les pixels massés devenir pâles, puis reprendre progressivement leurs couleurs. Tâchez de faire le moins de dommages collatéraux possibles en ciblant au mieux votre massage. Enfin, il semble que masser de bas en haut, puis de gauche à droite, de droite à gauche et enfin de haut en bas soit une bonne approche. L'ordre des passages n'a pas d'importance ici, seule compte la logique de caresser les pixels dans le sens du poil, ceux-ci étant rectangulaires et parallèles aux côtés de l'écran lui-même.

Il va de soi que les possesseurs de moniteurs présentant une couche de verre en protection du panneau de cristaux liquides (comme les moniteurs d'un célèbre assembleur sans stock au nom évoquant celui d'une diode électro-luminescente) n'ont pas intérêt à tenter une quelconque manipulation risquant de briser cette couche de verre !

Voilà, au bout de trois minutes de défibrillation et au deuxième passage du doigt masseur, vous avez toutes les chances d'avoir débloqué un pixel s'il était collé, et je ne promets rien concernant les pixels morts. Ensuite, il est fort possible que l'opération soit à répéter durant les deux ou trois allumages suivants du moniteur, mais on prend vite le coup et le pixel finit, lui, par prendre le pli...

Conclusion

Maintenant, vous avez toutes les cartes en mains pour décider sagement d'intervenir sur votre matériel ou non. Souvenez-vous que « le mieux est l'ennemi du bien », et qu'il n'est donc pas nécessairement judicieux de prendre des risques pour un pixel mort dans un coin de votre écran. Ensuite, la technique décrite ici ressemble en fin de compte à un joli bricolage, mais je tiens à remercier les collègues qui m'ont poussé à laisser tomber le développement d'un logiciel plus académique pour tenter le coup avec The Gimp, car le résultat fut au rendez-vous, et plusieurs mois plus tôt que prévu. On dispose déjà sous GNU/Linux d'outils très puissants, et mieux vaut apprendre à s'en servir plutôt que de foncer tête baissée pour en développer de nouveaux, moins génériques... Enfin, je ne souhaite pas faire de publicité pour les vendeurs de défibrillateurs de pixels non libres dont j'ai déjà parlé, mais je me suis bien sûr inspiré de leur travail pour l'élaboration de la méthode décrite dans cet article. Sachez donc simplement qu'il en existe au moins trois, et qu'une recherche avec les mots clés « fix stuck pixel » sur le moteur de recherche de votre choix (si, si, nous avons encore le choix), vous donnera rapidement accès aux sites concernés.

Voilà, le problème des pixels défectueux à l'achat est sûrement amené à disparaître avec les prochaines améliorations technologiques. Toutefois, les conseils donnés ici peuvent également s'appliquer aux écrans plasmas (pour re-dynamiser un pixel faiblissant par exemple) et trouveront, à n'en pas douter, à s'illustrer sur de futures technologies. Pour l'heure, n'hésitez pas à m'écrire si vous avez des questions ou pour m'informer d'une réussite (/d'un échec)...