     ______   ___    ___
    /\  _  \ /\_ \  /\_ \
    \ \ \L\ \\//\ \ \//\ \      __     __   _ __   ___ 
     \ \  __ \ \ \ \  \ \ \   /'__`\ /'_ `\/\`'__\/ __`\
      \ \ \/\ \ \_\ \_ \_\ \_/\  __//\ \L\ \ \ \//\ \L\ \
       \ \_\ \_\/\____\/\____\ \____\ \____ \ \_\\ \____/
        \/_/\/_/\/____/\/____/\/____/\/___L\ \/_/ \/___/
				       /\____/
				      \_/__/


	     Informacin especfica para Linux.

    Vase readme.txt para un punto de vista ms general.

   Lea tambin en docs/build/unix.txt informacin general para Unix.



=========================================
============ Notas generales ============
=========================================

   En Linux hay dos drivers de sistema diferentes -- uno para ejecutar bajo
   X, y otro cuando no hay X. Para informacin sobre la versin X, e
   instrucciones sobre cmo instalar Allegro y compilar sus programas en un
   sistema Unix vea docs/build/unix.txt. Este fichero slo describe las
   rutinas Linux bajo consola.

   Normalmente la versin X es usada en preferencia a la versin consola, si
   un servidor X est disponible (esto significa que sus programas usarn X
   si los ejecuta desde X, y el modo consola en cualquier otro caso). Puede
   cambiar esto usando su fichero de configuracin si lo prefiere, o
   especificar --without-x durante la configuracin.



============================================
============ Instalando Allegro ============
============================================

   Lea docs/build/unix.txt: este proceso es idntico tanto para consola como
   para la versin X.



========================================
============ Usando Allegro ============
========================================

   Algunas partes de Allegro bajo Linux en consola necesitan privilegios de
   superusuario. Otras no. Especficamente, los drivers VGA, modo-X y
   VBE/AF los necesitan. El driver fbcon no los necesita. Adems, si tiene
   intencin de ejecutar su programa desde algo que no es una consola (ej:
   una xterm (pero sin usar la versin X), un login remoto, una sesin de
   screen) entonces necesita poseer una consola (libre) numerada del 1 al 15
   o tener privilegios de superusuario.

   Si desea que un programa funcione con privilegios incluso cuando el
   usuario que lo ejecute no los tenga, haga que el binario sea del
   superusuario y active el bit suid:

       # chown root.allegro exhello
       # chmod 4770 exhello

   Eso hace el ejecutable propiedad del superusuario y un grupo `allegro'.
   Se puede leer, modificar y ejecutar por el superusuario y personas que
   estn en ese grupo. Adems, cuando se ejecuta tiene privilegios de
   superusuario. Por esta razn, no es ejecutable por el pblico general.
   Ponga slo usuarios en los que confe en el grupo `allegro'.

   Quizs prefiera usar `4750' en lugar de `4770' -- entonces las personas
   del grupo no pueden modificar el binario.

   Allegro abandonar los privilegios casi de inmediato tras la iniciacin,
   usando `seteuid'. Esto significa que todava puede obtener los permisos
   ms tarde. Allegro necesita ser capaz de reobtener los privilegios si
   tiene intencin de llamar `allegro_init' en el futuro. Si este no es el
   caso, puede abandonar los privilegios definitivamente usando
   `setuid(getuid());' -- entonces se pierden para siempre.

   Nota de seguridad: si no hace esto, cualquier desbordamiento de buffer es
   un problema severo de seguridad. En cualquier caso, debera tener mucho
   cuidado al permitir que personas al azar puedan ejecutar programas de
   terceros como suid root.

   Si como superusuario ejecuta `make suid', estos permisos sern aplicados
   a todos los programas generados -- el juego demo, los ejemplos, los
   tests, etc.



=================================================
============ Notas sobre los drivers ============
=================================================

   This section contains Linux-specific notes on the drivers available.

   * Sistema:
        Durante la iniciacin, Allegro intentar obtener un cierto control
        sobre la consola. Esto generalmente requiere privilegios de
        superusuario, pero si el programa no est siendo ejecutado desde
        una consola virtual (ej: est ejecutando desde screen o X), Allegro
        intentar obtener una consola virtual libre y ejecutarse ah. Esto
        requiere que haya algunas consolas libres que puedan ser ledas y
        escritas; a no ser que el usuario haya reservado algunas, necesitar
        ser superusuario en este paso.

        El cambio de tarea es posible; todos los modos de Allegro estn
        soportados. El modo por defecto es SWITCH_PAUSE. SWITCH_BACKGROUND
        funcionar unicamente si la aplicacin toma precauciones especiales.

   * Graphics:
        Allegro en Linux soporta modos VGA estndar y modos-X realizando
        escrituras directamente en la tarjeta. Necesitar privilegios de
        superusuario para que esto funcione.

        Tambin soporta fbcon, para el cual no hace falta tener privilegios,
        pero necesita un ncleo reciente, correctamente configurado.

        El sistema VBE/AF requiere privilegios de superusuario. Tambin
        necesita un driver VBE/AF que funcione en Linux -- el proyecto
        FreeBE/AF tiene dos por el momento, pero el proyecto en s no ha
        sido portado a Linux. No obstante puede copiar simplemente los
        binarios con el driver. Ponga el driver apropiado en
        `/usr/local/lib', `/usr/lib', `/lib' o `/', con el nombre
        `vbeaf.drv' -- o pngalo donde desee, especificando la ruta en el
        fichero de configuracin como en la versin DOS.

        Por razones de seguridad, el driver binario VBE/AF debe ser del
        usuario root y slo modificable por l. Realmente no quiere cargar
        y ejecutar cdigo binario especificado por el usuario en un programa
        privilegiado.

        El driver SVGAlib debera ser bastante estable y rpido ahora, y
        puede usar la mayora de los modos de vdeo que provee SVGAlib.
        Requiere permisos de superusuario si su versin de SVGAlib los
        necesita.

   * Sound:
        Los drivers ALSA por ahora slo soportan la versin antigua (y
        estable) del API de ALSA (0.5.x). La serie de betas 0.9.x todava NO
        est soportada.

   * Keyboard:
        El driver de teclado usa las tablas de mapeado del kernel para
        emparejar scancodes con cdigos de carcter y funciones de tecla,
        por lo que su mapa de teclado debera estar bien sin tener que
        configurarlo en el programa de setup.

   * Joystick:
        Para compilar Allegro con soporte de joystick necesita tener un
        ncleo reciente (2.2.* o ltimas versiones del 2.1.*), vamos, con
        soporte para joystick en el ncleo. Mire en
        /usr/src/linux/include/linux/joystick.h. Realmente no necesita
        configurar el ncleo para que use joystick, slo necesita ese
        fichero de cabecera.

        Similarmente, para ejecutar programas de Allegro con soporte de
        joystick necesita un ncleo reciente, y aqu s que debe estar bien
        configurado el ncleo. Tambin necesita crear el fichero de
        dispositivo /dev/js0 si no existe.

        Lea /usr/src/linux/Documentation/joystick.txt para ms detalles.

   * Mouse:
        Allegro en Linux soporta por ahora los ratones PS/2 y Microsoft
        directamente, y otros tipos de ratn va GPM. Para usar GPM necesita
        activar su opcin `repeater', la cual copia toda actividad del ratn
        en el fichero FIFO /dev/gpmdata. Modifique sus scripts de iniciacin
        para aadir la opcin '-R'. El driver GPM tambin puede ser usado con
        ratones nativos Mouse Systems cambiando la variable `mouse_device' en
        el fihcero de configuracin.

        Cuando use el protocolo PS/2 Intellimouse, es necesario poner el
        ratn explcitamente en modo con ruedecilla, lo cual requiere que
        Allegro tenga permisos de escritura sobre el dispositivo. Dado que
        esto nicamente hay que hacerlo una vez (el ratn recordar el estado
        si no lo desconecta), un modo alternativo de cambiar los permisos de
        fichero es iniciar su ratn durante el arranque con GPM. Para hacer
        esto, modifique sus scripts de iniciacin para que usen las opciones
        `-t imps2 -m /dev/psaux' de GPM. Si no quiere tener GPM activo,
        mtelo con `gpm -k'.

