Skip to content

Configurar pantallas manualmente

En este post esplico como configurar manualmente de forma temporal con el comando xrand y permanente con el archivo xorg.conf.

En un mundo perfecto conectas un dispositivo y descargas los controladores funciona correctamente al 100%, pero en la mitad de las ocasiones eso no es así.

En la realidad conectas dos pantallas, coge las resoluciones que le parece o detecta, y se lio a configurar posiciones y resoluciones manualmente.

En mi caso se jodio todo al no detectar todas la resoluciones del monitor con salida VGA y ademas no poder instalar el control center de AMD por incompativilidad de la version de Xserver.

Puesta en escena del entorno:

+--------------+      +---------------+
|  VGA         |      |  HDMI         |
|  Primer      |      |  segundo      |
|  monitor     |      |  monitor      |
| 1920x1080    |      |  1920x1080    |
+------------+-+       +-+------------+
     |----|  |          |   |----|
     +----+  |          |   +----+
             |          |
             |          |
   +-------+ |          |
   | +--+  | |          |
   |       | |          |
   | +--+  | |          |
   |       | |          |
   | PC    | |          |
   |       +-+          |
   |       +------------+
   +-------+

Configuración temporal

xrandr es un comando muy potente en cuanto a personalización de pantallas y googlendo y biendo manuales es intuitivo de configurar con el.

En un inicio no me detectava la resolucion 1920x1080 en el VGA como se ve debajo.

  ~ xrandr
Screen 0: minimum 320 x 200, current 3840 x 1080, maximum 8192 x 8192
HDMI-0 connected primary 1920x1080+1920+0 (normal left inverted right x axis y axis) 160mm x 90mm
   1920x1080i    60.00 +  50.00    59.94* 
   1366x768      60.00 +
   1400x1050     59.98  
   1280x1024     60.02  
   1440x900      59.89  
   1280x960      60.00  
   1152x864      74.82  
   1280x768      59.87  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    70.07    60.00  
   800x600       72.19    75.00    60.32    56.25  
   720x576       50.00  
   720x576i      50.00  
   720x480       60.00    59.94  
   720x480i      60.00    59.94  
   640x480       75.00    60.00    59.94  
DVI-0 disconnected (normal left inverted right x axis y axis)
VGA-0 connected  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   

Así que empiezo a poner a mi gusto la configuración.

Miro ncon el comando cvt los parametros para añadir una resolucion 1920x1080 60Hz.

  ~ cvt 1920 1080 60
Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync

Una vez tengo los parametros sigo con el lio.

# Creo una nueva resolución
xrandr  --newmode "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync

# la añado a las opciones de la pantalla VGA
xrandr  --addmode VGA-0  1920x1080_60.00

# Pongo la resolucion en la pantalla VGA
xrandr  --output  VGA-0  --mode 1920x1080_60.00 

# Pongo la pantalla VGA primaria
xrandr  --output  VGA-0  --primary

# Pongo la pantalla  HDMI a 1920x1080 y ademas la coloco a la dereha de la VGA
xrandr  --output  HDMI-0  --mode 1920x1080i --right-of VGA-0

Esto esta muy bien pero al reiniciar el ordenador se va todo a la mierda.

Configuración permanente

Para configurar las pantallas de forma permanente nos tenemos que pelear con el tedioso archivo xorg.conf.

En el caso que el archivo no se encuentre en la ruta /etc/X11/xorg.conf tendremos que generarlo.

Generar archivo xorg.conf

Tenemos apagar todo el modo gráfico para despues generarlo.

# volamos al modo headles
sudo init 3

# generamos archivo
sudo X -configure
  • El siguiente comando genera el archivo de prueva en /root/xorg.conf.new

He generado el archivo para tener una guia de la sintaxis y ver con que nombre identifica el pc a la targeta gráfica y su driver, todo lo demas lo e borrado como se ve en el ejemplo mas abajo.

Genero los parametros para una resolución 1920x1080 60Hz.

  ~ cvt 1920 1080 60
Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync

Ejemplo archivo xorg.conf .

En la siguiente configuración:

  • VGA
  • Creo una resolución 1920x1080 60Hz .
  • Pantalla por defecto Primaria.
  • HDMI
  • modo resolucion 1920x1080.
  • coloco a la derecha de monitor VGA.

/etc/X11/xorg.conf

Section "Device"
    Identifier  "Card0"
    Driver      "radeon"
    BusID       "PCI:1:0:0"
    # añado un alias para tabajar mas claramente
    Option      "monitor-VGA-0" "lg"
    Option      "monitor-HDMI-0" "tv"
EndSection

Section "Monitor"
    Identifier   "lg"
    # creo añado resolucion para esta pantalla
    Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
EndSection

Section "Monitor"
    Identifier   "tv"
    # selecciono resolución existente para monitor tv
    Option  "PreferredMode" "1920x1080i"
    # coloco monitor a la derecha
    Option  "RightOf" "lg"
EndSection

# declaro monitor lg como primario
Section "Screen"
    Identifier "Default Screen"
    Monitor    "lg"
    DefaultDepth 24
    SubSection "Display"
        Depth     24
        Virtual  3840 1080
    EndSubSection
    Device     "Card0"
EndSection

# declaro monitor secundario
Section "Screen"
    Identifier "Screen1"
    Monitor    "tv"
    DefaultDepth 24
    SubSection "Display"
        Depth     24
        Virtual  3840 1080
    EndSubSection
    Device     "Card0"
EndSection

Una vez añadido los parametros toca colocar el archivo en su ruta, reiniciar y tener fe en que funcione.

  • Es posible que a la primera no atines todos los parametros y tengas que hacer varias pruebas.

Si pones algún parametro que no le gusta, es posible que no arranque el modo gráfico y no pases del login. Modifica de nuevo el archivo hasta que atines con la configuración adecuada.

Cada vez que quieras probar una configuración toca reiniciar.