Comment configurer manuellement un moniteur dans CentOS7, connecté via KVM?

9

J'ai une nouvelle installation de bureau de CentOS7 avec Gnome 3.

Je dois utiliser cette machine avec un KVM, mais pour une raison quelconque, CentOS7 ne peut pas détecter mon moniteur via le KVM que j'ai, 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.xmlavec 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.

Dave
la source

Réponses:

14

J'ai trouvé la base de la solution ici: /ubuntu/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:

Étape 1:

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.

Étape 2:

Informez xrandr du nouveau mode. Les modes sont simplement des chaînes auxquelles sont attachés des paramètres d'affichage vidéo.

Étape 2.1

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

Étape 2.2

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.

Étape 3

Dites à xrandr que VGA1 comprend le mode appelé 1600x900:

> xrandr --addmode VGA1 1600x900

Étape 4

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.

Étape 5

Créez un script qui automatise les commandes newmode, addmode et output, car elles ne seront pas conservées lors d'un redémarrage.

Kevin Keane
la source
1
C'est sur place - un joyau rare d'informations sur l'utilisation de xrandr. Mille votes positifs, monsieur.
Paul
1
A également fonctionné pour moi. Sur CentOS 7.
Mohammad Yaseen
2
Très bonne réponse. Mais maintenant, où puis-je mettre les commandes pour qu'elles deviennent la valeur par défaut au démarrage?
mivk
@SteliosAdamantidis Oui. Notez l'étape 5 qui devrait résoudre ce problème.
Kevin Keane
1

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 que cela puisse être "cuit" dans le X11système, mais j'ai créé le script pour créer, ajouter, puis basculer sur le mode, donc cela fonctionne 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"
Schatzi
la source
1

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 qu'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
Niels Roskam
la source
0

Après avoir passé quelques heures précieuses à essayer ce qui précède et d'autres "solutions", je suis tombé sur ceci:

http://elrepo.org/tiki/kernel-ml

il60304
la source
Comme les liens ont tendance à devenir obsolètes et à mourir, les réponses liées aux liens ne sont pas considérées comme très utiles ici. Peut-être pourriez-vous entrer dans les détails de ce que vous avez réellement fait pour résoudre le problème dans votre réponse, tout en indiquant les ressources qui vous ont aidé en cours de route. De cette façon, les personnes utilisant ce site verront directement la réponse, même si l'autre lien disparaît.
Eric Renouf