miércoles, 27 de junio de 2007

Linux en una Dynapos PST-5000


Estuve haciendo algunas pruebas sobre una máquina de Dynapos, la PST-5000. Si bien la máquina es algo bastante estándar (un Celeron de 650 con 256Mb de RAM), uno nunca sabe que se va a encontrar al intentar instalar/usar Linux en uno de estos aparatos. La distribución seleccionada fue Ubuntu Feisty (7.04)

El primer tema fue la instalación del sistema operativo. La máquina que probé venía con un disco rígido de 40Gb, pero como la máquina no tiene disketera ni cdrom, había que buscar otra forma de instalar.
El primer intentó fue de la forma que me recomendó el proveedor: usando un adaptador ide-usb e instalando desde otra máquina. Lamentablemente la única máquina que tenía disponible para hacer esto tenía USB 1.0 y no era suficiente para instalar el sistema operativo usando debootstrap.
Descartada la opción recomendada, decidí probar con el booteo por red. La máquina tiene placa de red, y sólo fue cuestión de bajar el instalador de red de Ubuntu y hacer unos retoques a nuestro servidor DHCP (ver este howto).
Por ansiedad, durante la instalación no seleccioné ningun grupo de paquetes, por lo tanto la instalación fue rápida y pude probar si el kernel podía iniciar sin problemas.

Luego de la primera instalación, probé que el hardware haya sido detectado, la placa de red funcionaba, todo ok, asi que después de un 'apt-get install ubuntu-desktop' (y casi dos horas de espera) tenía el gdm esperando el usuario y contraseña.

La gran duda era si iba a funcionar el touchscreen, según las especificaciones es un Elo, y debería funcionar bien en Linux. Lamentablemente el Ubuntu no lo configura por default, así que tuve que 'ensuciarme las manos': a editar el xorg.conf a mano...

Este debe ser uno de los archivos más temidos, y la verdad que no hay nada por que temerle. En este archivo se definen los dispositivos que se van a usar desde el entorno gráfico, de qué tipo son (teclado, pantalla, placa de video, etc), y como se relacionan en una configuración determinada. El miedo popular viene de que al romper uno de estos archivos no vuelve a levantar el entorno gráfico, y en estos casos hay gente que llega a reinstalar el sistema completo. La solución es muy simple: 'sudo dpkg-reconfigure xserver-xorg' desde una consola. Tampoco es una mala idea hacer una copia antes de modificarlo, por supuesto.

Para levantar los módulos del touchscreen tuve que crear una sección para el dispositivo:


Section "InputDevice"
Driver "elographics"
Identifier "touchscreen"
Option "Device" "/dev/ttyS2"
Option "Type" "cursor"
Option "MinX" "4000"
Option "MaxX" "50"
Option "MinY" "4000"
Option "MaxY" "100"
EndSection


Como pueden ver, los valores de MinX y MaxX, y MinY, MaxY están invertidos, eso es porque este modelo viene con el touch invertido (?) Los valores que muestro son para una pantalla de 15" y 1024x768. Para calibrar bien el touch, hay que usar el viejo método de prueba/error, otra opción no encontré (si alguien sabe como configurarlo de forma mas facil, que avise :))

Luego, en la sección de Layout, donde se combinan todos los dispositivos para el entorno gráfico, agregué lo siguiente:


Section "ServerLayout"
...
InputDevice "touchscreen" "SendCoreEvents"
EndSection


Por supuesto, hay que reiniciar el X, en el caso de Ubuntu, es suficiente con reiniciar el gdm: 'sudo /etc/init.d/gdm restart' y ya está: un Ubuntu con touchscreen en una máquina de POS. Para ejecutar un Gnome completo es un poco lenta, pero para aplicaciones customizadas, sin cargar un entorno completo, lo veo más que factible.

Espero que le sirva a cualquier que esté pensando en usar una máquina de estas o al menos para configurar un touchscreen en Linux. No eran tan difícil...
Publicar un comentario