jueves, 21 de enero de 2010

Instalar el SDK del iRex DR1000S en Linux (Ubuntu 9.10 Karmic Koala)

(También publicado en mi blog de desarrollo: http://geeks.ms/blogs/rfog/archive/2010/01/21/instalar-el-sdk-del-irex-dr1000s-en-linux-ubuntu-9-10-karmic-koala.aspx)

Ya sabéis qué poco me gusta Linux, pero a veces tiene su interés, o más bien me da por tomármelo sin más. Añadamos que Ubuntu no es que sea de muy de mi agrado y tendremos la perrería más absoluta en investigar sobre todo eso.

Pero resulta que sí tengo otra pasión, y es la de los aparatos equipados con pantallas de tinta-e, y la mayoría de ellos –por no decir todos- llevan en sus tripas Linux, y si algún fabricante saca algún SDK este seguro que va a ejecutarse bajo dicho sistema operativo.

Los productos de la empresa iRex tendrán muchas pegas y deficiencias en cuanto al software, pero lo que sí es cierto es que se toman muy en serio el Open Source. Cuando abandonaron el desarrollo del iLiad, publicaron todo el código fuente completo, y el DR1000S tiene su SDK e incluso su emulador. Esperemos que el recién salido DR800S también cuente con él.

Bueno, pues el otro día me dio por intentar, por enésima vez, instalarme el citado SDK dentro de una Ubuntu. En su momento, con la versión adecuada y la documentación oficial, no conseguí hacerlo funcionar, así que menos con una versión más moderna. Pero me picó el gusano y me puse a ello. Y lo conseguí tras muchos sudores y esfuerzos.

Pero primero lo que ya existe. La descarga oficial del código fuente y de los SDK está aquí: http://developer.irexnet.com/pub/iOn/. Tan sólo tienes que buscar la versión adecuada. En el momento en el que escribo esto, es la versión 1.7 para el SDK y 1.7.1 para el código fuente. Las instrucciones para instalarlo están aquí.

En Mobileread hay una imagen con Ubuntu lista para utilizar, en este hilo. No sé qué versión de SDK traerá, seguro que una antigua, pero simplemente hay que quitar el viejo y poner el nuevo. Cosas que no me molan de esa imagen es que la versión de Anjuta es muy vieja, así como el propio Ubuntu, pero para quien sólo quiera echarle un vistazo rápido le será suficiente.

Si quieres seguir esta entrada con detalle, ahora es el momento de echarle un vistazo a los primeros puntos del documento de la instalación. Yo cogí mi vmWare e instalé la última versión de Ubuntu, y aunque el manual diga que el SDK no funciona dentro de un sistema operativo virtualizado, no es así, no al menos en mi Windows 7 x64 con 8 GB de RAM. Y para que la VM no ande escasa, le he asignado 2GB de RAM.

Una vez instalada la distro, no añadas el repositorio de la sección 2.2, en lugar de ello haremos algunas cosas a mano. Si intentas seguir el documento te vas a encontrar con un Anjuta y un Poki que no van a funcionar.

Instalemos Anjuta y Anjuta-dev desde los repositorios normales. Una vez hecho eso instalaremos, a mano, los plugins de Anjuta Extras, que tendrás que bajar en código fuente de aquí: http://projects.gnome.org/anjuta/downloads.shtml.

Yo me he creado una carpeta dependiente de mi home con el nombre de “dr1000s”, y ahí dentro he puesto otra nueva llamada “dependencies”, que es donde voy a colocar el código fuente dependiente para que me funcione todo bien.

Descomprime e instala los Extras (ya sabes: ./configure, make, sudo make install), y si no sabes de qué estoy hablando mejor te coges la imagen ya preparada.

***

Ahora viene el tinglado gordo. En la página de arriba hay una serie de plugins, tenemos que instalar, a mano, el Poky SDK Plugin, que va por la versión 0.5 y no es compatible con las versiones modernas de Anjuta, que es el problema que tendríamos si siguiéramos las instrucciones de la documentación original.

Tenemos que bajarnos el código, descomprimirlo e intentar compilarlo. Igual que a mi, os va a dar docenas de errores, que hay que ir corrigiendo a mano, ya que el API de desarrollo de Anjuta ha variado y hay funciones que cambian de parámetros y otras que no existen, cosa que mola mucho y parece que nadie aprende a evitar. Si tienes un API y necesitas crear otro nuevo, no llames a las funciones iguales, o bien mantienes el viejo y creas nuevas funciones o bien creas las nuevas y abandonas las viejas.

También hay otro problema con el paquete gnome-vfs, que parece que ha cambiado de lugar o que el configurador del Poky SDK es incapaz de encontrar, el tema está en que hay que modificar una buena cantidad de código. Trasteé tanto que al final ya no recuerdo qué cambié.

Una cosa que tienes que hacer es copiar el contenido de /usr/include/gnome-vfs-2.0/gnomevfs en /usr/include/gnomevfs en tu distro. Ya sé que es una chapuza, que lo que hay que hacer es añadir las rutas en la configuración del proyecto, pero yo al menos no sé dónde se hace eso.

Bueno, en este hilo de Mobileread tienes el código fuente que modifiqué, listo para un sudo make install… Y lo pongo así porque hay que modificar un makefile generado por el configure, pero como de nuevo no sé dónde hay que añadir la línea, lo hice en el makefile final.

El tema está jodido, porque aparte de tener que añadir inclusiones nuevas, he tenido que poner una buena espuerta de NULL en las funciones que reciben nuevos parámetros, y comentar otras llamadas a funciones que ya no existen en Anjuta, de modo que lo mismo he hecho una bomba de relojería… Si quieres ver qué he cambiado, puedes hacer una comparación de los ficheros originales del Poky SDK con los que yo he modificado.

En fin, el tema está en que siguiendo estas instrucciones y las del propio documento, tendrás instalado tu SDK y tu emulador para desarrollar código para el DR1000 desde el IDE de Anjuta, con integración de todo y en un Ubuntu bastante más moderno y funcional que la imagen original.

Lo que no he conseguido ha sido lanzar el depurador desde el IDE, cosa que queda pendiente para otro momento. Quizás cuando lo consiga publique la imagen en algún lado.

viernes, 8 de enero de 2010

Lo que está por venir (CES 2010)

No lleva el CES abierto un día y ya casi tenemos todas las novedades en relación a lo que nos ocupa, pero como siempre, me da a mí que los fabricantes siguen sin enterarse de lo que es ergonomía y diseño funcional.

Microsoft y su Courier que al final se ha convertido en un Tablet new form factor, que quiere decir que ahora los Tablet van en vertical en lugar de horizontal, que son multitáctiles y que llevarán Windows 7… Bueno, lo primero no es completamente seguro, lo demás sí.

¡Nos ha jodío!

¿Qué más novedades hay? Pues el QUE de Plastic Logic saldrá a mediados de abril, pero ha sido, al menos para mí, otra decepción. ¿Por qué? A poco que uno lea las características del mismo, se da cuenta de que nos han mentido sibilinamente. Habrá dos versiones, una con 4 GB de almacenamiento y Wi-Fi a 649$, y otra con 8GB, Wi-Fi y conectividad 3G con AT&T a 799$. La desilusión viene del soporte de formatos. Nativamente, aparte de los típicos para imágines, sólo soportará PDF, ePup y TXT… ¿Dónde están los formatos Office? Pues en una impresora virtual para PC, sobre la que tendremos que imprimir nuestros documentos a un formato propietario (otro más) de Plastic Logic… Lo veis, ¿no?

Potenciales problemas a espuertas. ¿Qué tal está hecha esa impresora virtual? Dicen que funciona con MAC OS X, Windows XP, Vista y 7, pero por ejemplo no dice que lo haga sobre las versiones de 64 bits. Además, ¿qué pasará cuando salga un nuevo sistema operativo? Lo dicho.

Otro aparato con posibles, pero que no me hace ni fu ni fa, es el Alex, que parece ser es lo que el Nook quiso ser y no pudo. Pantalla más rápida, interacción entre ambas mucho mejor que en el Nook, y más prestaciones.

Pero sin embargo no le veo sentido a estos aparatos. No son más que un lector-e con dos pantallas, significativamente más pesado que los que solo traen una y con pocas posibilidades más. La pantalla LCD es demasiado pequeña para mostrar nada útil, aparte de que debe gastar batería como un cosaco.

De formatos soportados tampoco he podido leer nada, pero supongo que traerá el ADE y soportará los típicos PDF, TXT y ePub con las opciones estándar.

Con pantalla Pixel-Qi tenemos el Adam, del que poco he podido averiguar. Una foto de un prototipo y que saldrá más o menos en junio. Ya la foto me hace sospechar que tampoco es que vaya a tener mucha ergonomía, ya que presenta un texto a pantalla completa sin columnas…

El que sí me ha molado, y mucho, es el Entourage Edge. Dos pantallas grandes, un quilo y cuarto de peso, Android, sale en febrero y tiene una pinta impresionante. No es que soporte muchos formatos de libros-e (ePub y PDF), pero la idea del aparato es otra. Más bien intenta ser un híbrido entre un Tablet y un libro-e, con funcionalidades de anotación, grabación y reproducción de audio y vídeo, correo electrónico, etc. La pantalla de tinta-e es de 9,7” pulgadas (como la del Kindle DX), y la de LCD de 10.1”, y han prometido un SDK para crearle ampliaciones.

En una palabra: mola.

También han sido presentadas tecnologías nuevas, como la Liquiavista, que es tinta-e pero en color y con un tiempo de respuesta más que aceptable, y el Skiff, un lector-e de tamaño industrial.