EDID : pourquoi un fuser doit se faire passer pour un écran
Chaque appareil d'une chaîne vidéo doit présenter un bloc EDID. Voici ce que contient ce bloc, ce que signifient un écran noir ou une fréquence bridée, et comment l'EDID est stocké, remplacé et cloné.
Réponse courte
L'EDID est le bloc qu'un écran envoie en amont : il y déclare son identité, les timings qu'il prend en charge et son mode préféré. Un fuser se tient là où était l'écran, il doit donc présenter un EDID valide à chaque PC. Un écran noir ou une fréquence bridée signifie en général que ce bloc est absent, générique ou faux.
Sur cette page9
- Qu'est-ce que l'EDID ?
- Que contrôle chaque champ de l'EDID ?
- Pourquoi un fuser doit-il présenter un EDID ?
- Où l'EDID est-il stocké, et comment le modifie-t-on ?
- Pourquoi cloner l'EDID de votre propre écran ?
- Comment cloner ou injecter un EDID
- Ce que signifie chaque symptôme et comment le corriger
- Questions fréquentes sur l'EDID
- Sources
Qu'est-ce que l'EDID ?
Extended Display Identification Data est un petit bloc d'octets qu'un écran conserve et transmet en amont à ce qui le pilote. Le bloc de base de 128 octets porte l'identité du fabricant et du produit, la version de l'EDID, les paramètres d'affichage de base, les caractéristiques colorimétriques, une liste de timings hérités et jusqu'à quatre descripteurs de timings détaillés. Le premier de ces descripteurs est le mode préféré de l'écran. Les standards ultérieurs ont ajouté des blocs d'extension de 128 octets, CTA-861 et DisplayID, et c'est là que vivent les modes modernes à haute fréquence, les métadonnées HDR et les capacités audio. Une source lit ce bloc, choisit le meilleur mode que les deux extrémités prennent en charge, et le pilote ; sans EDID lisible, la source avance à l'aveugle.
Que contrôle chaque champ de l'EDID ?
Chaque ligne donne un champ du bloc de base et son effet pratique, c'est-à-dire ce qu'il faut vérifier quand une chaîne s'allume mais tourne dans le mauvais mode.
| Champ | Où il se situe | Ce qu'il décide |
|---|---|---|
| En-tête | Les 8 premiers octets, un motif fixe | Si la source croit avoir lu un EDID. Un en-tête erroné fait jeter tout le bloc |
| Identifiant du fabricant et code produit | Octets 8 à 11 | Le nom et le modèle que le système d'exploitation affiche pour l'écran |
| Numéro de série, semaine et année | Octets 12 à 17 | L'identité. Windows et les pilotes GPU indexent là-dessus les réglages propres à chaque écran, et c'est pourquoi un EDID modifié peut réinitialiser les préférences de couleur et de mise à l'échelle |
| Version et révision de l'EDID | Octets 18 et 19 | Les règles selon lesquelles le reste du bloc est interprété |
| Définition de l'entrée vidéo | Octet 20 | Numérique ou analogique, et l'interface numérique et la profondeur de bits que l'écran revendique |
| Taille de l'écran ou format d'image | Octets 21 et 22 | La taille physique. Windows s'en sert pour ses recommandations de mise à l'échelle DPI |
| Gamma et fonctions prises en charge | Octets 23 et 24 | La gestion de l'alimentation, le type de couleur, et si les formules de timings standard peuvent servir à dériver des modes |
| Coordonnées de chromaticité | Octets 25 à 34 | Les points rouge, vert, bleu et blanc. Des valeurs fausses ici donnent l'image délavée ou sursaturée bien connue |
| Timings établis et standard | Octets 35 à 53 | La liste de modes héritée. C'est de là que vient un 1024x768 de repli |
| Descripteurs de timings détaillés | Octets 54 à 125, quatre emplacements de 18 octets | Les vrais modes, avec l'horloge pixel, le blanking et la synchro. Le PREMIER descripteur est le mode préféré, et c'est celui qu'une source choisit par défaut |
| Nombre de blocs d'extension | Octet 126 | Combien de blocs d'extension de 128 octets suivent. Un zéro ici cache tous les modes que ces extensions auraient décrits |
| Somme de contrôle | Octet 127 | Si le bloc est digne de confiance. Une somme de contrôle fausse équivaut à l'absence totale d'EDID |
La plupart des demandes d'assistance se ramènent à deux champs : le premier descripteur de timings détaillés et le nombre de blocs d'extension. Une chaîne qui sert un EDID valide mais minimal s'allumera dans un mode bas et sûr, puis refusera tout ce que la dalle sait vraiment faire.
Pourquoi un fuser doit-il présenter un EDID ?
Un fuser est un récepteur sur chacune de ses deux entrées : pour chaque PC, il est l'écran. Il active le hot plug detect sur chaque entrée puis répond à la lecture DDC par un EDID, et aucun des deux PC ne peut voir au-delà jusqu'à la vraie dalle. La chaîne compte donc trois relations EDID au lieu d'une : PC de jeu vers fuser, second PC vers fuser, et fuser vers écran. Le mode que vous obtenez est l'intersection entre ce que le fuser annonce en amont et ce que le boîtier sait réellement transporter en aval.
Où l'EDID est-il stocké, et comment le modifie-t-on ?
L'EDID vit dans cinq couches différentes, et savoir dans laquelle vous travaillez évite beaucoup d'efforts perdus.
- Dans l'écran
- Une petite EEPROM série lue par les lignes DDC, qui forment un bus I2C, à l'adresse 0x50. C'est la source de vérité d'un véritable écran
- Dans un appareil intercalé
- Un fuser, un splitter, un switch ou un périphérique de capture stocke un EDID qui lui est propre et sert celui-là à la place. Certains savent copier le bloc de l'écran situé en aval, et c'est ce que fait un mode passthrough ou clone
- Dans le pilote GPU
- Windows gère des remplacements d'EDID par écran dans le registre. Des outils comme ToastyX CRU écrivent ces remplacements et changent ce que Windows croit, sans toucher au matériel
- Dans un INF de moniteur
- L'ancien mécanisme pour le même travail : un paquet de pilote qui fournit un bloc de remplacement pour un écran
- Dans un émulateur dédié
- Un petit dongle intercalé qui active le hot plug detect et répond par un EDID fixe. On s'en sert en audiovisuel pour éviter qu'une source perde son écran quand un switch ou un KVM coupe la liaison
Pourquoi cloner l'EDID de votre propre écran ?
Un EDID générique est sûr et petit parce qu'il annonce des modes que presque tout sait afficher. Cela devient un problème quand votre dalle est un écran 1440p à 165 Hz et que le boîtier placé devant elle annonce du 1080p à 60 Hz. Le clonage copie le bloc réel de la dalle, avec son timing préféré, ses blocs d'extension et son identité, si bien que le PC de jeu se voit proposer la même liste de modes qu'avec un câble direct. Clonez plutôt que d'écrire à la main dès que vous le pouvez : un vrai bloc issu d'un écran du commerce est cohérent avec lui-même, un bloc édité à la main ne l'est souvent pas.
Comment cloner ou injecter un EDID
L'outil exact dépend du modèle, mais l'ordre des étapes, non.
- Branchez l'écran directement sur le PC de jeu et vérifiez qu'il tourne dans le mode voulu, car si ce n'est pas le cas, le fuser n'est pas votre problème
- Lisez et enregistrez l'EDID de l'écran pendant qu'il est branché en direct, avec l'outil fourni par votre fabricant ou un lecteur d'EDID standard
- Câblez la chaîne correctement, avec le PC de jeu et le second PC dans les entrées du boîtier et la sortie du boîtier vers l'écran
- Si le modèle a un mode passthrough ou clone, activez-le d'abord et retestez, puisque c'est l'option la moins risquée et qu'elle suffit souvent
- S'il n'y a pas de mode de ce type, ou si le passthrough ne suffit pas, écrivez le bloc enregistré par le chemin d'injection du fabricant. Sur plusieurs modèles Dichen, ce chemin est un port de service USB-C qui ne sert qu'aux mises à jour du firmware et à l'injection d'EDID
- Éteignez puis rallumez le boîtier et rebranchez l'entrée du PC de jeu, pour que le hot plug detect se déclenche et que l'EDID soit relu
- Vérifiez le mode dans les paramètres d'affichage de Windows, puis fixez explicitement la fréquence de rafraîchissement plutôt que de vous fier à la valeur par défaut
- Si vous avez plutôt remplacé l'EDID côté PC avec un outil de registre, notez-le, car ce remplacement survit aux changements de câbles et faussera le prochain diagnostic
Ce que signifie chaque symptôme et comment le corriger
Travaillez de haut en bas, car les causes les moins coûteuses sont listées en premier.
| Symptôme | Cause probable | Solution |
|---|---|---|
| Écran noir, l'écran indique aucun signal | Aucun EDID valide n'a été lu, ou le hot plug detect n'a jamais été activé, et la source n'a donc rien à piloter | Alimentez le boîtier avant les PC et rebranchez les deux extrémités de chaque câble, en utilisant les câbles fournis. Activez ensuite le passthrough EDID du boîtier ou injectez un bloc enregistré |
| L'image apparaît dans une résolution basse et refuse de changer | La chaîne annonce un EDID minimal, ou le nombre de blocs d'extension est à zéro et les modes élevés sont invisibles | Clonez l'EDID natif de l'écran dans le boîtier. Si le boîtier ne peut pas en héberger un, c'est peut-être son propre plafond qui est la vraie limite |
| Bonne résolution, fréquence bridée sous celle de la dalle | Soit l'EDID annoncé ne contient pas ce timing, soit le boîtier est réellement incapable de transporter le mode | Vérifiez d'abord le plafond annoncé du modèle À VOTRE résolution. Aucun travail sur l'EDID ne relève un plafond matériel |
| Le PC de jeu fonctionne, le second PC n'a pas d'image, ou l'inverse | Les deux entrées sont deux relations EDID distinctes et une seule a abouti | Intervertissez les deux câbles d'entrée pour voir si la panne suit le câble ou reste sur le port, puis traitez cette liaison à part |
| Windows affiche un écran dont le nom ne ressemble pas au vôtre | Vous voyez l'identité EDID du boîtier et non celle de la dalle | C'est normal sur un fuser sans passthrough, et ce n'est un problème que si la liste des modes est fausse elle aussi |
| Couleurs fausses ou délavées après l'ajout du boîtier | La chromaticité ou l'espace colorimétrique déclaré dans l'EDID servi ne correspond pas à la dalle, ou il y a un désaccord de plage entre RVB et YCbCr | Clonez l'EDID de la dalle, puis vérifiez le format de couleur de sortie et la plage dynamique dans le panneau de configuration du GPU |
| Tout fonctionnait, puis tout a cassé après une mise à jour de Windows ou du pilote GPU | Un remplacement d'EDID dans le registre a été effacé, ou le pilote a renégocié et choisi un autre mode | Revérifiez le remplacement, refixez explicitement la fréquence de rafraîchissement, et éteignez puis rallumez le boîtier pour que l'EDID soit relu |
Questions fréquentes sur l'EDID
Le spoof d'EDID est-il la même chose que le spoof de l'identité matérielle ?
Non, même si le mot commun sème une vraie confusion. Un EDID décrit un écran à une sortie graphique. Il n'a rien à voir avec l'identité firmware d'une carte DMA, un DNA ID, ou un spoofer matériel pour les numéros de série des disques et de la carte mère.
Un mauvais EDID peut-il endommager un écran ?
Les dalles modernes rejettent les timings qu'elles ne savent pas afficher : le résultat pratique est un écran noir ou un message hors plage, pas une casse. Gardez vos modifications réversibles et conservez une copie du bloc d'origine.
Dois-je cloner l'EDID si mon fuser a un mode passthrough ?
En général non. Essayez d'abord le passthrough, car il existe précisément pour que le boîtier serve les vraies capacités de la dalle sans travail manuel.
Pourquoi un simple splitter HDMI provoque-t-il les mêmes symptômes ?
Le mécanisme est le même : tout appareil placé entre la source et la dalle devient celui qui répond à la lecture de l'EDID. C'est pour cela que les splitters, les switchs et les KVM produisent exactement les mêmes plaintes sur les modes et les écrans noirs.
Modifier l'EDID joue-t-il sur la détection ?
Non. L'EDID est une négociation d'affichage entre une sortie graphique et ce qui se trouve en aval, pas quelque chose dont un anticheat se soucie. Aucun travail sur l'EDID ne rend une configuration sûre.
Sources
Les symptômes des fusers et les étapes d'injection propres aux fabricants viennent de notre travail d'atelier sur ces boîtiers, pas du standard EDID.
- 01VESA E-EDID standard, release A2
le bloc de base de 128 octets, les décalages d'octets du tableau des champs et les descripteurs de timings détaillés
glenwing.github.io
- 02EDID overview, Wikipedia
généralités sur l'EDID, ses blocs d'extension et la façon dont une source le lit via les lignes DDC de l'écran
en.wikipedia.org
À lire ensuite
Toujours bloqué ? Ouvrir un ticket sur Discord
Tous les guides