Je suis sur le bureau Ubuntu 18.04, avec Intel HD Integrated Graphics et un seul écran 2560x1440 connecté avec un câble DP (DisplayPort). Je n'ai pas eu ce problème en utilisant le même bureau avec des moniteurs plus petits.
Sur ce grand écran, chaque fois que je reprends le verrouillage de l'écran (en entrant mon mot de passe pour le seul compte utilisateur du système), la résolution la plus élevée disponible est progressivement éliminée de la liste de choix dans les deux paramètres GNOME et les options affichées par xrandr
. Initialement, après le démarrage du système:
$ xrandr
Screen 0: minimum 320 x 200, current 2560 x 1440, maximum 8192 x 8192
VGA-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-1 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 699mm x 393mm
2560x1440 59.95*+
2880x1620 60.00
2048x1152 60.00
1920x1200 59.88
... puis après le premier verrouillage et reprise de l'écran, une résolution plus élevée que naturelle est éliminée (en n'ayant pas encore d'effet visible):
Screen 0: minimum 320 x 200, current 2560 x 1440, maximum 8192 x 8192 ...
2560x1440 59.95*+
2048x1152 60.00
1920x1200 59.88
... puis le deuxième verrouillage et reprise de l'écran réduit la résolution actuelle à 2048x1152:
Screen 0: minimum 320 x 200, current 2048 x 1152, maximum 8192 x 8192 ...
DP-1 connected primary 2048x1152+0+0 (normal left inverted right x axis y axis) 699mm x 393mm
2048x1152 60.00*
1920x1200 59.88
... et le troisième réduit l'écran à 1920x1200, allant toujours plus loin dans la liste: éliminant progressivement la paire la plus élevée de résolution d'écran et de fréquence vidéo disponibles avec chaque verrouillage d'écran.
Le moniteur est un Acer EB321HQU - l'éteindre et le rallumer n'a aucun effet sur les résolutions disponibles à moins que le système ne soit également redémarré. Il existe des rapports de bogues connexes, mais confirmés uniquement pour les cartes graphiques nVidia, non applicables dans mon cas. J'ai également essayé ces derniers jusqu'à présent, sans effet sur le problème:
gdm3
à lightdm
xserver-xorg-video-intel/bionic
du natif 2:2.99.917+git20171229-1
vers une version plus récente sur Open Graphics Drivers PPA2:2.99.917+git1903011933.6afed3~oibaf~b AMD64
Générez d'abord un modèle de fichier xorg.conf
Comme suit (qui devrait fonctionner même si vous utilisez déjà X/GNOME/gestionnaire d'affichage):
Sudo X :2 -configure
Copiez ensuite le fichier résultant /root/xorg.conf.new
Dans /etc/X11/xorg.conf
Qui sera un nouveau fichier sur les dernières versions d'Ubuntu car les paramètres X sont automatiquement déterminés par défaut. Voici où ma propre solution diffère d'une solution plus simple et générale:
1, général) Les utilisateurs de certaines cartes graphiques peuvent simplement résoudre ce problème en ajoutant des lignes appropriées pour le moniteur qui se comporte mal dans la section commençant par Section "Monitor"
:
Modeline "2560x1440" 241.50 2560 2608 2640 2720 1440 1443 1448 1481 -hsync -vsync
Option "PreferredMode" "2560x1440"
Le serveur X utilise un système appelé EDID pour interroger les résolutions automatiquement et il existe de nombreux problèmes signalés d'affichages externes et portables obtenant des résultats incomplets (j'ai d'abord pensé que cela qui m'arrivait après le verrouillage/déverrouillage de l'écran et la suspension/reprise). La définition explicite de Modeline
tend à garantir que cette résolution est disponible pour le serveur X, quelle que soit la réponse EDID. J'ai pu obtenir ce Modeline
de 2 façons (il y en a d'autres):
/var/log/Xorg.0.log
La page de documentation d'Ubuntu X/Config/Resolution> installation statique dans xorg.conf donne un bon aperçu de la configuration X et des problèmes pertinents.
2, ma propre solution) Cependant, dans le fichier journal Xorg, j'ai trouvé que
DDC gathered Modelines
)PreferredMode
a été correctement analysé mais ensuite rejeté.J'ai réalisé que je devais remplacer l'EDID cassé que ma carte d'affichage recevait du moniteur avec un contenant uniquement la Modeline pour ma bonne résolution. Mais mon système utilise des graphiques Intel HD, pour lesquels la plupart des options concernant EDID (UseEDID
, UseEDIDFreqs
, IgnoreEDID
) ne sont pas prises en charge (marquées is not used
dans le fichier journal), je n'ai donc pas réussi à supprimer complètement l'EDID.
Il y avait à la fois des rapports positifs et négatifs (provenant de ce rapport de bogue ) d'utilisation d'une autre option EDID Xorg CustomEDID
pour fournir sa propre configuration EDID. J'ai essayé la procédure ici (pour la compilation et le fichier edid.bin avec seulement ma propre modeline) et cela a fonctionné, malgré les informations selon lesquelles cela ne serait pas: Création et utilisation d'edid .bin via xorg.conf > Méthode 2: Générer edid.bin à partir d'une modeline Xorg (edid-generator)
Ma configuration en cours de travail, avec le problème résolu, a donc ces deux lignes ajoutées à la section "Screen"
( au lieu de les lignes "Monitor"
Correspondantes dans la solution # 1 ):
Option "ConnectedMonitor" "DP1"
Option "CustomEDID" "DP1:/etc/X11/2560x1440.bin"
... où DP1
correspond à la balise Identifier dans la section "Monitor"
et donc à la sortie de xrandr
. Lors du prochain redémarrage avec ce xorg.conf
, J'avais une liste beaucoup plus courte de résolutions dans xrandr
, qui persiste maintenant, peu importe le nombre de fois où l'écran devient vierge sur le moniteur.
BTW si les rapports partout sur Internet sur le pilote Intel ne reconnaissant pas l'option CustomEDID
s'étaient avérés être vrais pour moi (! NOTE! J'utilise les pilotes open source mentionnés dans l'OP!), J'aurais eu une option de plus pour spécifier les données EDID personnalisées en tant que paramètre du noyau: ArchLinux> Kernel réglage du mode> Forçage des modes et EDID
Pourquoi cela se produisait-il en premier lieu? (Réponse courte: le moniteur EDID a été produit et laissé en panne par Acer, mais cela serait corrigé pour Windows majoritairement par un "pilote" qui n'est en réalité que des entrées de registre pour coder en dur la configuration EDID sur l'ordinateur lui-même.) Un programme get-edid
, mentionné dans la procédure liée ci-dessus, a extrait l'EDID cassé de mon moniteur:
Sudo get-edid -m 0 > edid.bin
... et lors de l'exécution de sa sortie via edid-decode
, il a montré que seules les résolutions inférieures étaient classées comme "Timings établis" ou "Timings standard" et les résolutions plus élevées qui continuaient à chuter n'apparaissaient que comme des ensembles de caractéristiques de timing. De plus, lorsque vous placez cette sortie dans un troisième programme parse-edid
, Cela montre que le mode 1920x1080
Est en fait le PreferredMode
, ce qui explique finalement pourquoi l'écran redémarre finalement retourné à ce mode.
[~ # ~] modifier [~ # ~]: à partir de la mi-janvier 2020, un serveur Xorg mis à jour avec le pilote Intel se bloque, ou ne démarre pas, lorsque l'une des options EDID est utilisée. Il y a quelques bogues ouverts à ce sujet qui peuvent être trouvés dans une première recherche sur Internet. Donc la solution ci-dessus ne fonctionne plus dans ce cas particulier, bien qu'elle puisse encore être d'une utilisation plus générale.
Je conseillerais à toute personne rencontrant ce problème de contacter immédiatement le fabricant de son matériel pour échanger le moniteur si le micrologiciel ne peut pas être mis à niveau d'une autre manière. Ironiquement, Microsoft offre la meilleure explication pour laquelle ce problème ne peut vraiment être résolu que dans une usine de fabrication, pas sur le bureau: Overriding Monitor EDIDs
EDIT 2: Depuis fin février 2020, j'ai testé le réglage EDID avec le réglage du mode noyau (- Forçage des modes et EDID ), enregistrement du fichier EDID personnalisé en ajoutant une option de démarrage:
GRUB_CMDLINE_LINUX_DEFAULT="splash drm.edid_firmware=edid/2560x1440.bin"
Dans les conditions ci-dessus (mon moniteur, mon écran et ma connexion DP), cela fonctionne parfaitement pour conserver la résolution d'affichage idéale lors du réveil après une suspension/veille, mais chaque fois que l'écran est effacé sans réveil du sommeil, puis l'écran X est brouillé.
En résumé: je ne peux qu'espérer que ce qui précède fournit quelques options pour résoudre ce problème sur d'autres plates-formes, plutôt que de fournir une solution universelle.