Xinerama, un ejemplo práctico

Siempre he pensado que trabajar con dos monitores al mismo tiempo era una tonteria, después de dos semanas utilizando Xinerama me he dado cuenta de lo equivocado que estaba ;-).

A continuación comentaré los (sencillos y rápidos) pasos que he seguido para montar un sistema con dos monitores y dos tarjetas de video usando Xinerama.

  1. Previo
  2. Configuración de Xinerama
  3. Recursos

Previo

Hardware/Software utilizado

  • 2 Tarjetas de video: GeForce4 AGP y SiS6326 PCI.
  • 2 Monitores de 17''.
  • XFree 4.2.1.
  • Debian GNU/Linux testing.

Antes de... probar

Cuando quería poner en funcionamiento mi segundo monitor no tenía muy claro si optar por comprar una tarjeta gráfica PCI (y probar Xinerama) o comprar una NVidia / ATI con dos salidas para monitores (IIRC Dual-Head).

Decidí probar primero Xinerama así que le pedí a MR una Cirrus Logic GD5436. En 5 minutos estaba funcionando, lamentablemente la Cirrus es de 1Mb y su resolución en pantalla quedaba reducida a 640x480... me compre la SiS6326 de 8Mb al día siguiente ;-).

Configuración de Xinerama

La configuración de Xinerama es tremendamente sencilla. Simplemente editar el archivo /etc/X11/XF86Config:

  1. Añadir un nuevo Monitor con la configuración del segundo monitor.
  2. Añadir un nuevo Device con la configuración de la tarjeta PCI.
  3. Relacionar los dos anteriores en un nuevo Screen.
  4. Añadir el Screen anterior al ServerLayout especificando RightOf o LeftOf según la posición respecto al primer monitor.

Monitor

Section "Monitor"
  Identifier   "M200ES"
  HorizSync    30.0 - 70.0
  VertRefresh  50.0 - 120.0
EndSection
        

Device

Section "Device"
  Identifier  "SiS"
  Driver      "sis"
  ChipSet     "SIS6326"
  Card        "SiS SIS6326"
  BusID       "PCI:0:10:0"
EndSection
        

Screen

Section "Screen"
  Identifier "Pantalla2"
  Device     "SiS"
  Monitor    "M200ES"
  DefaultDepth     16
  SubSection "Display"
    Depth     16
    Modes    "1024x768" "800x600" "640x480"
  EndSubSection
EndSection
        

ServerLayout

Section "ServerLayout"
  Identifier     "Layout"
  Screen         0 "Pantalla1" 0 0
  Screen         1 "Pantalla2" RightOf "Pantalla1"
  InputDevice    "Teclado" "CoreKeyboard"
  InputDevice    "Raton" "CorePointer"
  Option         "Xinerama" "on"
EndSection
        

Recursos

Resultado

Una vez configurado este es el resultado:

Un ejemplo de dos monitores y xinerama

Utilizo OpenBox 3, con el que no tengo problemas haciendo uso del Xinerama.

Unos amigos me han pedido un screenshot de mi entorno con xinerama así que aprovecho para colgarla en la web.

Agradecimientos

A mustang y vectorblanco por resolver mis dudas sobre Multi-head.
A MR por dejarme la Cirrus Logic para experimentar.


Carlos Hernando
URL: http://chernando.eu/