GNU/Linux Magazine - France

Soigner ses pixels

Simon Descarpentries -

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 manoeuvre 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 à leur concurrents cathodiques. En effet, non content d'économiser un mètre cube d'espace sur votre bureau et quelque 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 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 à 40kg qu'il aurait fallu pour atteindre les mêmes performances avec un canon à électrons.

Pourtant, la technologie LCD n'est pas totalement exemptes de défauts. Si les joueurs pâtirent aux débuts des lenteurs de rafraîchissement des écrans de l'époque (40ms était encore une valeur raisonnable il y a 3 ans, alors que du 60Hz correspondrait plutôt à du 16ms), 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 8ms, 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 guettes 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 noirs, 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...

Une console de démarrage de GNU/Linux vue de très près avec un point bleu au milieu.

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(TM)¹ ». 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, ouvrir Firefox/Iceweasel, taper « about:blank » dans la barre d'adresse si vous avez une adresse par défaut, et appuyer sur F11, voilà vous y êtes, reste-t-il des points noirs à l'image ? Ensuite, pour un écran intégralement noir :

siltaar@Arkana:~/ $ cat > écran_noir.html
 <html><body bgcolor="black"></body></html>
 ^C
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 » !? 8-( ). 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 la barre d'adresse, dans ce cas, procéder 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.

Un photo prise en mode macro d'un écran LCD affichant des pixels blanc et un smiley.

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

Quelques expliquations

À 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 l'image « Sous-Pixel bleu collé et témoins »). 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.

Écran noir, un pixel bleu vu de près lumineux, un pixel bleu vu de près et un peu moins lumineux. Un curseur de souris est également sur l'image vu d'aussi près que le reste on en distingue clairement l'assemblage de pixel.

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, (merci à vous lecteurs de ne pas avoir tourné rageusement la page à la lecture de ces sombres révélations) 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éparations 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 et n'avançait qu'après chaque visionnage gâché de film, 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. Biensûr, il y a toute une foultitude de méthodes bien bourrines qui viennent à l'esprit pour ça, comme 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 30ms est généralement une bonne idée. Intuitivement, pour un écran affichant du 8ms 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 10ms est encore trop faible en pratique, car pour obtenir du 8ms 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 à 30ms pour nos braves pixels.

L'Écran principal de The Gimp, un écran d'édition d'une image noire avec un point bleu, l'écran de gestion des calques qui montre que deux calques sont présents.

The Gimp pour soigner les pixels

Ensuite, il ne nous reste plus qu'à ouvrir notre nouvelle animation dans un visionneur d'image 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 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 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 10px 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 cour de la manoeuvre.

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élais 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. Oui-oui, vous m'avez bien compris, munissez-vous d'un chiffon doux, propre et sec (comme celui que vous aviez dédié au dépoussiérage de votre ancien moniteur par exemple), 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. Ed agissant avec légèreté, vous devriez voir -- le coeur 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 soit 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 finis 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'on poussés à 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èmes 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 trouverons, à 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 :oP d'un échec...

Bonus

En bonus, voici des défibrillateurs prêts à être appliqués :

___________________________

¹ Je Me Mets Plus Près...