EL SISTEMA X WINDOWS |
5.1 El sistema X Window
X Window es un enorme entorno gráfico para sistemas UNIX, potente y también complejo. Originalmente fue
desarrollado por el MIT, y desde entonces los desarrolladores de sistemas comerciales han convertido a
las X en un estandar de las plataformas UNIX. Prácticamente todas las estaciones de trabajo UNIX del
mundo utilizan X Window en alguna de sus variantes.
Existe, desarrollada por un equipo de programadores inicialmente liderados por David Wexelblat, una
implementacion gratuita de las X Windows version 11, release 6 (X11R6) para sistemas UNIX con
80386/80486/Pentium. Esta implementación, llamada XFree86, se encuentra disponible en UNIX x86
como System V/386, 386BSD y por supuesto Linux. Incluye todos los binarios necesarios, ficheros de soporte,
librerias y utilidades.
En esta sección, le daré una descripción de como instalar y configurar paso a paso XFree86 en Linux,
pero necesitará completar la información con otra disponible en la documentación propia de XFree86
(Documentación que comentaré más adelante). Otra fuente interesante de información es la XFree86 HOWTO.
Le animo a leer The X Window System: A User's Guide.
5.1.1 Requisitos de hardware
No todos los "chipsets" están soportados.
La documentación que se incluye con su adaptador de vídeo debería especificar cual es el "chipset" que utiliza.
Si esta a punto de comprarse una nueva tarjeta gráfica, conviene pedir al vendedor el modelo exacto de tarjeta
y "chipset" de vídeo. Esto supondrá, casi siempre, recurrir al servicio técnico, pero normalmente los vendedores
no pondrán inconvenientes. La mayor parte de los vendedores de PCs se limitan a decir que sus ordenadores
tienen tarjetas gráficas "SVGA estandar" que "tienen que funcionar" en su sistema. Explíqueles que su software
(nombrando a Linux y XFree86, por supuesto) no soporta todos los "chipsets" y que usted necesita por eso
información mas detallada.
De todas formas, puede determinar su "chipset" ejecutando el programa SuperProbe incluido
con la distribucion de XFree86. De esto hablamos mas abajo.
Están soportados los siguientes "chipsets" SVGA (aquí van algunos...):
También están soportados los siguientes, con acelerador:
o 8514/A (y clonicos)
o ATI Mach8, Mach32
o Cirrus CLGD5420, CLGD5422, CLGD5424, CLGD5426, CLGD5428, CLGD5429,
CLGD5430, CLGD5434, CLGD6205, CLGD6215, CLGD6225, CLGD6235
o S3 86C911, 86C924, 86C801, 86C805, 86C805i, 86C928, 86C864, 86C964
o Western Digital WD90C31, WD90C33
o Weitek P9000
o IIT AGX-014, AGX-015, AGX-016
o Tseng ET4000/W32, ET4000/W32i, ET4000/W32p
Todas las tarjetas gráficas que usan estos "chipsets" están soportadas, incluso para bus local Vesa o PCI.
El soporte incluye los modos monocromáticos y de 256 colores, con la excepción de Avance Logic, MX y Vídeo 7,
que están soportadas solo en 256 colores. Si su tarjeta gráfica tiene suficiente memoria DRAM, la mayor parte
de los "chipsets" anteriores también están soportados para los modos de 16 y 32 bits por pixel
(en concreto, algunas Mach32, P9000, S3 y Cirrus).
El servidor monocromático también soporta las tarjetas VGA genéricas, la Hercules, la Hyundai
HGC1280, Sigma LaserView y Apollo. Para la Compaq AVGA, solo están soportadas 64Kb de
memoria de vídeo en el servidor monocromático, y la GVGA no ha sido probada con mas de 64 Kb.
Indudablemente, esta lista seguirá creciendo conforme pase el tiempo. Las notas que encontrará
junto a la version actual de XFree86 contendrán probablemente una completa lista de "chipsets"
soportados en ese momento.
Un problema que se encuentran con frecuencia los desarrolladores de XFree86 es que algunos
fabricantes de tarjetas gráficas utilizan mecanismos no estándares para determinar las frecuencias de reloj
a usar en la tarjeta. Algunos de esos fabricante tampoco editan especificaciones que describan como programar
la tarjeta, o exigen a los desarrolladores que firmen un documento de no divulgación para poder obtener la información.
Esto, obviamente, dificulta la libre distribución del software de XFree86.
Durante mucho tiempo esto ha impedido trabajar con las tarjetas Diamond, pero desde la version 3.1 de XFree86, Diamond
ya ha comenzado a colaborar con el equipo de desarrollo para la realización de drivers para esas tarjetas.
La configuración que se sugiere para ejecutar XFree86 con Linux es una maquina 486 con 8 megabytes de RAM por lo menos,
y una tarjeta gráfica con un "chipset" soportado.
Para obtener un rendimiento óptimo, se sugiere utilizar una tarjeta acelerada, como las basadas en el "chipset" S3.
Usted debe comprobar sobre la documentación de XFree86 que su tarjeta esta soportada antes de proceder al gasto que
supone el nuevo hardware. Se han comparado rendimientos de diversos modelos de tarjetas, y sus resultados son enviados
periódicamente a los grupos de news USENET comp.windows.x.i386unix y comp.os.linux.misc.
Su maquina necesitará al menos 16 megabytes de memoria física en RAM y 16 de memoria virtual
(por ejemplo, 16 megabytes en RAM y otros 16 en swap). Recuerde que cuanta mas RAM tenga,
menos tendrá el sistema que acudir al disco duro cuando no hay memoria suficiente.
Dado que el swapping es inherentemente lento, tener 16 megabytes de RAM o más es necesario si quiere correr XFree86
de forma confortable. Un sistema con 8 megabytes de RAM correrá mucho mas lento (hasta 10 veces) que uno con 16
megabytes o más. (hoy en día lo recomendable son unos de 64 Mb para que las X funcionen optimamente).
5.1.2 Instalación de XFree86
La distribución en binario de XFree86 para Linux puede encontrarse en muchos servidores de FTP.
En sunsite.unc.edu se encuentra en el directorio /pub/Linux/X11.
Es común que usted haya obtenido XFree86 como parte de una distribucion de Linux, en cuyo
caso no necesitara obtener el software del servidor anterior.
Si en cambio los obtiene por esta vía, la siguiente tabla le informará de los ficheros de los que
consta la distribucion XFree86.
Fichero | Descripción |
XF86-3.1-8514.tar.gz | Servidor para tarjetas tipo 8514. |
XF86-3.1-AGX.tar.gz | Servidor para tarjetas tipo AGX. |
XF86-3.1-Mach32.tar.gz | Servidor para tarjetas tipo Mach32. |
XF86-3.1-Mach8.tar.gz | Servidor para tarjetas tipo Mach8. |
XF86-3.1-Mono.tar.gz | Servidor monocromo. |
XF86-3.1-P9000.tar.gz | Servidor para tarjetas tipo P9000. |
XF86-3.1-S3.tar.gz | Servidor para tarjetas tipo S3. |
XF86-3.1-SVGA.tar.gz | Servidor para tarjetas SVGA. |
XF86-3.1-VGA16.tar.gz | Servidor para VGA en 16 colores. |
XF86-3.1-W32.tar.gz | Servidor_para_tarjetas_tipo_ET4000/W32 |
Fichero | Descripción |
XF86-3.1-bin.tar.gz | Binarios de X11R6. |
XF86-3.1-cfg.tar.gz | Ficheros de configuración para xdm, xinit y fs. |
XF86-3.1-doc.tar.gz | Documentacion y paginas de manual. |
XF86-3.1-inc.tar.gz | Ficheros include. |
XF86-3.1-lib.tar.gz | Ficheros de soporte y librerias compartidas. |
XF86-3.1-fnt.tar.gz | Fuentes básicas |
Fichero | Descripción |
XF86-3.1-ctrb.tar.gz | Diversas contribuciones. |
XF86-3.1-man.tar.gz | Páginas de manual. |
XF86-3.1-usrbin.tar.gz | Daemons que residen en /usr/bin. |
XF86-3.1-extra.tar.gz | Otros servidores y binarios. |
XF86-3.1-lkit.tar.gz | Kit para personalización de servidores. |
XF86-3.1-fnt75.tar.gz | Fuentes de 75 ppp. |
XF86-3.1-fnt100.tar.gz | Fuentes de 100 ppp. |
XF86-3.1-fntbig.tar.gz | Otras fuentes (Kanji...). |
XF86-3.1-fntscl.tar.gz | Fuentes escalables (Speedo, Type1). |
XF86-3.1-pex.tar.gz | Binarios PEX y librerias. |
XF86-3.1-slib.tar.gz | Librerias estáticas de X. |
XF86-3.1-xdmshdw.tar.gz | Versión de xdm para shadow password |
# gzip -dc XF86-3.1-bin.tar.gz | tar xfB - |
# ln -sf /usr/X11R6/bin/XF86_MONO /usr/X11R6/bin/X |
# echo "/usr/X11R6/lib" | cat >> /etc/ld.so.conf # /sbin/ldconfig |