¿Cómo configurar manualmente un monitor en CentOS7, conectado a través de KVM?

9

Tengo una nueva instalación de escritorio de CentOS7 con Gnome 3.

Necesito usar esta máquina con un KVM, pero por alguna razón CentOS7 no puede detectar mi monitor a través del KVM que tengo, por lo que el valor predeterminado es "Pantalla desconocida" a una resolución de 1024x768 (todo detecta y funciona a resoluciones más altas si conecto el monitor directamente al sistema).

¿Cómo puedo configurar manualmente las cosas para poder usar resoluciones más grandes?

Intenté editar monitors.xmlcon una nueva resolución, pero al reiniciar CentOS7 rechazó el cambio, diciendo que no podía detectarlo, y volví a 1024x768.

Dave
fuente

Respuestas:

14

Encontré la base de la solución aquí: /ubuntu/186288/how-to-detect-and-configure-an-output-with-xrandr

En las distribuciones modernas de Linux, incluido CentOS, la biblioteca xrandr es responsable de cosas como la resolución de pantalla, la rotación, etc. Como su sistema no se detecta automáticamente, debe informarle manualmente sobre el modo de que es capaz su monitor.

Tuve el mismo problema con un KVM, y la salida de muestra es de mi computadora:

Paso 1:

Encuentra el nombre de tu puerto. Esto será algo así como VGA1, HDMI1 más o menos. Quizás pueda encontrarlo en /var/log/Xorg.0.log, o puede usar la utilidad 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)

Mi KVM está conectado al puerto VGA llamado VGA1. Debido a que el KVM bloquea la detección automática, xrandr solo vio la resolución de 1024x768.

Paso 2:

Cuéntale a xrandr sobre el nuevo modo. Los modos son simplemente cadenas que tienen parámetros de visualización de video adjuntos.

Paso 2.1

Encuentre los parámetros de visualización que necesita. Quería 1600x900 a 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

Paso 2.2

Cree el nuevo modo con xrandr usando los valores del comando gtf:

> xrandr --newmode "1600x900" 119.00  1600 1696 1864 2128  900 901 904 932  -HSync +Vsync

El primer parámetro es el nombre del nuevo modo: en realidad podría llamarlo como quiera, simplemente use el mismo nombre en los pasos posteriores.

Paso 3

Dile a xrandr que VGA1 entiende el modo llamado 1600x900:

> xrandr --addmode VGA1 1600x900

Paso 4

Dile a xrandr que cambie al nuevo modo.

> xrandr --output VGA1 --mode 1600x900

Nota: si cometió un error y su monitor no comprende realmente el nuevo modo, obtendrá una pantalla en blanco.

Si obtiene una pantalla en blanco, probablemente pueda recuperarse escribiendo a ciegas:

> xrandr --output VGA1 --mode 1024x768

Otra forma de hacerlo es conectarse desde otra computadora a través de SSH y ejecutar este comando a través de SSH en lugar de hacerlo en la consola.

Paso 5

Cree un script que automatice los comandos newmode, addmode y output, ya que no se conservarán durante un reinicio.

Kevin Keane
fuente
1
Esto es perfecto: una rara joya de información sobre el uso de xrandr. Mil votos a favor para usted, señor.
Paul
1
A mi también me sirvió. En CentOS 7.
Mohammad Yaseen
2
Gran respuesta. Pero ahora, ¿dónde puedo poner los comandos para que se convierta en el predeterminado en el inicio?
mivk
@SteliosAdamantidis Sí. Tenga en cuenta el paso 5 que debería solucionar ese problema.
Kevin Keane
1

Tuve aproximadamente la misma situación, y la respuesta anterior es una de las explicaciones más completas sobre cómo solucionar esto, pero tuve que ir un nivel más para que mi Samsung de 32 "se renderizara en 2560x1440.

gtf es el método utilizado anteriormente para obtener los tiempos, que funciona principalmente, pero no me daría un modo que lo haría al 2560x1440. Utilicé el programa cvt, con el modificador -r (necesario para esto, y no apto para crt, solo dispositivos que pueden vivir sin la supresión).

~% 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

Este modo de sincronización, utilizado en lugar de la información anterior dada por gtf, funcionó de maravilla. Todavía deseo poder hacer que esto se "cuele" en el X11sistema, pero hice el script para crear, agregar y luego cambiar al modo, por lo que funciona muy bien.

Y mis viejos ojos adoran el enorme monitor. Nada excede como el exceso ...

(La secuencia de comandos para agregar y cambiar el modo sigue)

 #!/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
fuente
1

Estoy de acuerdo en que esta es casi la solución. Esto puso mi pantalla en la resolución correcta.

$ 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

Sin embargo, con dos columnas negras principales en el lado izquierdo y derecho de la pantalla. Supongo que algún tipo de sobreexploración.

Así que tuve que seleccionar algunos valores recogidos durante el arranque desde 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)

Entonces, después de reemplazar los valores cvt, con los valores Xorg.0.log, obtuve el diseño de pantalla correcto.

$ xrandr --newmode "1920x1080_60.00" 148.50  1920 2008 2052 2200  1080 1084 1089 1125 +hsync +vsync
Niels Roskam
fuente
0

Después de pasar un par de preciosas horas probando las "soluciones" anteriores y otras, me encontré con esto:

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

il60304
fuente
Como los enlaces tienden a ponerse obsoletos y morir, las respuestas solo de enlace no se consideran muy útiles aquí. Tal vez podría entrar en detalles sobre lo que realmente hizo para resolver el problema en su respuesta, mientras señala recursos que lo ayudaron en el camino. De esa forma, las personas que usen este sitio verán la respuesta directamente, incluso si el otro enlace desaparece.
Eric Renouf