La configuración de XFree86 no es difícil en la mayoría de los casos. De todos modos, si se da el caso de que emplees hardware cuyos controladores estén en desarrollo, o desees obtener las mejores prestaciones o resoluciones de una tarjeta gráfica aceleradora, la configuración de XFree86 puede requerir tiempo en algún aspecto.
En esta sección describiremos cómo crear y editar el archivo XF86Config
,
que configura el servidor XFree86. En muchos casos es mejor empezar con una
configuración ``básica'' de XFree86, que emplee una resolución baja, como
640x480, que debería ser soportada por todas las tarjetas de vídeo y monitores de todo tipo. Una vez se tenga XFree86 funcionando a resolución baja, estándar,
se podrá jugar con la configuración para explotar las posibilidades de su
hardware de vídeo. La idea es que lo que se debe saber es si XFree86 funciona
del todo en su sistema, y de que no hay nada erróneo en la configuración, antes
de intentar la a veces difícil tarea de configurar XFree86 para su auténtico
uso.
Además de la documentación relacionada aquí, se debe leer la siguiente documentación:
/usr/X11R6/lib/X11/doc
(contenida
en el paquete XFree86-3.1-doc
). Debe ser leído especialmente el
fichero README.Config
, que es un tutorial sobre la configuración de
XFree86. README
aparte,
sitos en el directorio mencionado antes (como README.Cirrus
y
README.S3
).
Leánse si son aplicables a su caso.XFree86
.XF86Config
.XF86_SVGA
o XF86_S3
). El fichero principal de configuración de XFree86 es /usr/X11R6/lib/X11/XF86Config
.
Este fichero contiene información de su ratón, parámetros de su tarjeta de vídeo,
y demás cosas relacionadas. El fichero XF86Config.eg
se adjunta con la
distribución como ejemplo. Copiar este fichero a XF86Config
y editarlo como punto de partida.
La página man de XF86Config
explica el formato de este fichero en detalle.
Léase esta página ahora, si es que no lo ha hecho todavía.
Vamos a presentar un fichero de configuración de muestra XF86Config
,
parte por parte. Este archivo puede no parecerse exactamente al fichero incluido
con la distribución de XFree86, pero la estructura es la misma.
Téngase en cuenta que el formato del archivo XF86Config
puede variar
con cada versión de XFree86; esta información sólo es válida para la versión 3.1 de XFree86.
Asimismo, no se debe copiar sin más el fichero de configuarción descrito aquí
a su sistema e intentar usarlo. El intentar emplear un fichero de configuración
que no se corresponde a su hardware puede someter al monitor a funcionar a
una frecuencia
demasiado alta para el mismo; se ha informado de monitores (especialmente monitores de frecuencia fija) que han sido dañados o inutilizados por el uso de
ficheros XF86Config
configurados incorrectamente. La conclusión:
Asegúrese completamente de que su archivo XF86Config
se corresponde
a su hardware antes de intentar hacer uso de él.
Cada sección del fichero XF86Config
va entre el par de líneas
Section "section-name"
...
EndSection
La primera parte del fichero XF86Config
es Files
, que tiene este aspecto:
Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
EndSection
La línea RgbPath
define la trayectoria o path hacia la base de datos de
color de X11R6, y cada línea FontPath
define la trayectoria hacia el
directorio que contenga las fuentes X11. En general no hace falta modificar
estas líneas; basta con cerciorarse de que hay una entrada FontPath
por cada tipo de
fuente que se haya instalado (es decir, por cada directorio de /usr/X11R6/lib/X11/fonts
).
La siguiente sección es ServerFlags
, que especifica distintos
parámetros para el servidor. Generalmente esta sección está vacía.
Section "ServerFlags"
# descomentar esto puede causar un ``core dump'' en el punto en que
# se reciba una signal. Esto puede dejar la consola en un estado inoperante,
# pero puede proveer un seguimiento de los fallos mejor al core dump para
# ayudar a localizar errores
# NoTrapSignals
# Descomentar esto para inhabilitar la secuencia de salida del servidor
# DontZap
EndSection
Aquí tenemos todos los renglones comprendidos por las secciones descomentados.
La siguiente sección es Keyboard
. Esta deberá ser bastante intuitiva.
Section "Keyboard"
Protocol "Standard"
AutoRepeat 500 5
ServerNumLock
EndSection
Hay más opciones disponibles ---ver el fichero XF86Config
si se quiere modificar la configuración del teclado--- lo anterior debe
funcionar en la mayoría de los sistemas.
La siguiente sección es Pointer
, que especifica los parámetros para el ratón.
Section "Pointer"
Protocol "MouseSystems"
Device "/dev/mouse"
# Baudrate y SampleRate son solo para algunos ratones Logitech
# BaudRate 9600
# SampleRate 150
# Emulate3Buttons es una opcion para los ratones de 2 botones tipo Microsoft
# Emulate3Buttons
# ChordMiddle es una opcion para algunos ratones de 3 botones Logitech
# ChordMiddle
EndSection
Las únicas opciones que deberían afectarle por ahora son Protocol
y
Device
. Protocol
especifica el protocolo que su ratón
usa (no la marca o modelo del ratón). Los tipos válidos de Protocol
(bajo LiNUX, hay otras opciones disponibles para otros Sistemas Operativos) son:
BusMouse
Logitech
Microsoft
MMSeries
Mouseman
MouseSystems
PS/2
MMHitTab
BusMouse
Debe ser empleado con el ratón tipo busmouse Logitech.
Téngase en cuenta que los ratones antiguos Logitech usarán protocolos
Logitech
, pero los nuevos ratones Logitech emplean protocolos tanto
Microsoft
como Mouseman
.
Este es un caso en el que el protocolo no tiene que ver necesariamente con
la marca o modelo del ratón.
Device
especifica el fichero de dispositivo con el que se puede
acceder al ratón. En la mayoría de los sistemas LiNUX, es /dev/mouse
.
/dev/mouse
ES generalmente un enlace al puerto serie apropiado (como
/dev/cua0
) para un ratón serie, o al dispositivo busmouse para
ratones busmouse. En cualquiera de los casos, asegurarse de que el fichero de dispositivo mencionado en Device
existe.
La siguiente sección es Monitor
, que especifica las características de tu monitor. Como con otras secciones del fichero XF86Config
,
puede haber más de una sección Monitor
.
Esto es útil si se tiene más de un monitor conectado a un sistema, o si se
emplea el mismo fichero XF86Config
con multiples configuraciones
de hardware.
No obstante, en general, sólo se necesitará una sección Monitor
.
Section "Monitor"
Identifier "CTX 5468 NI"
# Estos valores son unicamente para un CTX 5468NI! No intentar emplearlo
# con su monitor (a menos que tenga este modelo)
Bandwidth 60
HorizSync 30-38,47-50
VertRefresh 50-90
# Modes: Name dotclock horiz vert
ModeLine "640x480" 25 640 664 760 800 480 491 493 525
ModeLine "800x600" 36 800 824 896 1024 600 601 603 625
ModeLine "1024x768" 65 1024 1088 1200 1328 768 783 789 818
EndSection
La línea Identifier
se emplea para otorgar un nombre arbitrario
a la entrada Monitor
. Esta puede ser una cadena; se empleará para
referirse posteriormente a la entrada Monitor
en el fichero XF86Config
.
Estas son listadas a continuación.
HorizSync
especifica las frecuencias horizontales de sincronismo
para su monitor, en kHz. Si se tiene un monitor multisync, tiene que ser
un rango de valores (o varios rangos separados por comas), como se ve a continuación. Si se tiene un monitor de frecuencia fija, debe ser una relación de valores concretos, como:
HorizSync 31.5, 35.2, 37.9, 35.5, 48.95
El manual del monitor debe proporcionar esos valores en las especificaciones
técnicas. Si no se dispone de esta información, se puede contactar tanto con
el fabricante como con el vendedor del monitor para obtenerlas. También existen
otras fuentes de información.
VertRefresh
especifica los intervalos verticales de refresco
horizontal válidos (o frecuencias de sincronismo vertical) para el
monitor, en Hz.
Como HorizSync
, este dato puede ser un intervalo o una
lista de valores discretos; el manual del monitor debe de tener una lista
de ellos.
HorizSync
y VertRefresh
se emplean sólo para comprobar
doblemente que las resoluciones de pantalla que se especifiquen están
comprendidas en los intervalos válidos. Esto se hace para disminuir el
riesgo de dañar el monitor, intentando hacerlo funcionar a una frecuencia
para la que no está diseñado.
la indicación ModeLine
se emplea para especificar una única resolución
para el monitor. El formato de ModeLine
es
ModeLine nombre valores_de_reloj valores_horiz. valores_vert.
nombre
es una cadena arbitraria, que se empleará para referirse a
dicho modo de resolución en el archivo posteriormente.
valores_de_reloj
son las frecuencias de reloj a las que se somete, o ``dot-clock'' asociado
a dicho modo de resolución. La frecuencia de reloj se especifica normalmente
en MHz, y es el rango al cual la tarjeta de vídeo deberá mandar los ``pixels''
al monitor a esa resolución.
valores_horiz
y valores_vert
son cuatro valores, especificando
cada uno cuándo debe de dispararse el haz de electrones, y cuándo tienen lugar
los pulsos horizontales y verticales de sincronismo durante un barrido.
¿Cómo se pueden determinar los valores de ModeLine
para su monitor?
El fichero VideoModes.doc
, incluido con la distribución de XFree86,
describe en detalle cómo determinar esos valores para cada modo de resolución
que soporte el monitor. Antes que nada, valores_de_reloj
debe
corresponderse a uno de los valores de ``dot-clock'' que pueda producir su
tarjeta. Posteriormente, en el archivo XF86Config
especificaremos
estos valores; sólo se pueden usar modos de vídeo con un valor de
frecuencia_de_reloj
soportados por la tarjeta de vídeo.
Hay dos ficheros incluidos en la distribución de XFree86 que puede que
contengan valores de ModeLine
para su monitor. Estos archivos son
modeDB.txt
y Monitors
, residiendo ambos en /usr/X11R6/lib/X11/doc
.
Se debe comenzar con los valores de ModeLine
para los tiempos
correspondientes al monitor estándar VESA, que son soportados por la mayoría
de los monitores. modeDB.txt
incluye valores de tiempo para
resoluciones VESA estándar. En ese fichero, se verán entradas como:
# 640x480@60Hz Non-Interlaced mode
# Horizontal Sync = 31.5kHz
# Timing: H=(0.95us, 3.81us, 1.59us), V=(0.35ms, 0.064ms, 1.02ms)
#
# name clock horizontal timing vertical timing flags
"640x480" 25.175 640 664 760 800 480 491 493 525
Este es un valor de tiempo estándar VESA para un modo de vídeo 640x480.
Emplea un ``dot-clock'' de 25.175, que debe de ser soportado por la tarjeta
de vídeo para usar este modo (más sobre esto después). Para incluir esta entrada
en el archivo XF86Config
, deberá emplearse la línea:
ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525
Téngase en cuenta que el argumento nombre
para ModeLine
(en este
caso "640x480"
) es una cadena de valores arbitrarios
--- por convención, se nombra el modo tras la resolución, pero nombre
puede ser técnicamente cualquier dato descriptivo que dé una referencia
sobre el modo para nosotros.---
Para cada ModeLine
empleado, el servidor comprobará que las
especificaciones para dicho modo caen dentro del intervalo de valores
especificados con Bandwidth
, HorizSync
y VertRefresh
.
Si no es así, el servidor protestará cuando se intente iniciar X (más sobre
esto más adelante). Por cierta razón, el ``dot-clock'' empleado por el modo
en cuestión no deberá ser mayor que el valor usado por Bandwidth
.
(No obstante, en muchos casos es más seguro el uso de modos con un ancho de banda ligeramente mayor del que el monitor puede soportar.)
Si los valores estándar VESA no funcionan en su caso (sabrá, tras intentarlo,
usarlos más adelante) es momento de mirar en modeDB.txt
y Monitors
,
que incluyen valores para modos específicos de muchos tipos de monitor.
Se pueden crear entradas ModeLine
para los valores hallados en esos
dos ficheros también. Asegúrese de sólo emplear valores para el modelo
específico de monitor que se tenga. Téngase en cuenta que muchos monitores
de 14 y 15 pulgadas no soportan los modos de resolución más altos, ni a veces
resoluciones de 1024x768 a valores bajos de frecuencias de reloj. Esto significa
que si no puede encontrar modos de alta resolución para su monitor en esos
archivos, es muy probable que el monitor no los soporte.
Si se está completamente perdido, y no se puede hacer funcionar los valores
ModeLine
para su monitor, se puede seguir las instrucciones del
archivo VideoModes.doc
, incluido con la distribución de XFree86,
para generar valores de ModeLine
de las especificaciones enumeradas
en el manual del monitor. Aunque el tiempo requerido para intentar generar
valores ModeLine
a mano puede variar, este es un buen sitio donde
mirar si no se encuentran los valores que se precisan. VideoModes.doc
también describe el formato de la indicación ModeLine
y otros aspectos
del servidor XFree86 con morboso detalle.
Por último, si se obtienen valores ModeLine
que son casi, pero
no del todo correctos, puede ser posible ir modificando ligeramente sus
valores hasta obtener los resultados deseados. Por ejemplo, si al ejecutarse
XFree86 la imagen del monitor se desvía ligeramente, o parece fluctuar, se
pueden seguir las instrucciones del fichero VideoModes.doc
para
intentar corregir esos valores. ¡Asegúrese también de comprobar los mandos del
monitor propiamente dicho! En muchos casos es necesario cambiar el tamaño
horizontal o vertical de la imagen tras arrancar XFree86 para centrarla y
ajustar su tamaño correctamente. El tener dichos mandos de control en el frontal
del monitor pueden desde luego hacerle la vida más fácil.
No se deben emplear valores de frecuencia o de ModeLine
para
otros modelos de monitor que no sea el suyo. Si se intenta someter al monitor
a otra frecuencia para la que no esté diseñado, se puede dañar o incluso
inutilizar definitivamente.
La siguiente sección del fichero XF86Config
es Device
,
que especifica los parámetros de su tarjeta de vídeo. He aquí un ejemplo.
Section "Device"
Identifier "#9 GXE 64"
# Nada por ahora; completaremos estos valores posteriormente.
EndSection
Esta sección define las propiedades de una tarjeta de vídeo en particular.
Identifier
es una secuencia arbitraria que describe a la tarjeta;
usaremos esta secuencia para referirnos a la tarjeta posteriormente.
Inicialmente, no es preciso incluir nada en la sección Device
,
excepto en Identifier
. Esto se debe a que emplearemos el propio
servidor X para probar las propiedades de la tarjeta de vídeo, introduciéndolas
en la sección Device
más tarde.
El servidor XFree86 es capaz de comprobar el chipset de vídeo, las frecuencias
de reloj, RAMDAC, y la cantidad de RAM de vídeo que tiene la tarjeta.
No obstante, antes de que hagamos esto, necesitamos terminar de escribir el
fichero XF86Config
. La siguiente sección es Screen
, que
especifica la combinación de tarjeta de vídeo/monitor a usar por un servidor
en particular.
Section "Screen"
Driver "Accel"
Device "#9 GXE 64"
Monitor "CTX 5468 NI"
Subsection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 1024 768
EndSubsection
EndSection
La línea Driver
especifica el servidor X que se va a emplear.
Los valores válidos para Driver
son:
Accel
: Para los servidores XF86_S3
, XF86_Mach32
, XF86_Mach8
,
XF86_8514
, XF86_P9000
, XF86_AGX
, y XF86_W32
;SVGA
: Para el servidor XF86_SVGA
;VGA16
: Para el servidor XF86_VGA16
;VGA2
: Para el servidor XF86_Mono
;Mono
: Para los controladores de los servidores no-VGA monocromos de XF86_Mono
y XF86_VGA16
./usr/X11R6/bin/X
es un enlace simbólico al
servidor que se esté empleando.
La línea Device
especifica la secuencia Identifier
de la
sección Device
correspondiente a la tarjeta de vídeo a emplear para
dicho servidor.
Anteriormente, creamos una sección Device
con la línea
Identifier "#9 GXE 64"
Por tanto, empleamos "#9 GXE 64"
en la línea
Device
aquí.
Análogamente, la línea Monitor
especifica el nombre de la sección
Monitor
a usarse con este servidor. Aquí, "CTX 5468 NI"
es el Identifier
empleado para la sección Monitor
descrita anteriormente.
Subsection "Display"
define varias propiedades del
servidor XFree86 correspondientes a su combinación de monitor/tarjeta de vídeo.
El archivo XF86Config
describe todas estas opciones en detalle;
la mayoría de ellas son para ``poner la guinda'' al pastel y no son necesarias
para hacer funcionar el sistema.
Las opciones que debe conocer son:
Depth
. Define el número de planos de color ---el número de bits
por pixel---. Normalmente, Depth
está configurado a 8. Para el
servidor VGA16
, se debe usar una profundidad (de color) de 4, y para
el servidor monocromo una profundidad de 1. Si se está empleando una tarjeta
aceleradora con suficiente memoria para soportar más bits por pixel, se puede
definir Depth
Modes
. Esta es la lista de nombres de modos de vídeo que han
sido definidos empleando la etiqueta ModeLine
de la sección Monitor
.
En la anterior sección empleamos a ModeLines
con el nombre
"1024x768"
,
"800x600"
, y "640x480"
.
Por tanto, usaremos una línea Modes
tal como
Modes "1024x768" "800x600" "640x480"
El primer modo que aparece en esta línea será el adoptado por defecto al
arrancar XFree86. Una vez se esté ejecutando XFree86, se puede cambiar entre
los modos que aparezcan aquí empleando las teclas ctrl-alt-numerico +
y
ctrl-alt-numerico -
.
Lo mejor sería emplear modos de baja resolución al configurar inicialmente
XFree86, como 640x480, que tenderán a funcionar en la mayoría de los sistemas.
Una vez se tenga la configuración básica funcionando, se puede modificar
XF86Config
para proporcionar mayores resoluciones.
Virtual
. Establece el tamaño de escritorio virtual. XFree86 posee
la capacidad de emplear la memoria adicional disponible en su tarjeta para
aumentar el tamaño de su escritorio. Cuando mueva el puntero del ratón al borde
de la pantalla, el escritorio se desplazará, visualizando el espacio adicional.
Por tanto, incluso si se emplean los modos de menor resolución como 800x600,
se puede definir Virtual
a la resolución total que pueda proporcionar
su tarjeta (una tarjeta de vídeo de 1 megabyte puede soportar 1024x768 con
una profundidad de 8 bits por pixel; una tarjeta de 2 megabytes 1280x1024 con
una profundidad de 8, o 1024x768 a una profundidad de 16)
Virtual
es una forma estupenda de emplear la memoria
de su tarjeta de vídeo, pero es más bien limitada. Si se desea utilizar un
verdadero escritorio virtual, sugerimos emplear fvwm
, o un gestor
de ventanas similar en su lugar. fvwm
permite tener escritorios
virtuales suficientemente grandes (implementado mediante la ocultación de
ventanas y similar, en vez de almacenar el escritorio completo en la memoria
de vídeo de golpe). Ver las páginas man
de fvwm
para
obtener más detalles sobre esto; la mayoría de los sistemas LiNUX emplean
fvwm
por defecto.
ViewPort
. Si se emplea la opción Virtual
descrita
anteriormente, ViewPort
define las coordinadas de la esquina
superior izquierda del escritorio virtual al arrancar XFree86.
Lo más usado es Virtual 0 0
; si no se especifica así, el escritorio
se centra en la pantalla del escritorio virtual (lo cual puede no ser lo deseado).
Existen muchas opciones para esta sección; ver la página man
de XF86Config
para una descripción completa. En la práctica no son necesarias estas opciones
para conseguir que XFree86 funcione inicialmente.