<!-- 0,1 -->
<!-- XFree86,0 -->
<!-- Matt,Welsh,mdw@sunsite.unc.edu -->
<!-- 3.0,1995-03-15 -->
<!-- XFree86 -->
<!-- Francisco J.,Montilla,pacopepe@insflug.org -->
<!-- 1.0,1997-02-04 -->
<!-- XFree86,Xwindow,GUI -->
<!-- Software,Xwindow -->

<!doctype linuxdoc system> 

<article>

<title>Linux XFree86 COMO

<author>Por Matt Welsh, <tt><htmlurl url="mailto:mdw@sunsite.unc.edu" 
name="mdw@sunsite.unc.edu"></tt> &nl Traducido por Francisco José
Montilla, <tt><htmlurl url="mailto:pacopepe@insflug.org"
name="pacopepe@insflug.org"></tt>

<date>v3.0, 15 Marzo de 1995

<abstract>
Este documento describe cómo obtener, instalar y configurar la versión
3.1.1 de la variante XFree86 del Sistema X Window (X11R6)  para sistemas
LiNUX. Es una guía paso a paso para configurar XFree86 en su sistema. 
</abstract>

<toc>

<sect>Introducción

<p>

El sistema X Window<footnote>N. del T. W-i-n-d-o-w, sin la `s' final, a
diferencia de cierto <em/sistema aperitivo/ ;-)</footnote> es un enorme y
potente (y en cierto modo, complejo) entorno gráfico para sistemas UNIX. 
El código original del Sistema X Window fue desarrollado en el
MIT<footnote>N. del T. <em/Masachussets Institute of Technology/,
Instituto Tecnológico de Masachussets)</footnote>; las casas comerciales
han hecho desde entonces de X un estándard industrial para plataformas
UNIX. Prácticamente, cada estación de trabajo UNIX que exista en el mundo
hace funcionar alguna variante del Sistema X Window.

Ha sido desarrollada una adaptación de libre distribución del Sistema X
Window del MIT, versión 11, edición 6 (X11R6) para sistemas UNIX sobre
80386/80486/Pentium, por un equipo de programadores encabezados
originariamente por David Wexelblat (<tt>dwex@XFree86.org</tt>).  La
edición, conocida como XFree86, está disponible para implementaciones UNIX
System V/386, 386BSD, y otras basadas en x86, incluyendo LiNUX. Incluye
todos los binarios<footnote>N. del T. Ejecutables ya
compilados</footnote>, ficheros de soporte, librerías y herramientas
necesarias.

En este documento, daremos una descripción paso a paso de cómo instalar y
configurar XFree86 para LiNUX, aunque tendrás que completar ciertos
detalles por tí mismo, leyendo la documentación adjunta a la misma
distribución de XFree86. (Esta documentación es discutida más adelante.) 
No obstante, el uso y personalización del sistema X Window sobrepasa el
objetivo de este documento ---para este propósito, deberías hacerte con
alguno de los buenos libros existentes sobre el empleo del sistema X
Window---

<sect>Requisitos de Hardware
<p>

Como en XFree86 versión 3.1.1, difundida en Febrero del 1995, son
soportados los chipsets que detallamos más adelante. La documentación
incluida con su adaptador de vídeo debería especificar el chipset que
emplea. Si está buscando un nueva tarjeta gráfica, o va a comprar una
máquina nueva que la incorpora, haga que el vendedor le especifique con
exactitud la marca, modelo, y chipset de la tarjeta.  Para ello, es
posible que el vendedor tenga que contactar con el servicio técnico para
tu propio beneficio; generalmente, los vendedores estarán contentos de
hacerlo. 

Muchos vendedores de hardware para PC dirán que la tarjeta es una "SVGA
estándard" que "debería funcionar" en su sistema.  Explique que su
software (¡mencione LiNUX y XFree86!) no soporta todos los chipsets de
vídeo, y que debe tener información detallada. 

También se puede determinar el chipset de su tarjeta de vídeo ejecutando
el programa <tt>SuperProbe</tt> que incluye la distribución de XFree86. 
Esto se trata con mayor detalle más adelante. 

Son soportados los siguientes chipsets SVGA<footnote>N. del T. Como
comprenderá el lector por la fecha de divulgación del presente documento,
esta lista no es ni mucho menos actual; una visita a <tt/www.xfree86.org/
es un buen método para obtener información más reciente. Otros lugares de
interés: www.nine.com,(información sobre configuraciónes LiNUX de sus
tarjetas) www.s3.com</footnote>: 

<itemize>
<item>    Tseng ET3000, ET4000AX, ET4000/W32
<item>    Western Digital/Paradise PVGA1
<item>    Western Digital WD90C00, WD90C10, WD90C11, WD90C24, WD90C30, WD90C31,
                    WD90C33
<item>    Genoa GVGA
<item>    Trident TVGA8800CS, TVGA8900B, TVGA8900C, TVGA8900CL, TVGA9000,
            TVGA9000i, TVGA9100B, TVGA9200CX, TVGA9320, TVGA9400CX, TVGA9420
<item>    ATI 18800, 18800-1, 28800-2, 28800-4, 28800-5, 28800-6, 68800-3,
        68800-6, 68800AX, 68800LX, 88800
<item>    NCR 77C22, 77C22E, 77C22E+
<item>    Cirrus Logic CLGD5420, CLGD5422, CLGD5424, CLGD5426, CLGD5428,
                 CLGD5429, CLGD5430, CLGD5434, CLGD6205, CLGD6215,
                 CLGD6225, CLGD6235, CLGD6420
<item>    Compaq AVGA
<item>    OAK OTI067, OTI077
<item>    Avance Logic AL2101
<item>    MX MX68000, MX680010
<item>    Video 7/Headland Technologies HT216-32
</itemize>

Los siguientes chipsets SVGA con prestaciones de aceleración también son
soportados: 

<itemize>
<item>    8514/A (y clónicas genuinas)
<item>    ATI Mach8, Mach32
<item>    Cirrus CLGD5420, CLGD5422, CLGD5424, CLGD5426, CLGD5428, CLGD5429,
           CLGD5430, CLGD5434, CLGD6205, CLGD6215, CLGD6225, CLGD6235
<item>    S3 86C911, 86C924, 86C801, 86C805, 86C805i, 86C928, 86C864, 86C964
<item>    Western Digital WD90C31, WD90C33
<item>    Weitek P9000
<item>    IIT AGX-014, AGX-015, AGX-016
<item>    Tseng ET4000/W32, ET4000/W32i, ET4000/W32p
</itemize>

Las tarjetas que emplean estos chipsets son soportadas en todos las clases
de buses, incluyendo VLB y PCI. 

Todo lo anterior es soportado tanto en modos monocromo y 256 colores, con
la excepción de los chipsets Avance Logic<footnote> N. del T. Atención: 
esta tarjeta ha tenido una difusión <em/muy/ amplia en España.</footnote>,
MX y Video 7, que sólo son soportados en el modo de 256 colores. Si su
tarjeta de vídeo tiene bastante DRAM instalada, muchos de los anteriores
chipsets<footnote>N. del T. Por propia experiencia, la Avance Logic tiene
idénticas prestaciones con 1 ó 2 megas de DRAM; no soporta más colores por
ampliarla a 2 megas :-(.</footnote> son soportados en modos de 16 y 32
bits por pixel (más específicamente, algunas tarjetas Mach32, P9000, S3 y
Cirrus). La configuración corriente es 8 bits por pixel (osea, 256
colores). 
 
Los servidores monocromos también soportan tarjetas VGA genéricas, y las
tarjetas monocromas Hercules, Hyundai HGC1280, Sigma LaserView, y Apollo
monochrome. En la Compaq AVGA, sólo son soportados 64k de memoria de vídeo
para el servidor monocromo, y la GVGA no ha sido probada con más de 64k. 

Esta lista crecerá indudablemente con el tiempo. Las notas de distribución
de la versión actual de XFree86 contendrán una relación completa de los
chipsets de vídeo soportados. 

Un problema al que se enfrentan los desarrolladores de XFree86 es que
ciertos fabricantes de tarjetas de vídeo no emplean mecanismos estándar
para determinar las frecuencias de reloj empleadas para controlar la
tarjeta. Algunos de ellos o no proporcionan especificaciones describiendo
cómo programar la tarjeta, o exigen a los desarrolladores firmar una
declaración de no-divulgación para obtener la información.

Esto limita obviamente la libre distribución del software XFree86, que es
algo que no está dispuesto a hacer el equipo de desarrollo de XFree86.
Durante bastante tiempo, este ha sido un problema con determinadas
tarjetas de vídeo fabricadas por Diamond, pero al tiempo de la divulgación
de la versión 3.1 de XFree86, Diamond ha comenzado a trabajar con el
equipo de desarrollo a fin de distribuir controladores de libre
distribución para estas tarjetas. 

La configuración recomendada para XFree86 bajo LiNUX es una máquina 486
con al menos 8 megabytes de RAM, y una tarjeta de vídeo con alguno de los
chipsets relacionados anteriormente. Para obtener unas prestaciones
óptimas, sugerimos emplear una tarjeta aceleradora, como una tarjeta con
chipset S3. Se debe comprobar la documentación de XFree86 y asegurarse de
que su tarjeta en particular es soportada antes de decidirse y adquirir
hardware costoso. Los índices comparativos de rendimiento para varias
tarjetas bajo XFree86 son enviadas regularmente a los newsgroups
<tt>comp.windows.x.i386unix</tt> y <tt>comp.os.linux.x</tt>. 
 
Como nota al margen, mi sistema personal LiNUX es un 486DX2-66, 20
megabytes de RAM, equipado con un tarjeta de chipset VLB S3-864 con 2
megabytes de DRAM. He ejecutado benchmarks<footnote> N. del T. Programas
para evaluar las prestaciones de un sistema determinado.</footnote> bajo X
en esta máquina y en estaciones de trabajo Sun Sparc IPX. El sistema LiNUX
es a <em/grosso modo/ 7 veces más rápido que el Sparc IPX. (Para los
curiosos, XFree86-3.1 bajo LiNUX, se ejecuta a alrededor de 171,000
xstones; el Sparc IPX a alrededor de 24,000). 

En general, XFree86 en un sistema LiNUX con tarjeta aceleradora le
proporcionará muchas más prestaciones que las encontradas en estaciones de
trabajo UNIX comerciales (que generalmente utilizan simples
framebuffers<footnote> N. del T. Genéricamente, dispositivo físico capaz
de almacenar información sobre una imagen en memoria.</footnote> para los
gráficos)

Su máquina precisará al menos 4 megabytes de RAM física, y 16 megabytes de
RAM virtual global. (por ejemplo, 8 megas de física y 8 megas de
swap<footnote> N. del T. Mecanismo por el cual se pasan a disco páginas de
memoria RAM cuando ésta se agota. En adelante, me referiré a este sistema
como <em/paginación/ también.</footnote>). 


Recuérdese que cuanta más RAM física se tenga, menos paginará el sistema
al y desde el disco cuando la memoria esté baja. Debido a que la
paginación es inherentemente lenta (los discos son muy lentos comparados
con la memoria), el tener 8 megabytes o más de RAM es lo necesario para
hacer funcionar XFree86 confortablemente. 

Un sistema con 4 megabytes<footnote>N. del T. Para aquellos que no puedan
disponer de más, o por razones de espacio en el HD, decir a título
informativo que existe el paquete <em/Tiny-X/ para estos
casos.</footnote>de RAM física podría funcionar <em/mucho/ más lento
(hasta 10 veces) que uno con 8 o más megas. 

<sect>Instalación de XFree86
<p>

La distribución binaria de XFree86 puede encontrarse en varios servidores
de FTP. En <tt>sunsite.unc.edu</tt>, se encuentra en
<tt>/pub/Linux/X11</tt>. ( En el momento de escribir esto, la versión
actual es la 3.1.1; se distribuyen nuevas versiones periódicamente). 

Es muy probable que se haya obtenido XFree86 como parte de una
distribución LiNUX, en cuyo caso el obtener el software por separado no es
necesario. 

Si se obtiene XFree86 por FTP directamente, la siguiente relación enumera
los archivos de la distribución XFree86-3.1. 

Se requiere uno de los siguientes servidores:

<descrip>
<tag/XF86-3.1.1-8514.tar.gz/ Servidor para tarjetas basadas en 8514. 
<tag/XF86-3.1.1-AGX.tar.gz/   Servidor para tarjetas basadas en AGX. 
<tag/XF86-3.1.1-Mach32.tar.gz/  Servidor para tarjetas basadas en Mach32.
<tag/XF86-3.1.1-Mach8.tar.gz/  Servidor para tarjetas basadas en Mach8. 
<tag/XF86-3.1.1-Mono.tar.gz/  Servidor para modos de vídeo monocromos.
<tag/XF86-3.1.1-P9000.tar.gz/ Servidor para tarjetas basadas en P9000.
<tag/XF86-3.1.1-S3.tar.gz/   Servidor para tarjetas basadas en S3.
<tag/XF86-3.1.1-SVGA.tar.gz/ Servidor para tarjetas basadas en Super VGA.
<tag/XF86-3.1.1-VGA16.tar.gz/  Servidor para tarjetas basadas en VGA/EGA.
<tag/XF86-3.1.1-W32.tar.gz/  Servidor para tarjetas basadas en ET4000/W32.
</descrip>

Son necesarios todos los siguientes archivos:

<descrip>
<tag/XF86-3.1.1-bin.tar.gz/ El resto de los binarios de X11R6. 

<tag/XF86-3.1.1-cfg.tar.gz/ Archivos de configuración <tt>xdm</tt>,
<tt>xinit</tt> y <tt>fs</tt>.

<tag/XF86-3.1.1-doc.tar.gz/ Documentación y páginas man. 
<tag/XF86-3.1.1-inc.tar.gz/ Archivos include. 
<tag/XF86-3.1.1-lib.tar.gz/ Librerías X compartidas y ficheros de soporte. 
<tag/XF86-3.1-fnt.tar.gz/ Fuentes (tipográficas) básicas. 
</descrip>

Son opcionales los siguientes archivos:

<descrip>
<tag/XF86-3.1-ctrb.tar.gz/ Programas de contribución seleccionados.   
<tag/XF86-3.1-extra.tar.gz/ Servidores XFree86 extra y binarios. 
<tag/XF86-3.1-lkit.tar.gz/ Kit de enlace de Servidores para personalizaciones. 
<tag/XF86-3.1-fnt75.tar.gz/ Fuentes de pantalla de 75-dpi.
<tag/XF86-3.1-fnt100.tar.gz/ Fuentes de pantalla de 100-dpi.
<tag/XF86-3.1-fntbig.tar.gz/  Fuentes grandes Kanji y otras. 
<tag/XF86-3.1-fntscl.tar.gz/ Fuentes escalables (Speedo, Tipo1).
<tag/XF86-3.1-man.tar.gz/ Páginas de manual. 
<tag/XF86-3.1-pex.tar.gz/ Binarios PEX, archivos include y librerías. 
<tag/XF86-3.1-slib.tar.gz/ Librerías estáticas X y archivos de soporte.

<tag/XF86-3.1-usrbin.tar.gz/ Demonios<footnote> N. del T. Para los que
vienen del dos, son análogos a los TSRs.</footnote> que residen en
<tt>/usr/bin</tt>. 

<tag/XF86-3.1-xdmshdw.tar.gz/ Versión de ``Shadow password'' de xdm.
</descrip>

El directorio XFree86 debe contener archivos <tt/README/ y notas de la
instalación para la versión actual. 

Todo lo necesario para instalar XFree86 es hacerse con los anteriores
ficheros, crear el directorio <tt>/usr/X11R6</tt> (como <tt/root/), y
descomprimir los archivos de <tt>/usr/X11R6</tt> con un comando como: 

<tscreen><verb>
gzip -dc XF86-3.1.1-bin.tar.gz | tar xfB -
</verb></tscreen>

Recuérdese que estos archivos tar son empaquetados en relación con
<tt>/usr/X11R6</tt>.  Por tanto, es importante desempaquetar los archivos
ahí. 

Tras desempaquetar los archivos, lo primero que se necesita es enlazar el
archivo <tt>/usr/X11R6/bin/X</tt> al servidor que se esté usando. Por
ejemplo, si se desea usar el servidor color SVGA, se debe enlazar
<tt>/usr/bin/X11/X</tt> con <tt>/usr/X11R6/bin/XF86_SVGA</tt>. Si en lugar
de este se desea emplear el servidor monocromo, reenlazar este archivo con
<tt>XF86_MONO</tt> mediante el comando <tscreen><verb> ln -sf
/usr/X11R6/bin/XF86_MONO /usr/X11R6/bin/X </verb></tscreen> Lo mismo
continúa siendo cierto si se emplea alguno de los demás servidores. 

Si no se está seguro de cuál servidor usar, o no se conoce el chipset de
la tarjeta, se puede ejecutar el programa <tt>SuperProbe</tt>, que se
encuentra en <tt>/usr/X11R6/bin</tt> (está incluido en el paquete
<tt>XF86-3.1-bin</tt> listado anteriormente).  Este programa intentará
determinar el tipo de chipset y otra información;  anotar sus resultados
para posteriores referencias. 

Es preciso asegurarse de que <tt>/usr/X11R6/bin</tt> esté en el path. 
Esto puede conseguirse editando el fichero por defecto de su sistema
<tt>/etc/profile</tt> o <tt>/etc/csh.login</tt> (basado en el shell o
intérprete de comandos que Vd. u otros usuarios del sistema utilicen.) O
se puede simplemente añadir el directorio al path personal modificando
<tt>/etc/.bashrc</tt> o <tt>/etc/.cshrc</tt>, dependiendo del shell
empleado. 

También es preciso asegurarse de que <tt>/usr/X11R6/lib</tt> pueda ser
localizado por <tt>ld.so</tt>, el <em/runtime linker/<footnote> N. del T.
¿Alguna sugerencia para traducir este término? ¿enlazador dinámico de
librerías (o es muy ``liberal'' esta traducción)?.</footnote>. Para hacer
esto, añadir la línea

<tscreen><verb>
/usr/X11R6/lib
</verb></tscreen>

al fichero <tt>/etc/ld.so.conf</tt>, y ejecutar <tt>/sbin/ldconfig</tt>,
como <tt>root</tt>. 

<sect>Configuración de XFree86
<p>

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
<tt>XF86Config</tt>, 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: 

<itemize>

<item>La documentación XFree86, en <tt>/usr/X11R6/lib/X11/doc</tt>
(contenida en el paquete <tt>XFree86-3.1-doc</tt>). Debe ser leído
especialmente el fichero <tt>README.Config</tt>, que es un tutorial sobre
la configuración de XFree86. 

<item>Varios chipsets de vídeo tienen ficheros <tt>README</tt> aparte,
sitos en el directorio mencionado antes (como <tt>README.Cirrus</tt> y
<tt>README.S3</tt>).  Leánse si son aplicables a su caso. 

<item>La página man para <tt>XFree86</tt>.
<item>La página man para <tt>XF86Config</tt>.

<item>La página man para el servidor en concreto que se esté usando. (como
<tt>XF86_SVGA</tt> o <tt>XF86_S3</tt>). 

</itemize>

El fichero principal de configuración de XFree86 es
<tt>/usr/X11R6/lib/X11/XF86Config</tt>.  Este fichero contiene información
de su ratón, parámetros de su tarjeta de vídeo, y demás cosas
relacionadas. El fichero <tt>XF86Config.eg</tt> se adjunta con la
distribución como ejemplo. Copiar este fichero a <tt>XF86Config</tt> y
editarlo como punto de partida. 

La página man de <tt>XF86Config</tt> 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
<tt>XF86Config</tt>, 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 <tt>XF86Config</tt> 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 <tt>XF86Config</tt>
configurados incorrectamente. La conclusión: Asegúrese completamente de
que su archivo <tt>XF86Config</tt> se corresponde a su hardware antes de
intentar hacer uso de él. 

Cada sección del fichero <tt>XF86Config</tt> va entre el par de líneas

<tscreen><verb>
Section "section-name"
  ...
EndSection
</verb></tscreen>

La primera parte del fichero <tt>XF86Config</tt> es <tt>Files</tt>, que
tiene este aspecto: 

<tscreen><verb>
Section "Files"
    RgbPath     "/usr/X11R6/lib/X11/rgb"
    FontPath    "/usr/X11R6/lib/X11/fonts/misc/"
    FontPath    "/usr/X11R6/lib/X11/fonts/75dpi/"
EndSection
</verb></tscreen>

La línea <tt>RgbPath</tt> define la trayectoria o <em/path/ hacia la base
de datos de color de X11R6, y cada línea <tt>FontPath</tt> 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 <tt>FontPath</tt> por cada tipo de fuente que se haya instalado
(es decir, por cada directorio de <tt>/usr/X11R6/lib/X11/fonts</tt>). 

La siguiente sección es <tt>ServerFlags</tt>, que especifica distintos
parámetros para el servidor. Generalmente esta sección está vacía. 

<tscreen><verb>
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
</verb></tscreen>

Aquí tenemos todos los renglones comprendidos por las secciones descomentados.

La siguiente sección es <tt>Keyboard</tt>. Esta deberá ser bastante intuitiva.

<tscreen><verb>
Section "Keyboard"
    Protocol    "Standard"
    AutoRepeat  500 5
    ServerNumLock
EndSection
</verb></tscreen>

Hay más opciones disponibles ---ver el fichero <tt>XF86Config</tt> 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 <tt>Pointer</tt>, que especifica los parámetros
para el ratón. 

<tscreen><verb>
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
</verb></tscreen>

Las únicas opciones que deberían afectarle por ahora son <tt>Protocol</tt>
y <tt>Device</tt>. <tt>Protocol</tt> especifica el <em/protocolo/ que su
ratón usa (no la marca o modelo del ratón). Los tipos válidos de
<tt>Protocol</tt> (bajo LiNUX, hay otras opciones disponibles para otros
Sistemas Operativos) son: 

<itemize>
<item> <tt>BusMouse</tt> 
<item> <tt>Logitech</tt>
<item> <tt>Microsoft</tt>
<item> <tt>MMSeries</tt>
<item> <tt>Mouseman</tt>
<item> <tt>MouseSystems</tt>
<item> <tt>PS/2</tt>
<item> <tt>MMHitTab</tt>
</itemize>

<tt>BusMouse</tt> Debe ser empleado con el ratón tipo busmouse Logitech. 
Téngase en cuenta que los ratones antiguos Logitech usarán protocolos
<tt>Logitech</tt>, pero los nuevos ratones Logitech emplean protocolos
tanto <tt>Microsoft</tt> como <tt>Mouseman</tt>.  Este es un caso en el
que el protocolo no tiene que ver necesariamente con la marca o modelo del
ratón. 

<tt>Device</tt> especifica el fichero de dispositivo con el que se puede
acceder al ratón. En la mayoría de los sistemas LiNUX, es
<tt>/dev/mouse</tt>.  <tt>/dev/mouse</tt> ES generalmente un enlace al
puerto serie apropiado (como <tt>/dev/cua0</tt>) 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 <tt>Device</tt>
existe. 

La siguiente sección es <tt>Monitor</tt>, que especifica las
características de tu monitor. Como con otras secciones del fichero
<tt>XF86Config</tt>, puede haber más de una sección <tt>Monitor</tt>. 
Esto es útil si se tiene más de un monitor conectado a un sistema, o si se
emplea el mismo fichero <tt>XF86Config</tt> con multiples configuraciones
de hardware.  No obstante, en general, sólo se necesitará una sección
<tt>Monitor</tt>. 

<tscreen><verb>
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
</verb></tscreen>

La línea <tt>Identifier</tt> se emplea para otorgar un nombre arbitrario a
la entrada <tt>Monitor</tt>. Esta puede ser una cadena; se empleará para
referirse posteriormente a la entrada <tt>Monitor</tt> en el fichero
<tt>XF86Config</tt>. 

Estas son listadas a continuación.

<tt>HorizSync</tt> 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: 

<tscreen><verb>
    HorizSync    31.5, 35.2, 37.9, 35.5, 48.95
</verb></tscreen>

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. 

<tt>VertRefresh</tt> especifica los intervalos verticales de refresco
horizontal válidos (o frecuencias de sincronismo vertical) para el
monitor, en Hz.  Como <tt>HorizSync</tt>, este dato puede ser un intervalo
o una lista de valores discretos; el manual del monitor debe de tener una
lista de ellos. 

<tt>HorizSync</tt> y <tt>VertRefresh</tt> 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 <tt>ModeLine</tt> se emplea para especificar una única
resolución para el monitor. El formato de <tt>ModeLine</tt> es

<tscreen><verb>
ModeLine nombre valores_de_reloj valores_horiz. valores_vert.
</verb></tscreen>

<tt>nombre</tt> es una cadena arbitraria, que se empleará para referirse a
dicho modo de resolución en el archivo posteriormente.
<tt>valores_de_reloj</tt> 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. 
<tt>valores_horiz</tt> y <tt/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 <tt>ModeLine</tt> para su
monitor?  El fichero <tt>VideoModes.doc</tt>, 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,
<tt>valores_de_reloj</tt> debe corresponderse a uno de los valores de
``dot-clock'' que pueda producir su tarjeta. Posteriormente, en el archivo
<tt>XF86Config</tt> especificaremos estos valores; sólo se pueden usar
modos de vídeo con un valor de <tt/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 <tt>ModeLine</tt> para su monitor. Estos archivos son
<tt>modeDB.txt</tt> y <tt>Monitors</tt>, residiendo ambos en
<tt>/usr/X11R6/lib/X11/doc</tt>. 

Se debe comenzar con los valores de <tt>ModeLine</tt> para los tiempos
correspondientes al monitor estándar VESA, que son soportados por la
mayoría de los monitores. <tt>modeDB.txt</tt> incluye valores de tiempo
para resoluciones VESA estándar. En ese fichero, se verán entradas como: 

<tscreen><verb>
# 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
</verb></tscreen>

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 <tt>XF86Config</tt>, deberá emplearse la línea:

<tscreen><verb>
ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525
</verb></tscreen>

Téngase en cuenta que el argumento <tt/nombre/ para <tt/ModeLine/ (en este
caso <tt>&dquot;640x480&dquot;</tt>) es una cadena de valores arbitrarios
--- por convención, se nombra el modo tras la resolución, pero <tt/nombre/
puede ser técnicamente cualquier dato descriptivo que dé una referencia
sobre el modo para nosotros.---

Para cada <tt>ModeLine</tt> empleado, el servidor comprobará que las
especificaciones para dicho modo caen dentro del intervalo de valores
especificados con <tt>Bandwidth</tt>, <tt>HorizSync</tt> y
<tt>VertRefresh</tt>. 

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
<tt>Bandwidth</tt>.  (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
<tt>modeDB.txt</tt> y <tt>Monitors</tt>, que incluyen valores para modos
específicos de muchos tipos de monitor.  Se pueden crear entradas
<tt>ModeLine</tt> 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 <tt>ModeLine</tt> para su monitor, se puede seguir las
instrucciones del archivo <tt>VideoModes.doc</tt>, incluido con la
distribución de XFree86, para generar valores de <tt>ModeLine</tt> de las
especificaciones enumeradas en el manual del monitor. Aunque el tiempo
requerido para intentar generar valores <tt>ModeLine</tt> a mano puede
variar, este es un buen sitio donde mirar si no se encuentran los valores
que se precisan. <tt>VideoModes.doc</tt> también describe el formato de la
indicación <tt>ModeLine</tt> y otros aspectos del servidor XFree86 con
morboso detalle. 

Por último, si se obtienen valores <tt>ModeLine</tt> 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
<tt>VideoModes.doc</tt> 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 <tt>ModeLine</tt> 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 <tt>XF86Config</tt> es <tt>Device</tt>,
que especifica los parámetros de su tarjeta de vídeo. He aquí un ejemplo.

<tscreen><verb>
Section "Device" 
        Identifier "#9 GXE 64"

        # Nada por ahora; completaremos estos valores posteriormente.

EndSection
</verb></tscreen>

Esta sección define las propiedades de una tarjeta de vídeo en particular. 
<tt>Identifier</tt> 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 <tt>Device</tt>,
excepto en <tt>Identifier</tt>. 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 <tt>Device</tt> 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 <tt>XF86Config</tt>. La siguiente sección es <tt>Screen</tt>,
que especifica la combinación de tarjeta de vídeo/monitor a usar por un
servidor en particular. 

<tscreen><verb>
 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
</verb></tscreen>

La línea <tt>Driver</tt> especifica el servidor X que se va a emplear. 
Los valores válidos para <tt>Driver</tt> son: 

<itemize>

<item><tt>Accel</tt>: Para los servidores <tt>XF86_S3</tt>,
<tt>XF86_Mach32</tt>, <tt>XF86_Mach8</tt>, <tt>XF86_8514</tt>,
<tt>XF86_P9000</tt>, <tt>XF86_AGX</tt>, y <tt>XF86_W32</tt> ; 

<item> <tt>SVGA</tt>: Para el servidor <tt>XF86_SVGA</tt> ;
<item> <tt>VGA16</tt>: Para el servidor <tt>XF86_VGA16</tt> ;
<item> <tt>VGA2</tt>: Para el servidor <tt>XF86_Mono</tt> ;

<item> <tt>Mono</tt>: Para los controladores de los servidores no-VGA
monocromos de <tt>XF86_Mono</tt> y <tt>XF86_VGA16</tt>. 

</itemize>

Debe de asegurarse de que <tt>/usr/X11R6/bin/X</tt> es un enlace simbólico
al servidor que se esté empleando. 

La línea <tt>Device</tt> especifica la secuencia <tt>Identifier</tt> de la
sección <tt>Device</tt> correspondiente a la tarjeta de vídeo a emplear
para dicho servidor. Anteriormente, creamos una sección <tt>Device</tt>
con la línea

<tscreen><verb>
Identifier "#9 GXE 64"
</verb></tscreen>

Por tanto, empleamos <tt>&dquot;&num;9 GXE 64&dquot;</tt> en la línea
<tt>Device</tt> aquí. 

Análogamente, la línea <tt>Monitor</tt> especifica el nombre de la sección
<tt>Monitor</tt> a usarse con este servidor. Aquí, <tt>&dquot;CTX 5468
NI&dquot;</tt> es el <tt>Identifier</tt> empleado para la sección
<tt>Monitor</tt> descrita anteriormente. 

<tt>Subsection &dquot;Display&dquot</tt> define varias propiedades del
servidor XFree86 correspondientes a su combinación de monitor/tarjeta de
vídeo.  El archivo <tt>XF86Config</tt> 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:

<itemize>

<item> <tt>Depth</tt>. Define el número de planos de color ---el número de
bits por pixel---. Normalmente, <tt>Depth</tt> está configurado a 8. Para
el servidor <tt>VGA16</tt>, 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 <tt>Depth</tt><footnote>Profundidad.</footnote> a
16, 24, o 32.  Si se experimentan problemas con profundidades de color
superiores a 8, configúrelo para 8 nuevamente e intente solucionar el
problema más adelante. 

<item> <tt>Modes</tt>. Esta es la lista de nombres de modos de vídeo que
han sido definidos empleando la etiqueta <tt>ModeLine</tt> de la sección
<tt>Monitor</tt>. 

En la anterior sección empleamos a <tt>ModeLines</tt> con el nombre
<tt>&dquot;1024x768&dquot;</tt>, <tt>&dquot;800x600&dquot;</tt>, y
<tt>&dquot;640x480&dquot;</tt>.  Por tanto, usaremos una línea
<tt>Modes</tt> tal como

<tscreen><verb>
         Modes    "1024x768" "800x600" "640x480"
</verb></tscreen>

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
<tt>ctrl-alt-numerico +</tt> y <tt>ctrl-alt-numerico -</tt>. 

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 <tt>XF86Config</tt> para proporcionar mayores resoluciones. 

<item><tt>Virtual</tt>. 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 <tt>Virtual</tt>
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)<footnote>N. del T. Recuérdese, esto
siempre que la tarjeta CUMPLA los estándares VESA, cosa que no todas
hacen, como referenciamos antes, especialmente las
<em/superbaratas/.</footnote>.  Por supuesto, la superficie al completo
nunca podrá estar visible al completo, pero sigue pudiendo ser empleada. 

La capacidad <tt>Virtual</tt> 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 <tt>fvwm</tt>, o un gestor
de ventanas similar en su lugar. <tt>fvwm</tt> 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 <tt/man/ de <tt>fvwm</tt> para
obtener más detalles sobre esto; la mayoría de los sistemas LiNUX emplean
<tt>fvwm</tt> por defecto. 

<item><tt>ViewPort</tt>. Si se emplea la opción <tt>Virtual</tt> descrita
anteriormente, <tt>ViewPort</tt> define las coordinadas de la esquina
superior izquierda del escritorio virtual al arrancar XFree86.  Lo más
usado es <tt>Virtual 0 0</tt>; si no se especifica así, el escritorio se
centra en la pantalla del escritorio virtual (lo cual puede no ser lo
deseado). 

</itemize>

Existen muchas opciones para esta sección; ver la página <tt/man/ de
<tt>XF86Config</tt> para una descripción completa. En la práctica no son
necesarias estas opciones para conseguir que XFree86 funcione
inicialmente. 

<sect>Introducción de información sobre la tarjeta de vídeo.
<p>

Ahora su archivo <tt>XF86Config</tt> está listo para funcionar, con la
excepción de la información completa sobre la tarjeta de vídeo. Lo que
vamos a hacer es emplear el servidor X para comprobar el resto de la
información, introduciéndola posteriormente en <tt>XF86Config</tt>. 

En lugar de tantear esta información usando el servidor X, los valores
<tt>XF86Config</tt> para muchas tarjetas están listados en los ficheros
<tt>modeDB.txt</tt>, <tt>AccelCards</tt>, and <tt>Devices</tt>. Estos
archivos se encuentran todos en <tt>/usr/X11R6/lib/X11/doc</tt>. Además,
hay varios archivos <tt>README</tt><footnote>N. del T. Léame.</footnote>
para determinados chipsets. Se debe buscar en esos ficheros información
sobre su tarjeta de vídeo, y emplearla (los valores de frecuencias de
reloj, tipo de chipset, y las posibles opciones) en el archivo
<tt>XF86Config</tt>. Si no hay ningún tipo de información, se puede
tantear como se describe aquí. 

En estos ejemplos mostraremos la configuración para una tarjeta de vídeo
&num;9 GXE 64, que emplea el chipset <tt>XF86_S3</tt>.  Se da la
circunstancia de que esta tarjeta es la que emplea el autor, pero lo
discutido aquí es aplicable a cualquier tarjeta. 

Lo primero a hacer es determinar el tipo de chipset de vídeo empleado en
la tarjeta. Si ejecuta <tt>SuperProbe</tt> (que reside en
<tt>/usr/X11R6/bin</tt>)  le informará acerca de esto, pero se necesita
conocer el nombre del chipset de vídeo como lo conoce el servidor X. 

Para hacer esto, ejecute el comando

<tscreen>
X -showconfig
</tscreen>

Esto le proporcionará los nombres de chipset conocidos por su servidor X.
(Las páginas <tt/man/ los enumeran también). Por ejemplo, para el servidor
acelerador <tt>XF86_S3</tt>, obtenemos: 

<tscreen><verb>
XFree86 Version 3.1 / X Window System
(protocol Version 11, revision 0, vendor release 6000)
Operating System: Linux 
Configured drivers:
  S3: accelerated server for S3 graphics adaptors (Patchlevel 0)
      mmio_928, s3_generic
</verb></tscreen>

Los nombres válidos de chipset para este servidor son <tt>mmio_928</tt> y
<tt>s3_generic</tt>. La página <tt/man/ del servidor <tt>XF86_S3</tt>
describe estos chipsets y qué tarjetas los emplean. En el caso de la
tarjeta de vídeo &num;9 GXE 64, el apropiado es <tt>mmio_928</tt>. 

Si no se sabe qué chipset usar, el servidor X puede comprobarlo por tí. 
Para hacer esto, ejecutar el comando

<tscreen><verb>
X -probeonly > /tmp/x.out 2>&ero;1
</verb></tscreen>

si se emplea <tt>bash</tt> como intérprete de comandos. Si se emplea
<tt>csh</tt>, probar: 

<tscreen><verb>
X -probeonly &ero;> /tmp/x.out 
</verb></tscreen>

Este comando debe ser ejecutado cuando el sistema no esté bajo carga, es
decir, mientras no tenga lugar ninguna otra actividad en el sistema. Este
comando intentará calcular las frecuencias de reloj de su tarjeta (como
vimos antes), y la carga del sistema puede estropear los cálculos. 

El resultado de lo anterior (en <tt>/tmp/x.out</tt>) debe contener líneas
como las que siguen: 

<tscreen><verb>
XFree86 Version 3.1 / X Window System 
(protocol Version 11, revision 0, vendor release 6000) 
Operating System: Linux  
Configured drivers: 
  S3: accelerated server for S3 graphics adaptors (Patchlevel 0) 
      mmio_928, s3_generic 
   ... 
(--) S3: card type: 386/486 localbus 
(--) S3: chipset:   864 rev. 0 
(--) S3: chipset driver: mmio_928 
</verb></tscreen>

Aquí observamos que los dos chipsets válidos para este servidor (en este
caso, <tt>XF86_S3</tt>) son <tt>mmio_928</tt> y <tt>s3_generic</tt>. El
servidor tras tantear encontró una tarjeta de vídeo empleando el chipset
<tt>mmio_928</tt>. 


Añadir en la sección <tt>Device</tt> del archivo <tt>XF86Config</tt> una
línea <tt>Chipset</tt>, que contenga el nombre del chipset determinado
anteriormente. Por ejemplo,

<tscreen><verb>
Section "Device" 
        # Aqui ya teniamos definido el identificador...
        Identifier "#9 GXE 64"  
        # adicion de esta linea:
        Chipset "mmio_928"
EndSection
</verb></tscreen>

Ahora necesitamos determinar las frecuencias de funcionamiento de reloj
empleadas por la tarjeta de vídeo. La frecuencia de funcionamiento de
reloj, o <em/dot clock/ es simplemente la velocidad a la que la tarjeta de
vídeo puede enviar puntos de imagen o <em/pixels/ al monitor. Como hemos
visto, cada resolución de monitor tiene un <em/dot clock/ asociado a él.
Ahora necesitamos determinar cúales frecuencias de reloj son utilizables
por la tarjeta de vídeo. 

Primero debe de mirar en los archivos (<tt>modeDB.txt</tt>, y demás) 
mencionados anteriormente, y ver si las frecuencias de reloj de su tarjeta
se enumeran allí. 

Los <em/dot clocks/ serán normalmente listados de 8 ó 16 valores, todos
los cuales están en MHz. Por ejemplo, si miramos en <tt>modeDB.txt</tt>
podemos observar una entrada para la tarjeta de vídeo Cardinal ET4000, que
tiene este aspecto: 

<tscreen><verb>
# chip    ram   virtual   clocks                           default-mode  flags
 ET4000   1024  1024 768   25  28  38  36  40  45  32   0  "1024x768"    
</verb></tscreen>

Como podemos observar, las frecuencias de barrido para esta tarjeta son
25, 28, 38, 36, 40, 45, 32, y 0 MHz. 

En la sección <tt>Devices</tt> del fichero <tt>XF86Config</tt>, se debe
añadir una línea <tt>Clocks</tt> que contenga el listado de <em/dot
clocks/ para su tarjeta. 

Por ejemplo, para los <em/clocks/ anteriores, añadiríamos la línea

<tscreen><verb>
        Clocks 25 28 38 36 40 45 32 0
</verb></tscreen>

A la sección <tt>Devices</tt> del fichero, tras <tt>Chipset</tt>. 
¡Téngase en cuenta que el orden de los valores es importante! no desordene
el listado o borre los duplicados. 

Si no se pueden encontrar las frecuencias de barrido asociadas a su
tarjeta, el servidor X puede también tantearlas. Empleando el comando
<tt>X -probeonly</tt> descrito anteriormente, el resultado contendría
líneas con el siguiente aspecto: 

<tscreen><verb>
(--) S3: clocks:  25.18  28.32  38.02  36.15  40.33  45.32  32.00  00.00
</verb></tscreen>

Podemos entonces añadir una línea <tt>Clocks</tt> que contenga todos esos
valores, tal y como los obtenemos. Se puede usar más de una línea
<tt>Clocks</tt> en <tt>XF86Config</tt> en el caso de que todos los valores
no cupiesen en una.  Nuevamente, es preciso asegurarse de que se
introducen en el mismo orden en que son proporcionados. 

Asegúrese de que no hay una línea <tt>Clocks</tt> (o de que esté
descomentada)  en la sección <tt>Devices</tt> del fichero al usar <tt>X
-probeonly</tt> para tantear las frecuencias. Si hubiese una línea
<tt>Clocks</tt> presente, el servidor <em/no/ tantearía esos valores,
emplearía los valores presentes en <tt>XF86Config</tt>. 

Téngase en cuenta que algunas tarjetas aceleradoras emplean chips de
frecuencias programables. (ver la página <tt/man/ de <tt>XF86_Accel</tt>
para más detalles;  esto generalmente es aplicable a tarjetas S3, AGX y
XGA-2.)  Este chip permite, esencialmente, al servidor X, comunicar a la
tarjeta qué <em/dot clocks/ usar. Si este es el caso, puede que no se
pueda encontrar el listado de los <em/dot clocks/ para la tarjeta en
ninguno de los ficheros anteriores. O la lista de las frecuencias de reloj
obtenida al usar <tt>X -probeonly</tt> puede sólo contener uno o dos
valores concretos, siendo el resto duplicados o cero. 

Para tarjetas que empleen un chip programable, se debe emplear un línea
<tt>ClockChip</tt>, en lugar de <tt>Clocks</tt> en el fichero
<tt>XF86Config</tt>.  <tt>ClockChip</tt> proporciona el nombre del chip
que emplea la tarjeta de vídeo; las páginas <tt/man/ de cada servidor
describen cuáles son. Por ejemplo, en el fichero <tt>README.S3</tt>,
podemos ver que varias tarjetas S3-864 emplean un chip ``ICD2061A'', y que
debemos emplear la línea

<tscreen><verb>
   ClockChip "icd2061a" 
</verb></tscreen>

en lugar de <tt>Clocks</tt> en el archivo <tt>XF86Config</tt>. Como con
<tt>Clocks</tt>, esta línea deberá estar en la sección <tt>Devices</tt>,
tras <tt>Chipset</tt>. 

Análogamente, algunas tarjetas aceleradoras precisan que se especifique el
tipo de chip RAMDAC en el fichero <tt>XF86Config</tt>, empleando una línea
<tt>Ramdac</tt>.  La página <tt/man/ de <tt>XF86_Accel</tt> describe esta
opción. Normalmente, el servidor X averiguará correctamente el RAMDAC. 

Algunas tarjetas de vídeo requieren que se especifiquen ciertas opciones
en la sección <tt>Devices</tt> de <tt>XF86Config</tt>. Estas opciones
serán descritas en la página <tt/man/ de su servidor, así como en otros
ficheros (como <tt>README.cirrus</tt> o <tt>README.S3</tt>. Estas opciones
son activadas empleando la línea <tt>Option</tt>. Por ejemplo, la tarjeta
&num;9 GXE 64 necesita dos opciones: 

<tscreen><verb>
        Option "number_nine" 
        Option "dac_8_bit" 
</verb></tscreen>

Generalmente, el servidor X funcionará sin estas opciones, pero son
necesarias para conseguir prestaciones óptimas. Hay demasiadas opciones
para describirlas aquí, y cada una depende de la tarjeta de vídeo empleada
en particular. Si debe usar alguna de estas opciones, ---me temo que no---
las páginas <tt/man/ del servidor X y algunos ficheros en
<tt>/usr/X11R6/lib/X11/doc</tt> especificarán cuáles son. 

Así que cuando se haya terminado, se acabará con una sección
<tt>Devices</tt> que tendrá este aspecto: 

<tscreen><verb>
Section "Device"  
        # Esta seccion device es para esta #9 GXE 64 solo! 
        Identifier "#9 GXE 64" 
        Chipset "mmio_928" 
        ClockChip "icd2061a" 
        Option "number_nine" 
        Option "dac_8_bit" 
EndSection 
</verb></tscreen>

La mayoría de las tarjetas de vídeo precisarán una línea <tt>Clocks</tt>,
en lugar de <tt>ClockChip</tt>, como se describió anteriormente. La
anterior sección <tt>Device</tt> es únicamente válida para una tarjeta de
vídeo en particular, la &num;9 GXE 64. 

Hay otras opciones que pueden ser incluidas en la sección
<tt>Devices</tt>.  Comprobar las páginas <tt/man/ del servidor para los
detalles más escurridizos, aunque lo anterior debe de bastar para la
mayoría de los sistemas. 

<sect>Ejecución de XFree86
<p>

Con el fichero <tt>XF86Config</tt> configurado, se está preparado para
arrancar el servidor X y dar un garbeo. Lo primero, asegurarse de que
<tt>/usr/X11R6/bin</tt> está en el path. 

El comando para arrancar XFree86 es

<tscreen>
startx
</tscreen>

Este es una ``cubierta'' de <tt>xinit</tt> (en caso de que se estuviese
acostumbrado a emplear <tt>xinit</tt> en otros sistemas UNIX). 

Este comando arrancará el servidor X y ejecutará los comandos que se
encuentran en el fichero <tt>.xinitrc</tt><footnote>N. del T. Para los
usuarios de RedHat, <tt/.Xclients/.</footnote>. en su directorio <em/home/
<tt>.xinitrc</tt> es simplemente un <em/script/ que contiene clientes X a
ejecutar. Si este fichero no existe, se empleará por defecto
<tt>/usr/X11R6/lib/X11/xinit/xinitrc</tt>. 

Un fichero <tt>.xinitrc</tt> convencional tiene este aspecto:

<tscreen><verb>
#!/bin/sh

xterm -fn 7x13bold -geometry 80x32+10+50 &
xterm -fn 9x15bold -geometry 80x34+30-10 &
oclock -geometry 70x70-7+7 &
xsetroot -solid midnightblue &

exec twm 
</verb></tscreen>

Este script arrancará dos clientes <tt>xterm</tt>, un <tt>oclock</tt>, y
configura el color de la ventana raíz (el fondo) a <tt>midnightblue</tt>. 
Arrancará entonces <tt>twm</tt>, el gestor de ventanas. Téngase en cuenta
que <tt>twm</tt>, se ejecuta con el mandato del intérprete de comandos
<tt>exec</tt> ; esto hace que el proceso <tt>xinit</tt> sea reemplazado
por <tt>twm</tt>.  Una vez que el proceso <tt>twm</tt> finalice, se
cerrará el servidor X. Se puede hacer finalizar <tt>twm</tt> empleando los
menús principales: presionando el botón 1 del ratón sobre el fondo del
escritorio, se abrirá un menú emergente que permitirá <tt>Exit Twm</tt>. 

Es preciso asegurarse de que el último comando de <tt>.xinitrc</tt> se
arranca con <tt>exec</tt>, y que no se coloca en modo de ejecución
<em/background/ o segundo plano (sin un ``&amp;'' al final de la línea).
De no ser así, el servidor X moriría tan pronto como se arrancasen los
clientes del fichero <tt>.xinitrc</tt>

Alternativamente, se puede salir de X presionando la combinación
<tt>ctrl-alt-backspace</tt>.  Esto mataría al servidor X directamente,
saliendo del sistema de ventanas. 

Lo anterior es una muy muy simple configuración del escritorio. Multitud
de maravillosos programas y configuraciones estarán disponibles con
trabajar un poco el fichero <tt>.xinitrc</tt>.  Por ejemplo, el gestor de
ventanas <tt>fvwm</tt> proporciona escritorio virtual, pudiendo
personalizarse colores, fuentes, tamaño y posiciones de ventanas, y así
según le plazca a uno. A pesar de que el Sistema X Window pueda parecer un
tanto simplista en un principio, es extremadamente potente, ya que puede
ser personalizado para uno mismo. 

Si es la primera vez que se encuentra con el entorno X Window, le
recomendamos encarecidamente hacerse con un libro como <em>The X Window
System: A User's Guide</em>.  El empleo y configuración de X es demasiado
profundo para tratarlo aquí. Ver las páginas <tt/man/ de <tt>xterm</tt>,
<tt>oclock</tt>, y <tt>twm</tt> para hacerse con pistas para ponerse al
día. 

<sect>Aparición de Problemas
<p>

A veces, algo no irá del todo bien cuando se arranque el servidor X.  Esto
suele estar causado casi siempre por un problema en el archivo
<tt>XF86Config</tt>.  Generalmente, los valores de frecuencia del monitor
no están, o las frecuencias <em/dot clock/ de la tarjeta de vídeo están
definidos de forma incorrecta.  Si la pantalla parece fluctuar, o los
bordes están deformados, es una clara indicación de que los valores de
frecuencia o <em/dot clocks/ del monitor son erróneos. Asegúrese también
de que de que se esté especificando correctamente el chipset de su tarjeta
de vídeo, así como otras opciones de la sección <tt>Device</tt> del
fichero <tt>XF86Config</tt>. Hay que estar absolutamente seguro de que se
emplea el servidor X correcto y de que <tt>/usr/X11R6/bin/X</tt> es un
enlace simbólico a este servidor. 

Si todo lo demás falla, trate de arrancar X ``a pelo''; es decir emplee un
comando como: 

<tscreen><verb>
X > /tmp/x.out 2>&ero;1 
</verb></tscreen>

Se puede entonces matar el servidor X (empleando la combinación de teclas
<tt>ctrl-alt-backspace</tt>) y examinar el contenido de
<tt>/tmp/x.out</tt>.  El servidor X informará de todas las advertencias o
errores ---por ejemplo, si la tarjeta de vídeo no tiene un <em/dot clock/
que se corresponda con un modo soportado por el monitor. 

El fichero <tt>VideoModes.doc</tt> incluido en la distribución XFree86
contiene muchas sugerencias de cómo manipular los valores de su fichero
<tt>XF86Config</tt>. 

Recuerde que puede emplear <tt>ctrl-alt-numerico +</tt> y
<tt>ctrl-alt-numerico -</tt> para ir conmutando entre los modos de vídeo
listados en la línea <tt>Modes</tt> de la sección <tt>Screen</tt> de
<tt>XF86Config</tt>. Si el modo de mayor resolución a no parece correcto,
trate de cambiar a resoluciones menores. Esto le permitirá saber, por lo
menos, que esas partes de su configuración de X están funcionando
correctamente. 

Compruebe también los controles de posición y tamaño horizontal y vertical
de su monitor. En muchos casos, es necesario ajustarlos cuando se arranca
X.  Por ejemplo, si la pantalla parece estar movida
ligeramente<footnote>N. del T. Ligeramente es eso,
<em/ligeramente/.</footnote> a un lado, normalmente se puede corregir esto
usando los controles del monitor. 

El <em/newsgroup/ de USENET <tt>comp.windows.x.i386unix</tt> está dedicado
a discusiones sobre XFree86, así como <tt>comp.os.linux.x</tt>. Sería una
buena idea observar ese <em/newsgroup/ para enviar consultas relativas a
su configuración de vídeo ---puede que se encuentre con alguien con los
mismos problemas que uno tiene.---

<sect>Copyright<label id="sec-copy"> 
<p>

Este documento es Copyright (c)1995 de Matt Welsh. Este trabajo puede ser
reproducido en su totalidad o en parte, tanto de forma impresa como
electrónica, sujeto a las siguientes condiciones: 

<enum>

<item>La notificación del copyright y esta licencia debe preservarse
completa en todas las copias, tanto completas como parciales. 

<item>Cualquier traducción o trabajo derivado debe de ser aprobado por el
autor por escrito antes de su distribución. 

<item>Si se distribuye el Trabajo parcialmente, deben de incluirse
instrucciones para poder obtener la versión completa (en forma impresa o
electrónica), así como los medios para conseguirla. 

<item>Pueden ser reproducidas pequeñas porciones como ilustraciones para
revistas o citas para otros trabajos sin esta notificación de permiso si
se cita apropiadamente su procedencia. 

</enum>

Pueden otorgarse excepciones a estas normas para propósitos académicos; 
escríbase al autor del trabajo, y pregúntesele. Estas restricciones están
para proteger a los autores, no para restringiros como educadores o
alumnos. 

<sect>Anexo: El INSFLUG <label id="Grupos">
<p>

El <em/INSFLUG/ forma parte del grupo internacional <it/Linux
Documentation Project/, encargándose de las traducciones al castellano de
los Howtos (Comos), así como la producción de documentos originales en
aquellos casos en los que no existe análogo en inglés. 

En el <bf/INSFLUG/ se orienta preferentemente a la traducción de
documentos breves, como los <em/COMOs/ y <em/PUFs/ (<bf/P/reguntas de
<bf/U/so <bf/F/recuente, las <it/FAQs/. <tt/:)/ ), etc. 

Diríjase a la sede del INSFLUG para más información al respecto.

En la sede del INSFLUG encontrará siempre las <bf/últimas/ versiones de
las traducciones:  <tt><htmlurl url="http://www.insflug.org" 
name="www.insflug.org"></tt>. Asegúrese de comprobar cuál es la última
versión disponible en el Insflug antes de bajar un documento de un
servidor réplica. 

Se proporciona también una lista de los servidores réplica (<it/mirror/)
del Insflug más cercanos a Vd., e información relativa a otros recursos en
castellano. 

Francisco José Montilla, <tt><htmlurl url="mailto:pacopepe@insflug.org" 
name="pacopepe@insflug.org"></tt>. 

</article>
