Windows et le yoyo des écrans....

Sous Windows lorsqu'on utilise plusieurs écrans se pose un problème majeur : si un des écrans passe en veille, déconnecté ou non alimenté, toutes les fenêtres ouvertes passent sur l'écran qui reste disponible. Dans l'absolu c'est logique sur un laptop sur lequel on connecte occasionnellement un écran externe, par contre sur un PC fixe que l'on utilise en permanence avec trois écrans il est extrêmement désagréable de devoir réorganiser ses fenêtres tous les matins... (sujet déjà évoqué ici).

La faute à qui, à quoi ?

Le problème se situe au niveau de la gestion de l'EDID (ici pour les détails).  Il s'agit d'une implémentation dans les écrans qui va transmettre à Windows pas mal d'informations, dont :

  • La résolution d’écran,
  • La profondeur de couleur prise en charge,
  • La résolution et fréquence d’images prises en charge,
  • Le rapport hauteur / largeur
  • Le format audio pris en charge, par exemple, par exemple sur un téléviseur ne prend en charge que les formats 2.0 ou 5.1,

Selon l’année de production du téléviseur ou du moniteur, la version prise en charge d’EDID peut être 1.0, 1.4, 2.0, 3.0 ou plus. Ces informations ne sont bien sur pas modifiables par l'utilisateur mais en dur dans l'écran. A noter également que certains moniteurs permettent de désactiver une partie des informations transmises via le port HDMI ou DP. On peut alors faire un réglage manuel et Windows ne verra pas l'écran disparaitre. Ca résout le problème.

Mais hélas ce n'est pas le cas de mes écrans Samsung.

Il faut savoir que sous Windows il n'y a absolument aucune solutions native ou via un utilitaire pour désactiver l'auto détection des écrans. Ca existait jadis sous Windows 7, sous la forme d'une clé de registre, mais depuis que Windows est devenu avant tout un outil de collecte de données c'est terminé, le marketing a probablement décidé d'éliminer tout ce qui pourrait générer du support... Et pourtant la demande est bien présente !

Contournement

J'ai exploré le net dans tous les sens et les seules solutions disponibles sont matérielles. Il s'agit de dongle HDMI qui se branchent sur le port HDMI ou DP (ou via un adaptateur USB-S) entre le PC et les écrans. Il s'agit d'un émulateur EDID qui va faire croire à Windows (ça doit être identique sous MacOS) que l'écran est présent alors même qu'il est en veille, off ou débranché.