X.Org es una implementación de código abierto del sistema X Window desarrollada por la X.Org Foundation. Esta organización también se encarga de desarrollar nuevas tecnologías y estándares para el sistema X Window.
Para poder utilizar el hardware existente (ratón, tarjeta gráfica, monitor,
teclado) de la mejor manera posible, se puede optimizar la configuración de
forma manual. A continuación se discutirán algunos aspectos de esta
optimización manual. Puede encontrar información detallada sobre la
configuración del sistema X Window en diversos archivos del directorio
/usr/share/doc/packages/Xorg así como en la página man
man xorg.conf.
![]() | Aviso |
|---|---|
Se recomienda mucha precaución a la hora de configurar el sistema X Window. Jamás se debe arrancar X11 sin haber terminado la configuración. Un sistema mal configurado puede ocasionar daños irreparables en el hardware; los monitores de frecuencia fija corren un riesgo especial. Los autores de este libro y SUSE LINUX no se responsabilizan de posibles daños. El presente texto fue redactado con el máximo cuidado; no obstante, no se puede garantizar que lo métodos presentados sean correctos para su hardware ni que no puedan causarles daño. | |
Los programas SaX2 y
xf86config generan el archivo
xorg.conf y lo copian
generalmente en el directorio /etc/X11. Este es el
archivo de configuración principal del X Window
System que contiene las definiciones de ratón, monitor y
tarjeta de vídeo.
A continuación se describe la estructura del archivo de configuración
/etc/X11/xorg.conf. Este archivo se divide en secciones
(sections) que comienzan con la palabra clave
Section "nombre" y terminan con
EndSection. Estas secciones se explican a grandes
rasgos en los siguientes apartados.
xorg.conf se compone de varios párrafos llamados
secciones (sections)
y cada una contempla un determinado aspecto de la configuración. Cada sección
tiene la estructura:
Section "Nombre" definición 1 definición 2 definición n EndSection
Existen los siguientes tipos de secciones:
Tabla 11.2. Secciones en /etc/X11/xorg.conf
A continuación se contemplan más de cerca las secciones
Monitor, Device y
Screen. En las páginas del manual relativas a
X.Org y xorg.conf encontrará
información adicional sobre el resto de secciones.
El archivo xorg.conf puede contener varias secciones de
tipo Monitor y Device.
También pueden aparecer diversas secciones Screen.
De la siguiente sección ServerLayout depende cuál de
ellas se va a utilizar.
Primero queremos profundizar un poco más en la sección
Screen. Esta une una sección de Monitor y de Device
y determina qué resolución debe utilizarse con qué profundidad de color.
Una sección del tipo Screen puede parecerse, por ejemplo, al Ejemplo 11.1, “La sección Screen del archivo /etc/X11/xorg.conf”.
Ejemplo 11.1. La 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 el
identificador es Screen[0]) da un nombre único a la
sección para poder identificarla de forma inequívoca en la siguiente sección
ServerLayout. La tarjeta gráfica y el monitor
definido se asignan mediante las líneas Device y
Monitor a la pantalla
Screen. No son más que referencias a las secciones
de dispositivo (Device) y Monitor con los nombres correspondientes o
identificadores (identifiers). Estas secciones se
explican más adelante.
La variable DefaultDepth indica la profundidad
de color por defecto que usa el servidor cuando arranca sin definición
explícita de ella. A cada profundidad de color le sigue una subsección de
Display. La profundidad de color de cada subsección
se define por la palabra clave Depth. Los valores
posibles para Depth son 8, 15, 16, 24 y 32. No
todos los módulos de servidor X soportan todos los valores.
Después de definir la profundidad de color se define una lista de
resoluciones con Modes. El servidor X lee esta
lista de izquierda a derecha. Para cada una de las resoluciones listadas, el
servidor busca en la sección Modes un
Modeline que pueda ser representada por el monitor
y la tarjeta gráfica.
La primera resolución adecuada en este sentido es la que usa el servidor X
para arrancar (Default-Mode). Con las teclas
CtrL-Alt-gris
+ se puede navegar en la lista de resoluciones a la
derecha y con
CtrL-Alt-gris
- a la izquierda. Gris indica aquí que se trata de
teclas del bloque numérico, ya que estas se resaltan a veces en color gris.
Así se puede modificar la resolución en pantalla durante el tiempo de
ejecución del sistema X Window.
La última línea de la subsección Display con la
expresión Depth 16 se refiere al tamaño de la
pantalla virtual. El tamaño máximo de la pantalla virtual depende de la
cantidad de memoria instalada y de la profundidad de color deseada pero no
depende de la resolución máxima del monitor. Ya que las tarjetas gráficas
modernas ofrecen mucha memoria, se pueden crear escritorios virtuales muy
grandes. En tal caso es posible que ya no se pueda aprovechar la
aceleración 3D por haber ocupado toda la memoria de vídeo con un
escritorio virtual. Si la tarjeta tiene por ejemplo 16 MB Vídeo RAM, la
pantalla virtual puede ser de hasta 4096x4096(!) puntos con una profundidad
de color de 8 Bit. Para los servidores X acelerados no se recomienda de
ninguna manera usar todo el espacio de memoria disponible para la pantalla
virtual, ya que estos servidores usan la zona de memoria no usada de la
tarjeta para diferentes cachés de juegos de caracteres y de zonas de
gráficos.
Una sección de dispositivo (Device-Section),
describe una determinada tarjeta gráfica. xorg.conf
puede incluir una cantidad infinita de secciones de dispositivo siempre que
sus nombres, indicados con la palabra clave
Identifier, se distingan. Si hay varias tarjetas
gráficas montadas en la máquina, estas secciones reciben números
consecutivos comenzando con Device[0] para la
primera, Device[1] para la segunda, etc. El
siguiente archivo muestra el extracto de una sección del tipo
Device de un ordenador con una tarjeta PCI tipo
Matrox Millennium:
Section "Device" BoardName "MGA2064W" BusID "0:19:0" Driver "mga" Identifier "Device[0]" VendorName "Matrox" Option "sw_cursor" EndSection
La sección Device debería ser semejante a la que se
muestra arriba si se usa SaX2 para la configuración. SaX2 determina
automáticamente Driver y
BusID, los cuales dependen del hardware integrado
en su máquina. BusID determina la posición que
ocupa la tarjeta gráfica en el bus PCI o AGP y es equivalente al número que
lspci indica. Hay que tener en cuenta que el
servidor X usa valores decimales mientras que los de
lspci son hexadecimales.
En el parámetro Driver se determina el controlador
para la tarjeta gráfica, que en el caso de la Matrox Millennium es
mga. El servidor X busca el controlador en el
subdirectorio drivers de la rama
ModulePath definido en el apartado
Files. La rama completa para una instalación
estándar es /usr/X11R6/lib/modules/drivers. El nombre
completo del controlador se obtiene añadiendo _drv.o al
identificador, lo que resulta en nuestro ejemplo en
mga_drv.o.
Existen opciones adicionales para activar ciertas características del
servidor X y de su controlador. En este caso se ha usado como ejemplo
la opción sw_cursor que desactiva el cursor hecho
por hardware para emularlo mediante software. Según el controlador usado,
hay diferentes opciones que se explican junto con los controladores en el
directorio /usr/X11R6/lib/X11/doc. También puede
encontrar opciones generales en las páginas del manual
man xorg.conf y
man X.Org.
Las secciones de Monitor y de Modes, así como las de Device, describen un
monitor por cada sección y puede haber una cantidad infinita de estas
secciones en el archivo de configuración
/etc/X11/xorg.conf. En la sección de ServerLayout se
determina qué sección de monitor es relevante a efectos de la configuración.
Sólo usuarios muy experimentados deberían generar o ajustar una sección de Monitor (y sobre todo la de Modes) al igual que una sección de tarjeta gráfica. Una parte fundamental de la sección Modes son los Modelines que indican las sincronizaciones (timings) horizontales y verticales para cada resolución. La sección Monitor contiene las características del monitor y entre ellas sobre todo las frecuencias de refresco máximas.
![]() | Aviso |
|---|---|
Sin un buen conocimiento de la función de monitor y de tarjeta gráfica no se debería cambiar ningún valor de los Modelines, ya que esto podría provocar averías en el monitor. | |
A quienes deseen desarrollar sus propias descripciones de monitor
se les recomienda encarecidamente consultar la documentación
disponible en /usr/X11/lib/X11/doc. Mención
especial merece la sección dedicada a los modos de video, donde se
describe de forma detallada el funcionamiento del
hardware y la creación de Modelines.
Por fortuna, hoy en día casi nunca hace falta generar Modelines o definiciones de monitores manualmente. Si dispone de un monitor de multifrecuencia moderno, SaX2 puede leer vía DDC los rangos de frecuencia admitidas y las resoluciones óptimas directamente del monitor. Si esto no fuera posible, siempre se puede recurrir a uno de los modos VESA del servidor X que funcionan prácticamente con todas las combinaciones posibles de monitor y de tarjeta gráfica.