web-dev-qa-db-fra.com

Liaison DisplayPort Échec après la mise en veille du moniteur?

Je viens d'ajouter un troisième moniteur à mon ordinateur Windows 7 64 bits. Lorsque le moniteur se met en veille, il ne se réveille pas. Les deux autres moniteurs se réveillent correctement (connectés via HDMI et DVI).

Le nouveau moniteur que j'ai ajouté (un Asus VS278Q-P) est connecté via DisplayPort. Ma carte vidéo est une carte AMD Radeon HD 5830 dotée de connexions DVI, HDMI et DisplayPort à l'aide du pilote Catalyst 15.7 version 15.20.1046.

Si je mets le moniteur hors tension puis sous tension, il reçoit un signal, mais lorsque le moniteur s'allume, toutes les fenêtres de ce moniteur sont déplacées vers un autre moniteur et un message d'erreur s'affiche concernant une défaillance de la liaison DisplayPort:

enter image description here

Certains forums suggèrent que cela a quelque chose à voir avec la poignée de main DisplayPort.

"En allumant/éteignant le moniteur, vous forcez le système d'exploitation et/ou la carte vidéo à réinitialiser la prise de contact DP" (source: https://www.sapphireforum.com/showthread.php?32467-Displayport -moniteur ne pas réveiller du sommeil )

Je dois noter que mon ordinateur est configuré pour ne jamais dormir alors que mes moniteurs sont configurés pour dormir après X minutes. J'ai vu des gens dire sur des forums qu'ils croient que lorsque l'ordinateur est mis en veille, il envoie la poignée de main DisplayPort au réveil, mais si les moniteurs sont en veille et l'ordinateur ne dort pas, ils réveillent la carte vidéo n'enverra pas la poignée de main DisplayPort.

Des idées sur la façon de résoudre ce problème? Les deux solutions de contournement auxquelles je peux penser sont toutes deux loin d'être idéales:

  1. Allumer/éteindre manuellement le moniteur chaque fois qu'il se couche et réorganiser les fenêtres
  2. Définissez les moniteurs pour ne jamais dormir.

UPDATE

Je pensais que la solution consistait simplement à désactiver DDC/CI comme je l’ai indiqué ci-dessous, mais j’étais un peu trop rapide pour supposer que c’était la solution. Si le moniteur se met en veille, je peux le réveiller rapidement et tout va bien, mais s'il dort plus longtemps qu'une minute, il ne se réveillera pas. Le cycle d'alimentation du moniteur génère l'erreur DisplayPort Link Failure mentionnée ci-dessus.

6
User

Je pense en fait avoir trouvé une réponse à cette question. C'était étonnamment rapide compte tenu du nombre d'impasses que j'ai vu sur les forums. L'utilisateur nixda répond à une question différente, désactiver le moniteur DisplayPort désactive complètement le moniteur , déclare:

Désactivez "l'interface de commande du canal DisplayData" (DDC/CI) dans les paramètres de votre moniteur.

Pour mon moniteur LED Asus, cela signifiait aller dans le menu des paramètres du moniteur (à l'aide du bouton physique sur le moniteur) -> Paramètres système -> Configuration OSD -> DDC/CI et l'éteindre.

Semble fonctionner jusqu'à présent va mettre à jour si cela change.

EDIT

Je pensais que la solution ci-dessus permettait de résoudre le problème car, lorsque le moniteur se mettait en veille (le voyant d'alimentation est passé du bleu au orange), je pouvais rapidement le réveiller sans problème. Cependant, si le moniteur dormait plus longtemps (environ 1 minute +), il ne se réveillerait pas. Je ne pense pas que cette étape soit nécessaire.

J'ai trouvé un message sur un forum Dell qui m'a amené à la solution:

Il s'agit d'une carte vidéo, d'un pilote de carte vidéo ou d'un problème de gestion de l'alimentation du système d'exploitation. Le moniteur DP (DisplayPort) est passif. Il attend simplement que le signal de la carte vidéo se réveille. En allumant/éteignant le moniteur, vous forcez le système d’exploitation et/ou la carte vidéo à réinitialiser la prise de contact DP. La Radeon HD 7790 possède huit états de gestion de l’énergie grâce à sa technologie PowerTune. J'imagine que quelque part dans ce logiciel, il y a la possibilité de lui dire de régler ce que fait la carte en matière de gestion de l'alimentation. (source: http://en.community.Dell.com/support-forums/desktop/f/3515/t/19520244 )

Ailleurs dans ce fil est mentionnée le TriXX Tweak Utility ( lien direct ) de Sapphire Technology (le fabricant de ma carte vidéo). Cela a un paramètre Disable ULPS (ULPS = Ultra Low Power State). J'ai installé cet utilitaire et vérifié le réglage Disable ULPS et, bien sûr, lorsque mon moniteur s'est mis en veille, je peux maintenant le réactiver. Succès! En quelque sorte, lorsque j'ai redémarré mon ordinateur, le problème est revenu et en ouvrant l'utilitaire TriXX, je pouvais voir que la case à cocher Disable ULPS était décochée. Autant que je sache, l’utilitaire TriXX n’a aucun moyen de faire en sorte que ce paramètre reste identique entre les redémarrages (je me trompe peut-être à ce sujet).

En creusant plus loin, j'ai trouvé plusieurs forums discutant de la désactivation de ULPS (principalement dans le contexte de la résolution de problèmes de tirs croisés, par exemple: Comment désactiver ULPS ). Dans ces forums, la procédure recommandée recommande de rechercher EnableUlps dans le registre entier et de changer la valeur de chaque occurrence de 1 à 0 (en fait, vous verrez plusieurs variations mineures de la procédure exacte, mais c’est l’essentiel).

Pour moi, en particulier, je devais modifier les clés suivantes: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\amdkmdag -> EnableUlps HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\amdkmdag -> EnableUlps HKEY

(Le paramètre EnableUlps est apparu ailleurs mais il était déjà défini sur 0. Il existe également un autre paramètre EnableUlps_NA que je n'ai pas abordé.)

Si vous êtes comme moi, vous serez réticent à modifier le registre pour résoudre un problème qui semble pouvoir être facilement résolu. Mais en creusant, je pense que vous constaterez que les solutions toutes faites n’existent pas actuellement (et il vaut mieux modifier le câble DisplayPort avec du ruban isolant, solution souvent suggérée).

J'ai fait les ajustements de registre et maintenant il semble fonctionner correctement même après le redémarrage.

Remarque: les gens disent que vous devrez refaire les réglages du registre chaque fois que vous mettez à jour vos pilotes vidéo.

8
User

merci pour ce fil - il m'a aidé à déboguer mon propre problème.

Je suis tombé sur un moniteur "chinois divers" avec entrée DP, qui s'est comporté de la sorte - et, selon les informations disponibles, c'est la faute du moniteur.

Malgré les intentions initiales de DP (un seul saut électrique entre le pont sud et le pilote de matrice d'affichage), le moniteur contient une "carte AD" qui lui permet de sélectionner plusieurs entrées vidéo (VGA, HDMI, DP ). C'est la "carte AD" à l'intérieur du moniteur qui gère le signal HPD - et ce n'est pas un simple pull-up.

Sur la base des informations limitées disponibles, le HPD est généralement simplement une indication basée sur un niveau statique (actif élevé), du récepteur vidéo à la source vidéo (du moniteur au PC), indiquant qu'un récepteur vidéo est branché, dans un moniteur particulier. Prise de port sur la source vidéo. De plus, le moniteur peut l’utiliser pour "accrocher" le signal HPD = pour envoyer une impulsion d’interruption au PC, ce qui est le seul moyen pour le moniteur de demander au PC une "transaction de bus AUX" (le AUX le protocole est apparemment demande-réponse, maître-esclave, le PC étant le maître). Sur la base de mon expérience pratique, je doute de l’utilité de cette fonctionnalité "d’interruption" - ce n’est peut-être pas indispensable.

Dans mon cas, après une mise sous tension à froid (de l'écran), le PC semble bien réveiller l'écran, mais lorsque le PC passe en mode veille S3 (suspension sur RAM), il se passe quelque chose à l'écran et il ne fonctionne pas. t se réveiller après le réveil du PC. Plus précisément, après s’être réveillé de S3, le PC ne détecte pas d’affichage connecté à la prise DP. Pourquoi: apparemment parce que l'écran ne parvient pas à tirer le fil HPD trop haut. Fait intéressant, si vous mettez le moniteur hors tension pendant que le PC est endormi, l'écran se réactivera une fois que le PC se sera réveillé après une mise en veille S3. En outre, le problème ne survient pas si le PC est configuré pour éteindre simplement l'écran afin d'économiser de l'énergie (ou le rétroéclairage de l'écran), mais que le processeur et le système d'exploitation restent opérationnels. Cela peut donc ressembler à une "bonne nuit" si le PC dit au moniteur via AUX ou à la charge utile DP pendant la séquence "PC en veille S3", et le moniteur répond en se mettant définitivement en veille.

Fait intéressant, sur mon moniteur incriminé, le signal HPD est inactif après un cycle d'alimentation du moniteur, ce qui est pratiquement identique à ce qu'il est après que le PC hôte se soit endormi. Mais de toute façon, le PC réveille l’affichage après une mise sous tension à froid et le HPD monte en puissance. Après un réveil de S3 (non précédé d'un cycle d'alimentation du moniteur), le HPD reste bas. Comme si une poignée de main supplémentaire était en cours - ne sachant pas si dans la charge utile, le canal AUX ou sur le signal HPD lui-même (n'a pas vérifié avec un 'scope'). Quoi qu'il en soit, je soupçonne un micrologiciel dans la puce du contrôleur de carte AD du moniteur.

J'ai remarqué le mot clé ULPS dans ce débat et ailleurs, généralement dans le contexte des graphiques AMD. Mon adaptateur graphique est un Intel IGP (3e génération = Ivy Bridge dans ce cas). Une ou deux rares notes sur ULPS dans le contexte des graphiques Intel peuvent être trouvées dans la documentation matérielle ouverte, destinée aux auteurs de pilotes open-source. Pas beaucoup d'utilisation dans un environnement Windows. De plus, les utilitaires de configuration du pilote IGP d’Intel étaient plus convenables qu’aujourd’hui - l’IEGD, en particulier, était un excellent package de pilote adaptable, mais nous devons maintenant vivre avec ce qui est disponible. J'ai essayé de prolonger DelayedDetectionForDP dans le registre, ce qui n'a eu aucun effet. Et, dans les propriétés de config util et VGA, il n’ya aucun moyen de "forcer le port". (Il n’existe pas non plus d’option permettant de désactiver la dépendance au DDC, mais la disponibilité du DDC/EDID semble être un problème distinct, différent de la mesure de l’entrée HPD ou de l’impédance de charge VGA.)

Finalement, j'ai eu recours à la soudure sur le tableau AD (à l'intérieur du moniteur). En bref, heureusement, il y avait une jolie trace PCB allant de la broche 18 à l'arrière de la prise DP. J'ai trouvé une résistance de 10 ohms en série avec la sortie de grille qui commande le signal HPD - je l'ai donc supprimée. Et, j’ai connecté un câble 1k à un condensateur à proximité (MLCC) bloquant le rail de tension de secours + 3,3V. Maintenant, la ligne HPD est toujours tirée haut, tant que l'écran est branché au mur. Apparemment, la possibilité théorique d’interrompre moniteur-ordinateur n’est pas nécessaire au bon fonctionnement du moniteur. Je joins une photo uniquement à titre d’illustration . photo of an AD board hack, pulling up the HPD signal to +3.3Vstb Non, je ne vais pas mentionner le fabricant du moniteur ou du conseil d'administration. Un mot d'avertissement: vous ne pouvez pas simplement court-circuiter la trace HPD à + 3,3 V et vous en servir - dans mon cas, la sortie de porte (pilote de ligne HPD) mesurait 30 Ohms par rapport à GND lorsqu'elle était faible. Un court-circuit à + 3,3V ferait exploser quelque chose (vous auriez de la chance de faire frire juste la sortie du portail). Ce genre de piratage nécessite quelques précautions et un "savoir-faire" appartenant à electronics.stackexchange.com. Sans oublier quelques outils de base: un stylo à souder, un multimètre avec des sondes tranchantes et une forte loupe. (Et quelque chose à dessouder proprement la résistance de la taille d'une graine de pavot ... certains utiliseraient un mince courant d'air chaud, je préférerais peut-être un pistolet à souder vintage avec une boucle à double extrémité personnalisée en fil AWG24.)

1
frr

Allait se greffer sur la réponse par utilisateur, mais n'a pas assez de réputation. La combinaison qui a fonctionné pour moi était:

  • Désactivez "l'interface de commande du canal DisplayData" (DDC/CI) dans les paramètres de votre moniteur.
  • Détection DP hot-plug - Toujours actif dans les paramètres de votre moniteur.

Le système:

  • Gigabyte GTX 970
  • Écran HP z27q 5K (alimenté par deux (!) Câbles DP).

Les deux ports DP qui ont fonctionné (sur 3) sont ceux qui sont les plus éloignés du port HDMI.

Maintenant, je reçois ENFIN une photo après un réveil et un démarrage à froid. Maintenant ça a pris du temps ...

0
rothschild86