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
.
Debe de asegurarse de que /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.