J'ai une nouvelle installation de bureau de CentOS7 avec Gnome 3.
J'ai besoin d'utiliser cette machine avec un KVM mais pour une raison quelconque, CentOS7 ne peut pas détecter mon moniteur via le KVM je l'ai, donc il est par défaut "Affichage inconnu") à une résolution de 1024x768 (tout détecte et fonctionne à des résolutions plus élevées si je connecte le moniteur directement au système).
Comment puis-je configurer manuellement les choses pour pouvoir utiliser des résolutions plus importantes?
J'ai essayé de modifier monitors.xml
avec une nouvelle résolution, mais au redémarrage, CentOS7 a rejeté le changement, disant qu'il ne pouvait pas détecter, et est revenu à 1024x768.
J'ai trouvé la base de la solution ici: https://askubuntu.com/questions/186288/how-to-detect-and-configure-an-output-with-xrandr
Dans les distributions Linux modernes, y compris CentOS, la bibliothèque xrandr est responsable de choses telles que la résolution d'écran, la rotation, etc. Étant donné que votre système ne détecte pas automatiquement, vous devez lui indiquer manuellement le mode dont votre moniteur est capable.
J'ai eu le même problème avec un KVM, et l'exemple de sortie provient de mon ordinateur:
Trouvez le nom de votre port. Ce sera quelque chose comme VGA1, HDMI1 ou plus. Vous pouvez peut-être le trouver à partir de /var/log/Xorg.0.log, ou vous pouvez utiliser l'utilitaire xrandr:
> xrandr
Screen 0: minimum 8 x 8, current 1024 x 768, maximum 32767 x 32767
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
VGA1 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.00*
800x600 60.32 56.25
848x480 60.00
640x480 59.94
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
Mon KVM est connecté au port VGA appelé VGA1. Parce que le KVM bloque la détection automatique, xrandr n'a vu que la résolution 1024x768.
Informez xrandr du nouveau mode. Les modes sont simplement des chaînes auxquelles sont attachés des paramètres d'affichage vidéo.
Trouvez les paramètres d'affichage dont vous avez besoin. Je voulais 1600x900 @ 60 Hz:
> gtf 1600 900 60 -x
# 1600x900 @ 60.00 Hz (GTF) hsync: 55.92 kHz; pclk: 119.00 MHz
Modeline "1600x900_60.00" 119.00 1600 1696 1864 2128 900 901 904 932 -HSync +Vsync
Créez le nouveau mode avec xrandr en utilisant les valeurs de la commande gtf:
> xrandr --newmode "1600x900" 119.00 1600 1696 1864 2128 900 901 904 932 -HSync +Vsync
Le premier paramètre est le nom du nouveau mode - vous pouvez l'appeler comme vous voulez, utilisez simplement le même nom dans les étapes suivantes.
Dites à xrandr que VGA1 comprend le mode appelé 1600x900:
> xrandr --addmode VGA1 1600x900
Dites à xrandr de passer au nouveau mode.
> xrandr --output VGA1 --mode 1600x900
Remarque: si vous avez fait une erreur et que votre moniteur ne comprend pas réellement le nouveau mode, vous obtiendrez un écran vierge!
Si vous obtenez un écran vide, vous pouvez probablement récupérer en tapant aveuglément:
> xrandr --output VGA1 --mode 1024x768
Une autre solution consiste à se connecter à partir d'un autre ordinateur via SSH et à exécuter cette commande via SSH plutôt que sur la console.
Créez un script qui automatise les commandes newmode, addmode et output, car elles ne seront pas conservées lors d'un redémarrage.
Je suis d'accord que c'est presque la solution. Cela a mis mon écran dans la bonne résolution.
$ cvt 1920 1080 60
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
Cependant, avec deux grandes colonnes noires à gauche et à droite de l'écran. Je suppose une sorte de surbalayage.
J'ai donc dû grep certaines valeurs récupérées lors du démarrage de xorg.log.
$ grep 1080 /var/log/Xorg.0.log
[ 2316.000] (II) modeset(0): Modeline "1920x1080"x0.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync (67.5 kHz eP)
Donc, après avoir remplacé les valeurs cvt, par les valeurs Xorg.0.log, j'ai eu la bonne disposition d'écran.
$ xrandr --newmode "1920x1080_60.00" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
J'ai eu à peu près la même situation, et la réponse ci-dessus est l'une des explications les plus complètes sur la façon de résoudre ce problème, mais j'ai dû passer à un niveau supplémentaire pour que mon Samsung 32 "affiche en 2560x1440.
gtf est la méthode utilisée ci-dessus pour obtenir les timings, ce qui fonctionne principalement, mais je ne me procurerais pas un mode qui le ferait au 2560x1440. J'ai utilisé le programme cvt, avec le commutateur -r (nécessaire pour cela, et ne convient pas aux crt, seuls les appareils pouvant vivre sans le masquage).
~% cvt -r 2560 1440 60
# 2560x1440 59.95 Hz (CVT 3.69M9-R) hsync: 88.79 kHz; pclk: 241.50 MHz
Modeline "2560x1440R" 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync
Ce mode de synchronisation, utilisé à la place des informations ci-dessus fournies par gtf, fonctionnait comme un charme. Je souhaite toujours pouvoir faire "cuire" dans le X11
système, mais j'ai créé le script pour créer, ajouter, puis passer en mode, donc ça marche très bien.
Et mes yeux vieillissants aiment l'énorme moniteur. Rien ne dépasse l'excès ...
(Le script pour faire l'ajout et le changement de mode suit)
#!/bin/bash
# Used to get timing: cvt -r 2560 1440 60
xrandr --newmode "2560x1440R" 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync
xrandr --addmode HDMI1 "25 60x1440R"
xrandr --output HDMI1 --mode "2560x1440R"
Après avoir passé quelques heures précieuses à essayer les solutions ci-dessus et d'autres, je suis tombé sur ceci: