Cómo configurar SuSE Linux para "Multihead"

Base de Datos de Soporte (wessels_multihead)
Referido a

SuSE Linux: Versiones desde 7.0
XFree86: Versión 4.x.x, SaX2 up to Version 2.43(453)

Situación:

Quiere ejecutar SuSE Linux con varias pantallas.

Procedimiento:

Los requisitos para esta configuración son: al menos dos tarjetas gráficas, dos monitores, y XFree86 en la versión 4.x.x. XFree86 3.3.6 no permite trabajar con varios monitores.

Por favor, tenga en cuenta que el "Multihead" entra dentro de la configuración avanzada de X11 y, por lo tanto, sobrepasa el ámbito de nuestro soporte de instalación gratuito. Si tuviera problemas, por favor, diríjase a los Servicios de Soporte Avanzado y a los Servicios de Soporte de SuSE.

Para configurar MultiHead o DualHead, finalice su interfaz gráfica (X) y arranque el sistema en runlevel 3. Entonces, ejecute el comando sax2 -p para listar el hardware:


Chip: 0  is -> 3Dfx Voodoo 3                   00:16:0 0x121a 0x0005 PCI tdfx
Chip: 1  is -> NVidia RIVA TNT2 Model 64       01:00:0 0x10de 0x002d AGP nv

En este caso, se utilizan una tarjeta NVIDIA AGP y una 3dfx Voodoo PCI para configurar el Multihead.

A veces puede ocurrir que ciertas combinaciones de tarjetas gráficas no funcionen. En esos casos, su única opción es cambiar el hardware.

Por favor, tenga en cuenta que el dispositivo de salida primario es la primera tarjeta inicializada en la BIOS. En los sistemas modernos, esa opción ("VGA boot from" o "VGA BIOS Sequence") suele estar configurada para AGP. Ahora ejecute SaX2 para realizar la configuración.

Configuración de SaX2:

El proceso de configuración con SaX2 solo difiere ligeramente del que se sigue para una configuración normal. Inicie SaX2, seleccione Change configuration a partir del botón alter, y vaya a través de la configuración normalmente. La primera diferencia de una configuración normal está en la sección graphics setup.

Configuración de la tarjeta gráfica

Las dos tarjetas gráficas aparecen y se pueden configurar. Para algunas tarjetas gráficas es posible que se necesite añadir ciertas opciones al fichero XF86Config. Esas opciones se pueden escoger bajo Properties -> Expert -> Miscellaneous/Options.

Hay información útil sobre drivers específicos en la página de Xfree86 en la documentación correspondiente a cada versión de XFree o en el readme del driver (p.e., para el driver de NVIDIA).

Si no necesita ninguna configuración específica, puede saltarse este diálogo y continuar con la configuración del monitor.

Configuración del monitor

Configure sus monitores con las resoluciones y frecuencias de refresco adecuadas. Para los monitores TFT/LC debe prestar especial atención a las frecuencias correctas. Seleccione LCD -> XGA1024x786@60Hz como monitor para hacer funcionar al TFT con 60 Hz.

Alineamiento de pantalla

Cuando todos los parámetros se hayan ajustado, debe informar al servidor X de como están colocados sus monitores. Haga click en Finish en el último diálogo. A continuación, moviendo los monitores, puede especificar en qué parte del monitor principal está(n) colocado(s) el/los secundario(s). Además, este menú le permite ajustar los diferentes modos de Multihead (Tradicional, Xinerama, y Clónico).


Tradicional: Dos escritorios diferentes.
Xinerama:    El escritorio se muestra en todos los monitores.
Clónico:     La pantalla principal está duplicada.

Una vez haya completado los pasos, puede iniciar la prueba del servidor. Si hay problemas y la prueba del servidor no se inicia, busque la causa en el fichero /var/log/SaX.log. Sin embargo, necesitará salir de SaX2 y consultar el fichero con el comando:


less /var/log/SaX.log

Utilice la tecla q para salir.

XF86Config

Después de que SaX2 haya escrito XF86Config, podrá encontrar el fichero en /etc/x11/XF86Config. En este ejemplo, las dos tarjetas gráficas especificadas antes nos han llevado al siguiente fichero de configuración. Como monitores, se utilizaron dos pantallas TFT:


# /.../
# SaX generated XFree86 config file
# Created on: 2002-06-25.
#
# Version: 4.3
# Contact: Marcus Schaefer <sax@suse.de>, 2001
#
# Automatically generated by [SaX2] (4.3)
# PLEASE DO NOT EDIT THIS FILE!
#

Section "Files"
  FontPath     "/usr/X11R6/lib/X11/fonts/misc:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/local"
  FontPath     "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/Type1"
  FontPath     "/usr/X11R6/lib/X11/fonts/URW"
  FontPath     "/usr/X11R6/lib/X11/fonts/Speedo"
  FontPath     "/usr/X11R6/lib/X11/fonts/PEX"
  FontPath     "/usr/X11R6/lib/X11/fonts/cyrillic:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin2/misc:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin2/75dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin2/100dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin2/Type1"
  FontPath     "/usr/X11R6/lib/X11/fonts/latin7/75dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/baekmuk:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/japanese:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/kwintv:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/truetype"
  FontPath     "/usr/X11R6/lib/X11/fonts/uni:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/CID"
  FontPath     "/usr/X11R6/lib/X11/fonts/ucs/misc:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/ucs/75dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/ucs/100dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/hellas/misc:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/hellas/75dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/hellas/100dpi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/hellas/Type1"
  FontPath     "/usr/X11R6/lib/X11/fonts/misc/sgi:unscaled"
  FontPath     "/usr/X11R6/lib/X11/fonts/xtest"
  ModulePath   "/usr/X11R6/lib/modules"
  RgbPath      "/usr/X11R6/lib/X11/rgb"
EndSection

Section "ServerFlags"
  Option       "AllowMouseOpenFail"
EndSection

Section "Module"
  Load         "type1"
  Load         "speedo"
  Load         "extmod"
  Load         "freetype"
EndSection

Section "InputDevice"
  Driver       "Keyboard"
  Identifier   "Keyboard[0]"
  Option       "MapName" "Standard Keyboard [ pc104 ]"
  Option       "Protocol" "Standard"
  Option       "XkbLayout" "de"
  Option       "XkbModel" "pc104"
  Option       "XkbRules" "xfree86"
  Option       "XkbVariant" "nodeadkeys"
EndSection


Section "InputDevice"
  Driver       "mouse"
  Identifier   "Mouse[1]"
  Option       "Device" "/dev/mouse"
  Option       "Emulate3Buttons" "on"
  Option       "Emulate3Timeout" "50"
  Option       "InputFashion" "Mouse"
  Option       "Name" "Autodetection"
  Option       "Protocol" "ps/2"
  Option       "Vendor" "Sysp"
EndSection


Section "Monitor"
  Option       "CalcAlgorithm" "UseFrameBufferTiming"
  DisplaySize  300 230
  HorizSync    31.5-65
  Identifier   "Monitor[0]"
  ModelName    "XGA 1024X768@60HZ"
  Option       "DPMS"
  VendorName   "--> LCD"
  VertRefresh  42-72
  UseModes     "Modes[0]"
EndSection

Section "Monitor"
  Option       "CalcAlgorithm" "UseFrameBufferTiming"
  HorizSync    31.5-65
  Identifier   "Monitor[1]"
  ModelName    "XGA 1024X768@60HZ"
  Option       "DPMS"
  VendorName   "--> LCD"
  VertRefresh  42-72
  UseModes     "Modes[1]"
EndSection


Section "Modes"
  Identifier   "Modes[0]"
  Modeline 	"1024x768" 74 1024 1048 1184 1328 768 771 777 806
EndSection

Section "Modes"
  Identifier   "Modes[1]"
  Modeline 	"1024x768" 74 1024 1048 1184 1328 768 771 777 806
EndSection


Section "Screen"
  DefaultDepth 16
  SubSection "Display"
    Depth      15
    Modes      "1024x768" "800x600" "640x480"
  EndSubSection
  SubSection "Display"
    Depth      16
    Modes      "1024x768" "800x600" "640x480"
  EndSubSection
  SubSection "Display"
    Depth      24
    Modes      "1024x768" "800x600" "640x480"
  EndSubSection
  SubSection "Display"
    Depth      32
    Modes      "1024x768" "800x600" "640x480"
  EndSubSection
  SubSection "Display"
    Depth      8
    Modes      "1024x768" "800x600" "640x480"
  EndSubSection
  Device       "Device[0]"
  Identifier   "Screen[0]"
  Monitor      "Monitor[0]"
EndSection

Section "Screen"
  DefaultDepth 16
  SubSection "Display"
    Depth      15
    Modes      "640x480"
  EndSubSection
  SubSection "Display"
    Depth      16
    Modes      "1024x768" "800x600" "640x480"
  EndSubSection
  SubSection "Display"
    Depth      24
    Modes      "640x480"
  EndSubSection
  SubSection "Display"
    Depth      32
    Modes      "640x480"
  EndSubSection
  SubSection "Display"
    Depth      8
    Modes      "640x480"
  EndSubSection
  Device       "Device[1]"
  Identifier   "Screen[1]"
  Monitor      "Monitor[1]"
EndSection


Section "Device"
  BoardName    "RIVA TNT2 Model 64"
  BusID        "1:0:0"
  Driver       "nv"
  Identifier   "Device[0]"
  Option       "IgnoreEDID"
  Option       "SWCursor"
  Screen       0
  VendorName   "NVidia"
EndSection

Section "Device"
  BoardName    "Voodoo 3"
  BusID        "0:16:0"
  Driver       "tdfx"
  Identifier   "Device[1]"
  Screen       0
  VendorName   "3Dfx"
EndSection


Section "ServerLayout"
  Identifier   "Layout[all]"
  InputDevice  "Keyboard[0]" "CoreKeyboard"
  InputDevice  "Mouse[1]" "CorePointer"
  Option       "Clone" "off"
  Option       "Xinerama" "on"
  Screen       "Screen[0]" RightOf "Screen[1]"
  Screen       "Screen[1]"
EndSection

Section "DRI"
    Group      "video"
    Mode       0660
EndSection

Las entradas dobles de:


Section "Monitor"

Section "Modes"

Section "Screen"

y


Section "Device"

son características para esta configuración y configuran un dispositivo (monitor, modelines, tarjeta gráfica, y las opciones de inicio para el servidor X).

Opciones iniciales:

Tradicional, Xinerama, y Clónico

Se deben introducir dos entradas en la sección "ServerLayout" para poder utilizar los diferentes modos de Multihead:


  Option       "Clone" "off"

  Option       "Xinerama" "on"

En este ejemplo, se configura Xinerama como modo por defecto cuando se inicia el servidor X. Para activar el clónico (Clone), ponga ese parámetro a "on" y el de Xinerama a "off". Se utilizará el modo Tradicional cuando los dos parámetros estén puestos en "off".

Cambiando de normal a Multihead:

Aunque Multihead presenta grandes ventajas, a veces es recomendable no utilizarlo, p.e. si quiere utilizar las características 3D de su tarjeta gráfica o si quiere trabajar con resoluciones más altas soportadas por los otros monitores. Si solo quiere utilizar un monitor, debe añadir una segunda sección "ServerLayout".

Abra el fichero /etc/X11/XF86Config con un editor de su elección. Hemos usado mcedit para este ejemplo:


mcedit /etc/X11/XF86Config

Vaya al final del fichero, donde está la primera sección "ServerLayout" y cambie la línea Identifier de:


Section "ServerLayout"
  Identifier   "Layout[all]"
  InputDevice  "Keyboard[0]" "CoreKeyboard"
  InputDevice  "Mouse[1]" "CorePointer"
  Option       "Clone" "off"
  Option       "Xinerama" "on"
  Screen       "Screen[0]" RightOf "Screen[1]"
  Screen       "Screen[1]"
EndSection

a

Section "ServerLayout"
  Identifier   "Multi"
  InputDevice  "Keyboard[0]" "CoreKeyboard"
  InputDevice  "Mouse[1]" "CorePointer"
  Option       "Clone" "off"
  Option       "Xinerama" "on"
  Screen       "Screen[0]" RightOf "Screen[1]"
  Screen       "Screen[1]"
EndSection

Ahora configure una segunda sección "ServerLayout". Para ello, no necesita crear todas las entradas del ejemplo de arriba, simplemente inserte las siguientes línas:


Section "ServerLayout"
  Identifier   "Single"
  InputDevice  "Keyboard[0]" "CoreKeyboard"
  InputDevice  "Mouse[1]" "CorePointer"
  Screen       "Screen[0]"
EndSection

Guarde los cambios (F2 -> Enter) y salga del editor pulsando F10. SaX2 no leerá esas entradas en una nueva configuración y podrían ser sobreescritas si no ha hecho una copia de seguridad de su fichero XF86Config.

Arrancando diferentes configuraciones:

Ejecute el siguiente comando para controlar las diferentes configuraciones:


startx -- -layout layoutname

layoutname se refiere al nombre escrito como "Identifier" en las secciones "ServerLayout". En función de la configuración en el fichero XF86Config, X se inciará con la entrada seleccionada.


Palabras clave: MULTIHEAD, MULTIMONITOR, PANTALLA MúLTIPLE, SAX2, TARJETA GRáFICA, MATROX, NVIDIA, PANTALLA, ATI, DUALHEAD, XINERAMA, TRADICIONAL, CLóNICO

SDB-wessels_multihead, Copyright SuSE Linux AG, Nürnberg, Germany - Versión: 24. Jul 2002
SuSE Linux AG - : 16. Oct 2002 de ip (sdb_gen 1.40.0)