Instalar XFree86 4.2 usando las últimas fuentes 4.2 o unas fuentes 4.1 parcheadas. (24-03-02)

					OBSOLETA


TÍTULO:			Instalar XFree86 4.2 usando las últimas fuentes 4.2 o
				unas fuentes 4.1 parcheadas. (24-03-02)
ACTUALIZACIÓN:	08-04-02
VERSIÓN LFS:	3.x
AUTOR:			Dave Ayers <fogey@mindspring.com>
CRÉDITOS:		Matthias S. Benkmann <m.s.b@gmx.net>
				Sergey Ostrovsky <sostrovsky@snip.net>
				Ryan Strayer <rstrayer@kc.rr.com>
REFERENCIAS:	xfree86_41.txt (Benkmann)
				x11.txt (Ostrovsky)
				
SINOPSIS:	Esta receta parte de la receta xfree_41.txt de Matthias
		Benkmann y la adapta para lograr una instalación directa
		de XFree86 4.2 sin optimización especial.

RECETA:

Descarga la zlib más reciente desde http://www.gzip.org/zlib (a menos que la
tengas ya instalada). Desempaqueta el fichero tar con las fuentes en un
directorio temporal de tu elección, luego colócate con cd en el árbol de
directorios creados para la instalación. Instálalo haciendo

   ./configure --shared &&
   make test &&
   make prefix=/usr install &&
   cp zlib.3 /usr/share/man/man3 &&
   /sbin/ldconfig

Opción A - Instalar desde los últimos paquetes XFree86 4.2.
-----------------------------------------------------------

Descarga desde ftp://ftp.xfree86.org/pub/XFree86/4.2.0/source/

   X420src-1.tgz
   X420src-2.tgz
   X420src-3.tgz

Desempaqueta esas imágenes tar (tarballs) en tu directorio temporal de código
fuente.

Opción B - Instalar 4.2 desde un árbol de fuentes XFree86 4.1 nuevo
-------------------------------------------------------------------

Descarga desde ftp://ftp.xfree86.org/pub/XFree86/4.2.0/patches/

   4.1.0-4.2.0.diff1.gz
   4.1.0-4.2.0.diff2.gz
   4.1.0-4.2.0.diff3.gz
   4.1.0-4.2.0.diff4.gz
   4.2.0.tgz

Estos parches deben aplicarse a un árbol de códifo fuente de XFree86 versión 
4.1.0 sin modificar. Hay cuatro parches que cambian el árbol de código fuente
de la versión 4.1.0 de las XFree86 a la versión 4.2.0.

Para aplicarlos, mueve los 5 ficheros al directorio 'xc' que contiene tu 
XFree86 4.1. Ejecuta a continuacion:
 
   gzip -d < 4.1.0-4.2.0.diff1.gz | patch -p0 -E
   gzip -d < 4.1.0-4.2.0.diff2.gz | patch -p0 -E
   gzip -d < 4.1.0-4.2.0.diff3.gz | patch -p0 -E
   gzip -d < 4.1.0-4.2.0.diff4.gz | patch -p0 -E
   rm -f xc/extras/freetype2/builds/mac/ftlib.prj
   rm -fr xc/extras/freetype2/docs/design
   rm -fr xc/extras/freetype2/docs/glyphs
   rm -fr xc/extras/freetype2/docs/image
   rm -fr xc/extras/freetype2/docs/tutorial
   rm -f  xc/programs/Xserver/hw/darwin/bundle/English.lproj\
     /MainMenu.nib/objects.nib
   rm -f xc/programs/Xserver/hw/darwin/bundle/Japanese.lproj\
     /Localizable.strings
   rm -f xc/programs/Xserver/hw/darwin/bundle/Japanese.lproj\
     /MainMenu.nib/objects.nib
   gzip -d < 4.2.0.tgz | tar vxf -

Continúa a partir de aquí (en ambos casos)
------------------------------------------

   cd xc

Edita config/cf/site.def para cambiar XKB de NO a YES. Haz después:

   echo $'\n #define HasZlib YES\n' >> config/cf/site.def &&
   echo $'\n #define HasNCurses YES\n' >> config/cf/site.def &&
   make World &&
   make install &&
   make install.man &&

NOTA: Si elegiste la opción B (empezar con las fuentes 4.1) cambia todas
las referencias a X11R6 por X11R6.4. Las líneas que necesitan este cambio
están marcadas con "*"

* Añade a mano /usr/X11R6/lib a /etc/ld.so.conf

   /sbin/ldconfig

Configura XFree86:

*  export PATH=$PATH:/usr/X11R6/bin 
(Puedes querer también poner esto en tu .bashrc y .bash_profile)

   cd /dev

   ln -s /dev/psaux mouse   

(Usa tu propio dispositivo de ratón si no es /dev/psaux, por ejemplo 
/dev/ttys0 para un ratón serie conectado a COM1)

   XFree86 -configure

Esto detectará automáticamente tu hardware gráfico. Tu pantalla aparecerá
negra durante algunos segundos. No temas. Cuando la detección haya terminado,
se creará un fichero /root/XF86Config.new. Asegúrate de que la información en 
XF86Config.new relativa a tu ratón, tarjeta gráfica y monitor sea correcta, y
prueba a continuación el servidor con la órden siguiente:

   XFree86 -xf86config /root/XF86Config.new

No obtendrás otra cosa que una pantalla 640x480 con un patrón un tanto 
molesto y un cursor de ratón en forma de X que podrás mover (si funciona 
el ratón). Pulsa Ctrl-Alt-Retroceso para salir, y mueve a continuación tu
fichero de configuración a su ubicación definitiva

   mv /root/XF86Config.new /etc/X11/XF86Config

Felicidades. Has instalado las X.

Pero probablemente querrás configurar algo más en XF86Config. Lee la 
página man de XF86Config(5x). No te servirá de mucho, sin embargo. Tal vez 
debieras dejarlo estar y leer en su lugar /usr/X11R6/lib/X11/XF86Config.eg
que es un ejemplo con buenos comentarios.

Algunas de las cosas que vas a querer configurar seguramente son 

   Section "InputDevice"
      Identifier  "Keyboard0"
      Driver      "keyboard"
      Option "XkbModel" "pc102"
      Option "XkbLayout" "<your layout>"
      Option "AutoRepeat"  "250 30"
   EndSection

y

   Section "Monitor"
      Identifier   "Monitor0"
      VendorName   "Iiyama"
      ModelName    "VisionMaster 450"
      HorizSync    27-102
      VertRefresh  50-160
   EndSection

Por supuesto, necesitarás colocar los valores adecuados a tu monitor. 
Si lo haces, no tendrás que enredar jamás de nuevo con las "modelines"
(¡qué alivio!) pues XFree86 seleccionará un modo VESA adecuado con una
velocidad de refresco elevada. Indica simplemente el modo que quieres 
utilizar haciendo:

   Section "Screen"
     Identifier "Screen0"
     Device     "Card0"
     Monitor    "Monitor0"
     DefaultDepth 16
     SubSection "Display"
       Depth     16
       Modes   "1024x768"
       Virtual 1280 960
     EndSubSection
   EndSection

Esto es todo lo que hace falta para lograr una bonita pantalla virtual de 
1280x960 con resolución real de 1024x768 y un refresco de 85Hz bastante
amistoso para con tus ojos (en mi sistema, depende de las características de
tu monitor, por supuesto).

Lee ahora el XFree86-HOWTO que puedes obtener en linuxdoc.org. Te dará una
panorámica sobre como se lanzan las X. Lee los guiones (scripts) 
/usr/X11R6/bin/startx y/usr/X11R6/lib/X11/xinit/xinitrc
Estos guiones definen qué ocurre cuando tecleas "startx".


NOTA:

Ryan Strayer sugiere las precauciones siguientes en base a su instalación de
las 4.2: "No usé ninguna opción especial ni nada parecido .. pero tuve que
editar a mano el fichero site.def y cambiar XKB de NO a YES .. o de otro modo la
instalación seguía reventando. También tuve otro problema al compilar, pero
sólo si usas GCC 2.95 - que será tu caso si empleas LFS 3.1RC1 .. Supongo que
obvié parchear GCC. Una vez hube recompilado GCC 2.95 con el parche, y después
recompilado GLIBC, X4.2 compiló sin problemas a partir de un árbol con el
código fuente limpio."

ACTIVAR SOPORTE TTF:

Lo que sigue se adaptó a partir de la receta x11.txt.

Activar soporte TTF
---------------------
   Para usar los tipos TrueType es necesario no sólo los tipos sino también
   una serie de ficheros auxiliares que el servidor X utiliza como "listados
   de directorio" para los tipos ttf que se hayan instalado. Uno de estos
   ficheros, fonts.scale, puede crearse mediante la herramienta ttmkfdir, que
   no se incluye en el paquete XFree86-4.02.
   A su vez, ttmkfdir exige la instalación del paquete freetype-1.x.x.
   Sin embargo, dado que la imagen tar (tarball) de ttmkfdir incluye un
   ejecutable ya compilado, podría usarse dicho ejecutable. En ese caso, uno
   puede decidir pasar de largo tanto sobre la instalación de la librería 
   freetype-1.3.1 como de la creación de ttmkfdir.


Librería FreeType-1.3.1
-----------------------

Descarga freetype-1.3.1.tar.gz desde http://www.freetype.org/. Desempaquétalo y
ejecuta:

   ./configure --prefix=/usr
   make
   make install

Heramienta Ttmkfdir
-------------------

Descarga ttmkfdir.tar.gz desde
http://freshmeat.net/projects/ttmkfdir/ y desempaquétalo.

Haz los cambios siguientes en Makefile

   FREETYPE_INCL = $(FREETYPE_BASE)/include/freetype
   FREETYPE_LIB = -L$(FREETYPE_BASE)/lib -lttf

Ejecuta

   make FREETYPE_BASE=/usr
   install -m755 ttmkfdir /usr/bin

Configuración de TTF
--------------------
* Crea el directorio /usr/X11R6/lib/X11/fonts/ttf.
   Copia a éste directorio los tipos .ttf que quieras usar.

Ejecuta
*  cd /usr/X11R6/lib/X11/fonts/ttf
   ttmkfdir -o fonts.scale
   mkfontdir

Indica que módulo de tipos debe usar el servidor X añadiendo a la sección 
"Module" de tu fichero XF86Config:

   Section "Module"
     ...
     Load  "freetype"
     Load  "speedo"
   EndSection

y añadiendo la ruta (path) a tu directorio de tipos en la sección "Module":

   Section "Files"
        ...
*	FontPath "/usr/X11R6/lib/X11/fonts/ttf/"
   EndSection

Ahora tu servidor X debería ser capaz de visualizar tipos TrueType.

-----------

Aquí se indica un pequeño truco para ver todas las numerosas páginas man sobre
las X (excepto las de la API de C):

*  man /usr/X11R6/man/man{1,4,5,7,8}/*

Esto te permitirá leer todas las páginas man, una tras otra (pulsa q para
pasar a la siguiente). Hazlo y sabrás más sobre las X que el 99% del resto de
nosotros.