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;#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 #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 #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 #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 #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 ``&'' 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>