14.2. Optimización de la configuración de X

X.Org es una implementación de código abierto del sistema X Window. Lo desarrolla la X.Org Foundation, que es responsable también de desarrollar nuevas tecnologías y estándares para el sistema X Window.

Para sacar el máximo partido al hardware disponible (el ratón, la tarjeta gráfica, el monitor y el teclado, entre otros), se puede optimizar manualmente la configuración. A continuación se explican algunos aspectos de dicha optimización. Para obtener información detallada sobre la configuración del sistema X Window, consulte los diferentes archivos del directorio /usr/share/doc/packages/Xorg así como man xorg.conf.

[Warning]Aviso

Tenga mucha precaución a la hora de configurar el sistema X Window. No inicie jamás el sistema X Window hasta haber completado la configuración. Un sistema mal configurado puede provocar daños irreparables en el hardware (en particular, en los monitores de frecuencia fija). Ni los autores de este libro ni SUSE Linux pueden considerarse responsables de tales daños. La información que se ofrece ha sido cuidadosamente contrastada, pero no se garantiza que todos los métodos aquí expuestos sean correctos ni que no vayan a dañar su hardware.

Los programas SaX2 y xorgconfig crean el archivo xorg.conf, por defecto en /etc/X11. Éste es el archivo principal de configuración del sistema X Window. Aquí se encuentran los ajustes referentes a la tarjeta gráfica, el ratón y el monitor.

A continuación se describe la estructura del archivo de configuración /etc/X11/xorg.conf. Este archivo se compone de diferentes secciones, cada una de las cuales hace referencia a un aspecto determinado de la configuración. Cada sección comienza con la palabra clave Section <nombre> y termina con EndSection. Las secciones tienen la siguiente forma:

 
Section nombre 
  entrada 1 
  entrada 2 
  entrada n 
EndSection 
 

Los tipos de sección disponibles aparecen en la Tabla 14.1, “Secciones de /etc/X11/xorg.conf”.

Tabla 14.1. Secciones de /etc/X11/xorg.conf

Tipo

Significado

Files

Esta sección describe las vías que se utilizan para las fuentes y la tabla de colores RGB.

ServerFlags

Aquí se establecen las opciones generales.

InputDevice

En esta sección se configuran los dispositivos de entrada, tales como teclados y dispositivos de entrada especiales (touchpads, joysticks etc.). Los parámetros más importantes de esta sección son Driver y las opciones que definen Protocol y Device.

Monitor

Describe el monitor que se utiliza. Los elementos de esta sección son un nombre, al que más adelante hace referencia la definición Screen, bandwidth y los límites de frecuencia de sincronización (HorizSync y VertRefresh). Los ajustes se establecen en MHz, kHz y Hz. Normalmente, el servidor rechaza las modelines que no se correspondan con las características del monitor. Esto evita que se envíen por error al monitor frecuencias demasiado altas.

Modes

Aquí se almacenan los parámetros de modeline para las resoluciones de pantalla determinadas. SaX2 calcula estos parámetros basándose en los valores introducidos por el usuario, y en general no es necesario cambiarlos. Intervenga en este punto si, por ejemplo, desea conectar un monitor de frecuencia fija. Encontrará más detalles sobre el significado de cada valor numérico en el archivo HOWTO /usr/share/doc/howto/en/html/XFree86-Video-Timings-HOWTO.

Device

Esta sección define una tarjeta gráfica determinada. Se hace referencia a la tarjeta mediante su nombre descriptivo.

Screen

Esta sección reune un Monitor y un Device para conformar el conjunto de ajustes necesarios para X.Org. En la subsección Display, especifique el tamaño de la pantalla virtual (Virtual), ViewPort, y Modes que se utilizarán con esta pantalla.

ServerLayout

Esta sección define la disposición en uno o varios monitores. En ella se relaciona los dispositivos de entrada InputDevice con los dispositivos de visualización Screen.

Monitor, Device y Screen se explican con más detalle a continuación. Hay más información sobre las demás secciones en las páginas Man de X.Org y xorg.conf.

Es posible encontrar varias secciones Monitor y Device diferentes en xorg.conf. Incluso es posible que aparezca más de una sección Screen. La sección ServerLayout que figura a continuación es la que determina qué se utilizará.

14.2.1. Sección Screen

La sección Screen combina un monitor con una sección device y determina la resolución y la profundidad del color que se debe utilizar. El aspecto de una sección Screen puede ser similar al del Ejemplo 14.1, “Sección Screen del archivo /etc/X11/xorg.conf”.

Ejemplo 14.1. Sección Screen del archivo /etc/X11/xorg.conf


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

La línea Identifier (en este ejemplo, Screen[0]) proporciona un nombre concreto mediante el cual se puede hacer referencia a esta sección en la sección ServerLayout que sigue. Las líneas Device y Monitor especifican la tarjeta gráfica y el monitor que pertenecen a esta definición. Son simples enlaces a las secciones Device y Monitor con el correspondiente nombre o identifier. Dichas secciones se describen en detalle a continuación.

Utilice el ajuste DefaultDepth para seleccionar la profundidad de color por defecto que debe utilizar el servidor si no se inicia con una específica. Existe una subsección Display para cada profundidad de color. La palabra clave Depth asigna la profundidad de color válida para cada subsección. Los valores posibles de Depth son 8, 15, 16 y 24. Algunos módulos del servidor X no admiten todos los valores.

Después de la profundidad de color, se define una lista de resoluciones en la sección Modes. El servidor X lee la lista de izquierda a derecha. Para cada resolución, el servidor X busca un Modeline en la sección Modes. La Modeline depende de la capacidad del monitor y de la tarjeta gráfica. Los ajustes de Monitor determinan la Modeline que se obtiene como resultado.

La primera resolución que se encuentra es la de Default mode. Se puede cambiar a la siguiente resolución hacia la derecha de la lista mediante Ctrl-Alt-+ (del teclado numérico). Para cambiar a la siguiente resolución hacia la izquierda de la lista, useCtrl-Alt- (del teclado numérico). De esta manera es posible cambiar la resolución mientras se ejecuta X.

La última línea de la subsección Display con Depth 16 hace referencia al tamaño de la pantalla virtual. El tamaño máximo de la pantalla virtual depende de la cantidad de memoria instalada en la tarjeta gráfica y de la profundidad de color deseada, no de la resolución máxima del monitor. Puesto que las tarjetas gráficas modernas disponen de una gran cantidad de memoria de vídeo, se pueden crear escritorios virtuales muy grandes. Sin embargo, si se ocupa mucha memoria de vídeo con un escritorio virtual, es posible que ya no se puedan aprovechar las funciones 3D. Si, por ejemplo, la tarjeta dispone de 16 MB de RAM para vídeo, la pantalla virtual puede llegar a los 4096 x 4906 píxeles de tamaño con una profundidad de color de 8 bits. Sin embargo, en especial en el caso de tarjetas con aceleración, no se recomienda utilizar toda la memoria para la pantalla virtual, ya que la memoria de la tarjeta se utiliza para diferentes cachés de fuentes y gráficos.

14.2.2. Sección Device

Cada sección device describe una tarjeta gráfica determinada. Es posible incluir en xorg.conf tantas entradas device como se desee, siempre que se distingan sus nombres mediante la palabra clave Identifier. Como norma general, si dispone de más de una tarjeta gráfica instalada, las secciones se numeran en orden. La primera se llama Device[0], la segunda Device[1] y así sucesivamente. El siguiente archivo muestra un extracto de la sección Device de un equipo con una tarjeta gráfica PCI Matrox Millennium:

Section "Device"
  BoardName     "MGA2064W"
  BusID         "0:19:0"
  Driver        "mga"
  Identifier    "Device[0]"
  VendorName    "Matrox"
  Option        "sw_cursor"
EndSection

Si se utiliza SaX2 para la configuración, la sección device debería tener un aspecto similar al del ejemplo anterior. Tanto Driver como BusID dependen del hardware instalado en el equipo; SaX2 los detecta automáticamente. BusID define la ranura PCI o AGP en la que está instalada la tarjeta. Esto corresponde con el ID que muestra el comando lspci. El servidor X requiere que los valores estén en forma decimal, pero lspci los muestra en hexadecimal.

Mediante el parámetro Driver, especifique el parámetro que se utilizará para la tarjeta gráfica. Si la tarjeta es una Matrox Millennium, el módulo del controlador se llama mga. El servidor X buscará en la vía ModulePath definida en la sección Files del subdirectorio drivers. En una instalación estándar, se trata del directorio /usr/X11R6/lib/modules/drivers. Al nombre indicado se le añade _drv.o, de manera que, en el caso del controlador mga, se cargará el archivo mga_drv.o.

El comportamiento del servidor X y del controlador se puede modificar mediante opciones adicionales. Un ejemplo de ello es la opción sw_cursor, que se define en la sección device. Esta opción desactiva el cursor del ratón creado por hardware y lo dibuja mediante software. Hay varias opciones disponibles en función del módulo del controlador, que se pueden encontrar en los archivos de descripción de los módulos del controlador, en el directorio /usr/X11R6/lib/X11/doc. Las opciones válidas en general también se encuentran en las páginas Man (man xorg.conf y man X.Org).

14.2.3. Secciones Monitor y Modes

Al igual que las secciones Device, cada sección Monitor y Modes describe un monitor. El archivo de configuración /etc/X11/xorg.conf puede contener tantas secciones Monitor como se desee. La sección ServerLayout especifica qué sección Monitor es la relevante.

Las definiciones de Monitor sólo deben ser ajustadas por usuarios experimentados. Las modelines constituyen una parte importante de las secciones Monitor. Las modelines establecen la sincronización horizontal y vertical de la resolución respectiva. Las propiedades del monitor, en especial las frecuencias permitidas, se almacenan en la sección Monitor.

[Warning]Aviso

No cambie ningún parámetro de las modelines a menos que tenga un conocimiento profundo del funcionamiento del monitor y de la tarjeta gráfica, ya que podrían producirse daños graves en el monitor.

Para el desarrollo de descripciones de monitor propias es necesario conocer la documentación de /usr/X11/lib/X11/doc. Cabe destacar el apartado dedicado a los modos de vídeo. En él se describe en detalle el funcionamiento del hardware y la manera de crear modelines.

Hoy en día la especificación manual de modelines no suele ser necesaria. Si se utiliza un monitor multifrecuencia actual, generalmente el servidor X puede obtener las frecuencias permitidas y las resoluciones óptimas directamente del monitor por medio de DDC, tal y como se describe en la sección de configuración de SaX2. Si, por cualquier razón, no fuera posible obtenerlas, utilice uno de los modos VESA que se incluyen en el servidor X. Esto funcionará con prácticamente todas las combinaciones de tarjetas gráficas y monitores.