La terre vue d'ailleurs
[201] La terre vue d'ailleurs / Informatique / Zaurus
Informatique : HardBlog - José 3D - OOmadness - Zaurus
Jiba
Le Zaurus est un mini-ordinateur sous Linux !
(ajouter un commentaire, ajouter une rubrique, éditer, archives, rss)
Après trois mois sur le Netwalker, je reviens finalement au bon vieux Zaurus... le Netwalker ne m'a pas convaincu, principalement pour les raisons suivantes :
  • Le clavier du Newalker est très mauvais, alors que celuis du Zaurus est excellent.
  • L'autonomie en veille du Netwalker est ridicule, de l'ordre de 5 jours, là où le Zaurus tient plus d'un mois. Ce point est important car, contrairement à un ordinateur "normal", le Netwalker (comme le Zaurus) ne s'éteint pas (le redémarrage étant beaucoup plus long, et l'appareil ne pouvant servir de PDA lorsqu'il est éteint).
Sans oublier d'autres points problématiques, moins importants, mais nombreux :
  • Le Netwalker est plus volumineux et plus lourd que le Zaurus. Il tient dans une poche de manteau, mais difficilement dans la celle d'une veste.
  • L'écran tactile du Netwalker est très imprécis. Lorsqu'on laisse le stylet appuyé sur l'écran, immobile, on voit le curseur de la souris danser tout autour... Du coup les doubles-clics très marchent une fois sur deux.
  • Les touches de raccourcis du Netwalker se déclenchent toutes seules ; j'ai dû les désactiver.
  • Je n'ai pas réussi à connecter le Netwalker à mon capteur solaire.
  • Bien que dépourvu de toute pièce mécanique, le Netwalker n'est pas silencieux : il émet un léger "Bzzz". Plus gênant : ce bruit continue quand l'appareil est en veille... très pénible si vous essayez de dormir à côté de votre machine ! Le Zaurus, lui, est absolument silencieux en veille comme en marche.
  • Les logiciels fournis avec le Netwalker n'ont pas été adaptés à la machine. En terme d'interface utilisateur, il s'agit d'un Ubuntu "standard de base" prévu pour ordinateur de bureau, sans même l'interface Netbook Remix. En terme de matériel, le processeur ARM Cortex 8 est sous-exploité faute d'optimisation des logiciels, par exemple le processeur supporte OpenGL mais aucun driver n'est fourni (au passage, cela explique pourquoi l'interface Netbook Remix n'est pas incluse : celle-ci repose sur Clutter, lui même utilisant OpenGL). Le résultat est désastreuses : bien que beaucoup plus puissant, le Netwalker paraît aussi lent que le Zaurus. En particulier, le logiciel d'agenda fourni (Mozilla Sunbird) est incroyablement lent.
Je soupçonne le Netwalker d'être aussi victime de la mode du "low-cost" : au motif de baisser les prix, on rogne sur la qualité, sur des éléments qui ne se voient pas forcément (comme le toucher du clavier). Au point de rendre l'engin très décevant... et de le voir finir à la poubelle ou au fond d'un placard...

Au final, le Netwalker surpasse le Zaurus pour surfer sur Internet et regarder des vidéos. Pour tout le reste, prendre des notes, jouer à des jeux, coder, gérer son emploi du temps et son carnet d'adresse,... le Zaurus l'emporte largement. Seulement voilà : je ne regarde jamais de vidéo, et je ne suis pas dépendant à Internet au point de ne pas pouvoir attendre de rentrer chez moi pour surfer. Donc le choix est vite fait !
The attached scripts allow to use Sunbird on PDA, that is to say to wake up automatically the device on Sunbird's alarm. I am successfully using them on the Sharp Netwalker (aka PC-Z1) but it should work on any device that supports wake up on RTC (the Netwalker does only after some hacks) and uses the APM daemon for power-related event management (the Netwalker does ; however for other devices that use ACPI, it should be quite easy to adapt).

To install it, proceed as following:
  1. Install the python-pysqlite2 package.
  2. Copy the attached file (link below) sunbird_set_next_rtc_alarm.py somewhere on your PATH (for example, in /usr/bin) and make this file executable (chmod a+x /usr/bin/sunbird_set_next_rtc_alarm.py).
  3. Copy the attached file (link below) 50sunbird_rtc_alarm in /etc/apm/suspend.d and make this file executable (chmod a+x /etc/apm/suspend.d/50sunbird_rtc_alarm).
  4. Edit sunbird_set_next_rtc_alarm.py . At line 3, indicate the maximum time (in second) your device needs to resume from suspend (the default 10 seconds is right for the Netwalker).
  5. At line 4, indicate the path to the Sunbird's storage file. if you have no idea at all, the following command should give you some hints : ls /home/*/.mozilla/sunbird/*/storage.sdb


That's all! Now, every time you suspend the device, sunbird_set_next_rtc_alarm.py is called. It looks Sunbird's calendar for the closest alarm, and, if any, define the device's RTC alarm as needed. Then, the device will wake up a few second before the alarm, and thus Sunbird will be able to beep you.

sunbird_set_next_rtc_alarm.py

50sunbird_rtc_alarm
By default, the Netwalker does not support waking up on RTC alarm, which implies that it cannot be used as a PDA. It has a calendar program (Sunbird), and alarms can be set on events, but the Netwalker will raise the alarm only if the device is on at this time... not good for a PDA !

Actually, the hardware does support waking up on RTC alarm, but this functionality is already used... by the battery drivers ! Any alarm you set will be erased by the drivers of the battery when suspending the Netwalker. It seems that the battery need to be checked every 30 minutes when the device is suspended.

So here is a patch that modifies the battery drivers so as it honors the previously set RTC alarm if it is closer in time. The patch is intended to be applied on the Netwalker's Linux kernel from http://netbook-remix.archive.canonical.com/updates/pool/public/l/linux-fsl-imx51/linux-fsl-imx51_2.6.28-15.50fsl1araneo7.tar.gz. See this how to for compiling and flashing the Linux kernel on the Netwalker.

With this patch, the Netwalker can now wake up on RTC alarm. You can verify that by running the commands:
sudo echo 0 > /sys/class/rtc/rtc0/wakealarm
sudo echo `date '+%s' -d '+2minutes'` > /sys/class/rtc/rtc0/wakealarm
And then suspend your Netwalker. It should wake up 2 minutes later.

You can also find below my .config kernel configuration file. I've also disabled the Netwalker's quick keys since they are constantly starting apps even if I don't touch them ; if you want to keep them working, change CONFIG_TOUCHKEY_MXC in .config.

However, wake up on RTC alarm is only the first step for using the Netwalker as a PDA: the next step consists in creating RTC alarm from the calendar program. Stay tuned!

jiba_netwalker_rtc_wake.patch

.config
The Netwalker is a very small laptop computer with an ARM CPU, running Ubuntu GNU/Linux. As it uses flash memory instead of a hard drive, you need a special procedure to update the kernel (the Netwalker does not use standard boot loader like Lilo or Grub). This small how to describes how to compile the Linux kernel for the Netwalker, and then how to flash the kernel. I will provide interesting kernel hacks later on this blog.

Compiling the kernel

I used the kernel from Canonical archive. The sources are available here: http://netbook-remix.archive.canonical.com/updates/pool/public/l/linux-fsl-imx51/linux-fsl-imx51_2.6.28-15.50fsl1araneo7.tar.gz. It is not the same sources used by Sharp, but they work well.

Then, you can grab the Sharp's Netwalker kernel configuration in /sys/config.gz . Uncompress it, rename it ".config", and move it in the kernel source directory. Add in the kernel config the option CONFIG_KS7010_SDIO for the Wifi (strangely it is not present in /sys/config.gz).

Finally, compile the Linux kernel as usual, and install it.

Flashing the kernel

  1. You need a 2 Gb (or more) microSD / microSDHC card. BEWARE : the card will be reformatted and any data on the card will be deleted! You should also make a safe copy of any data on the Netwalker.
  2. Create a microSD recovery card; instruction are in Japanese on Sharp's website, so here is a summary.
  3. Download this script, and uncompress it: http://www.sharp.co.jp/support/ex-data/recovery.sh.tar.gz
  4. Insert the microSD card in the Netwalker, connect the Netwalker to Internet, and run the script. The script will set up the recovery card. It downloads many data (about 1 Gb) and thus it takes several hours.
  5. The microSD recovery card can be used to reset the Netwalker, reflashing the kernel and erasing all data. This can be done by shutting down the Netwalker, and pressing both mouse button at start-up (you need to press the button quite a long time). However, this is not what we want to do: the objective of this how-to is to flash only the kernel. To do so, follow the next steps.
  6. Mount the microSD card. This can be done with these commands:
    mkdir /tmp/test
    mount /dev/mmcblk0p1 /tmp/test
    
  7. Edit file /tmp/test/firmware/spider.srp ,and remove the line "5,ubi.img". This line is responsible for erasing all data on the Netwalker. The next line (4,zImage) is responsible for flashing the kernel, so we keep it.
  8. Replace /tmp/test/firmware/zImage by the new kernel image (typically /boot/vmlinuzXXX).
  9. Edit file /tmp/test/usr/local/bin/update_spider.sh . At line 47 and following, add /tmp/test before /usr/local/bin/... (there is 5 lines to modify).
  10. Connect the Netwalker's power cable.
  11. Run /tmp/test/usr/local/bin/update_spider.sh . Then press "y", wait a few second and press any key to exit.
  12. The kernel has been flashed! Now, reboot the Netwalker and enjoy your new kernel!
NB voir la conclusion de ce test 3 mois plus tard ici

Plusieurs années après l'arrêt de la production des légendaires Zaurus, des PDA en forme de mini-ordinateur portable sous Linux, Sharp sort une nouvelle machine au Japon : le Netwalker PC-Z1, qui y ressemble fort.

Le Netwalker pourra-t-il remplacer mon vieux mais increvable Zaurus ?

Matériel

La qualité d'assemblage du Netwalker est bonne, sans atteindre l'excellence de celle des Zaurus. Les plastiques sont brillants, mais les traces de doigt ne sont pas vraiment visibles, du moins sur le modèle blanc (il semblerait que le noir y soit sujet !).

Comparé au Zaurus SL-C1000, le Netwalker est significativement plus gros. S'il rentre dans une poche de veste, il est aussi plus lourd, ce qui rend ce mode de transport peu envisageable. D'un autre côté, je me promène toujours avec un sac ne serait-ce que pour avoir un bouquin à lire dans le métro...



Le Netwalker contient un processeur Freescale iMx515 de type ARM, 512 Mo de mémoire vive, 4 Go de disque SSD, un port USB et un mini-USB, un emplacement microSD/microSDHC et une sortie audio, et un récepteur Wifi. D'après des sites japonais, il s'agit de la première génération prévue sur trois, la seconde devant inclure du Wimax (mais a priori pas de 3G, il semblerait que les opérateurs japonais préfèrent fournir des clef 3G USB). Qaunt à l'absence de microphone et d'entrée micro s'explique sans doute par la volonté de faire vendre l'engin par les opérateurs téléphoniques avec un abonnement 3G / Wimax, afin d'interdire l'utilisation de l'appareil pour la téléphonie sur IP...

Ecran

L'écran fait 5 pouces, pour une résolution de 1024x600 (très forte pour sa taille, donc). L'image est de bonne qualité. L'écran tactile fonctionne bien, et même en ouvrant l'écran en grand et en posant le Netwalker sur une table, la machine ne bascule pas en arrière lorsqu'on appuie sur l'écran.

Par rapport au Zaurus, l'écran n'est pas rotatif, cependant pour ma part je ne l'utilisais presque jamais en tablette. Par contre, l'écran du Zaurus avait l'inconvénient d'être monté pour être vu en vertical, ce qui fait que, lorsqu'il était à l'horizontal, le niveau de contraste était différent pour les deux yeux, d'où un effet assez désagréable (essayer de regarder un écran LCD en penchant la tête à 90° et vous comprendrez !).

Stylet

Le "stylet" fourni est ridiculement petit (oui, c'est le machin noir en bas à droite de la photo ci-dessous), et ne se loge pas à l'intérieur du Netwalker. C'est d'autant plus dommage qu'il y aurait eu plus que la place de mettre un stylet correct dans la carcasse du Netwalker !



Clavier

Le clavier est très décevant. Les touches sont bruyantes, et s'enfoncent en biais. Malgré sa plus grande taille, je ne suis pas toujours certain que le clavier du Netwalker soit plus pratique que celui du Zaurus (qui était, lui, excellent, malgré ses dimensions).

Souris optique

Le Netwalker inclut une souris optique. A l'usage, celle-ci s'avère aussi confortable qu'un touchpad, c'est-à-dire pas très pratique en ce qui me concerne (mais je suis un allergique au touchpad, donc c'est sans doute assez subjectif). L'écran tactile me convient mieux comme périphérique de pointage. Plus intéressant, cette souris optique peut aussi être utilisée comme une molette de souris bidirectionnelle.

Boutons de raccourcis

Ces 4 "boutons" sont des raccourcis vers des applications courantes. Je dis "boutons" entre guillemets, car ils ne s'enfoncent absolument pas : il suffit de poser son doigt dessus pour les activer. Réagissent-ils à la chaleur, à la pression ? En tous cas, ils réagissent lentement et, une fois que l'émerveillement devant ce gadget est passé, on se dit qu'on aurait préféré des boutons tout simples.



Batterie

Je n'ai pas fait de vrai test sur la batterie, mais l'autonomie semble proche de celle du Zaurus : environ 7h, moins si on active le Wifi. La jauge de la batterie ne donne qu'une indication très grossière. La commande "cat /proc/battery" permet d'avoir plus d'information : le second chiffre (entre parenthèse) indique le niveau actuel dans une unité arbitraire, les chiffres suivants donnent des niveaux de référence sous la forme :.

La promesse de Sharp - allumage et extinction en 3s - est tenue ! Il s'agit en fait d'une mise en veille / sortie de veille ; le Netwalker étant fait pour ne jamais être éteint, avec une consommation très faible en veille.

Port USB

Le Netwalker dispose d'un vrai port USB, contrairement au Zaurus qui nécessitait un adaptateur miniUSB -> USB. Le port miniUSB du Netwalker est quasi-inutile : il ne permet ni l'alimentation du Netwalker via USB, ni la connection du Netwalker à un ordinateur... il semblerait que ce port ne puisse servir qu'à brancher des périphériques avec un adaptateur miniUSB -> USB, comme celui du Zaurus. Dommage.

Logiciel

Le Netwalker est fourni avec la distribution Linux Ubuntu Netbook Remix pour processeur ARM. Tous les paquets Ubuntu sont disponibles (en version ARM), facile à installer avec le gestionnaire de paquets, et par conséquent la logithèque est immense. C'est le point fort du Netwalker : une vrai distribution Linux, par opposition au Zaurus qui devait se contenter d'un Linux "allégé".

En revanche, Sharp semble n'avoir que très peu adaptée l'interface utilisateur au Netwalker. En particulier, les polices de caractères sont minuscules (à cause d ela très forte résolution de l'écran), et la première chose à faire sera d'augmenter la taille des polices (Menu Système -> Préférences -> Apparence). L'interface spécifique d'Ubuntu Netbook Remix, optimisé pour des écrans tactiles, n'est pas utilisée (après quelques essais d'installation, il semble que cette interface soit incroyablement lente sur le Netwalker, sans doute un problème de pilote graphique -- voir ci-dessous). Par rapport au Zaurus, on ne peut que regretter l'interface de QTopia, ainsi que la présence de touches "OK" et "Annuler" sur le clavier pour valider les boîtes de dialogue plus facilement.

Performances

Globalement les performances sont plutôt satisfaisantes (par rapport à la taille de l'engin), bien qu'assez variables. En particulier, le temps de lancement des applications est souvent long, mais une fois lancée c'est fluide. Cependant, le temps de lancement des applications n'est pas trop gênant car il suffira de ne pas fermer les applications : le Netwalker est prévu pour rester en veille sans jamais être éteint, et les 512 Mo de mémoire vive sont suffisants sous Linux et permettent de garder beaucoup d'applications ouvertes. Avec 6 applications ouvertes (dont Firefox, OpenOffice et le gestionnaire de paquets), il me reste encore plus de la moitié de la mémoire disponible.

En lecture vidéo, le Netwalker s'en tire très bien. Une vidéo HD en 720p (http://mirrorblender.top-ix.org/peach/bigbuckbunny_movies/big_buck_bunny_720p_surround.avi) peut être lue de manière parfaitement fluide. Il faut cependant les codecs appropriés, qui ne sont pas installés par défaut (le lecteur vidéo propose l'installation automatiquement). Après installation du plugin Flash, les vidéos Youtube et compagnie peuvent aussi être lue, mais la fluidité est correcte, sans plus.



Hors lecture vidéo, les performances graphiques 2D sont médiocres. Les performances en 3D sont très faibles (5 FPS avec une petite démo comme glxgears). En fouillant un peu dans la configuration du noyau Linux et du serveur graphique, cela devient plus clair. Le processeur du Netwalker (Freescale iMx515) possède plusieurs coprocesseurs pour des tâches spécifiques. Le coprocesseur de décodage vidéo est pris en charge par le Netwalker, en revanche le coprocesseur graphique 2D / 3D ne l'est pas. J'ai cru comprendre que ce coprocesseur était similaire au chipset "Poulsbo" qui accompagne certains processeurs Intel et ne possédait pas de driver Linux jusqu'à peu ; à l'occasion je regarderai ça de plus près. S'il est possible d'activer ce chipset, les performances graphiques devraient s'améliorer, notamment en 2D.

La vitesse de la mémoire flash interne (4 Go) est faible : environ 6 Mo/s en lecture. Ceci pourrait expliquer en partie le temps de démarrage des applications.

PDA ?

Mon Zaurus me servait notamment de PDA, afin de me rappeler les heures de réunion, de cours, de rendez-vous, et autres tâches urgentes. Grosse déception, le Netwalker inclut bien un programme d'agenda mais il ne peut sonner lors des rendez-vous que si la machine est allumée à ce moment-là... Après quelques recherches, il semblerait qu'il manque l'activation d'un IRQ dans le module gérant l'horloge temps réel du noyau ; cela pourrait être corrigé prochainement et je vais suivre ça de près.

Conclusion

Le Netwalker pourra-t-il remplacer mon vieux mais increvable Zaurus ? D'un côté, le Netwalker est beaucoup plus puissant que le Zaurus, par exemple pour surfer sur Internet, et il dispose d'une distribution Linux complète. De l'autre, il est plus encombrant et le clavier n'est pas forcément meilleur. En fait, il m'est difficile de répondre, tant que la question de son utilisation comme PDA n'est pas résolue.

Pour : la vrai distribution Linux, l'écran haute résolution, les performances correctes pour la taille de l'engin (et comparées à celles du Zaurus), le démarrage instantané, l'autonomie élevée, la lecture de vidéo HD.

Contre : le clavier pourri, l'absence de fonction PDA, le système non-optimisé (chipset graphique notamment), l'interface non-adaptée aux dimensions de l'engin, le nombre de périphérique inclut assez faible (pas de microphone, de webcam, de lecteur de carte SD, de 3G...).

Plus d'informations sur le Netwalker :
Et voilà, j'ai enfin réussi à faire tourner Songwrite 2 en QTopia sur mon Zaurus !

Introduction

On dit souvent que les meilleures choses sont celles que l'on fait soit-même. C'est vrai pour les gâteaux... et si c'était vrai pour l'électricité ? Je m'étais rendu compte un peu par hasard que mon Zaurus consommait moins d'1W par heure (il tient 8 heures sur une batterie de 1800 mA à 3,7 V et consomme donc 0,83 W par heure). D'où l'idée de le charger avec de l'énergie solaire !

Après avoir fait le tour des modèles disponibles, j'ai finalement choisi le capteur Solio, disponible en France chez Websolaire. Ce choix est motivé par les raisons suivantes :
  • Le Solio est compatible avec de nombreux appareils (téléphone portable, lecteur de musique,...), et une prise pour charger une PSP est disponible (en option). Il est connu que les Zaurus C1000 / C3x00 sont compatibles avec les alimentations des PSP.
  • Le Solio génère presque 1 W par heure à plein rendement, ce qui signifie qu'une heure de plein soleil équivaut à une heure de Zaurus ! (en théorie car il y a évidemment toujours des pertes !)
  • L'institut Fraunhofer (grand organisme de recherche Allemand) a démontré que ce capteur générait plus d'énergie au cours de sa vie que sa fabrication n'en a coûté.
  • C'est un des rares capteurs pour lequel j'ai pu trouver des tests positifs sur Internet, contrairement à beaucoup d'autres modèles (notamment ceux vendus par des sites orientés "gadgets informatiques" pour lequel je n'ai trouvé que des tests négatifs).
Commandé chez Websolaire, je l'ai reçu quelques jours plus tard sans problème.

Déballage

Au déballage, l'aspect écolo du capteur saute au yeux. L'emballage est quasiment exclusivement composé de papier recyclé et imprimé avec des encres propres. Le capteur lui-même est fabriqué avec des plastiques recyclés ; pour autant l'ensemble apparaît de bonne qualité. Le capteur comprend 3 petit panneaux solaires qui peuvent être pliés ou dépliés, ainsi qu'une batterie interne. Cette batterie est chargée par les rayons solaires, et ensuite cette énergie peut être transférée dans la batterie d'un autre appareil (comme le Zaurus).

Charge solaire

La notice indique qu'il faut 8 à 10 heures de plein soleil pour charger complètement le Solio. Mes tests montrent que le capteur tient ses promesses ! Le test a eu lieu à Paris, en été (mais avec un mois de juillet pourri !). La lumière directe du soleil est nécessaire, éventuellement à travers une vitre. Le soleil de fin de journée (entre 17-20h) permet la charge mais de manière moins efficace (60-75% environ).

Afin de suivre le chargement de la batterie, deux moyens sont disponibles :
  • Une LED rouge s'allume lorsque la charge est en cours.
  • Une LED verte permet de savoir le niveau actuel de la batterie, lorsque l'on appuie sur un bouton. Le niveau de charge est indiqué par 0, 1, 2, 3, 4, ou 5 clignotements de la LED verte qui correspondent respectivement à 0%, 20%, 40%, 60%, 80% et 100% de charge. Mes tests montrent cependant que le niveau est assez approximatif, par exemple il me faut significativement plus de temps pour passer du niveau 2 au 3 que du 3 au 5.


Connection au Zaurus

Une fois chargé, le capteur se connecte sans problème au Zaurus avec l'embout PSP. Le témoin de charge du Zaurus s'allume et les journaux du système indique qu'une alimentation de 1 A a été reconnue, ce qui correspond aux caractéristiques de l'alimentation fournie avec le Zaurus (1 A à 5 V ; le voltage étant a priori de 5 V pour un chargeur de PSP).

Lorsque la batterie du Zaurus est vide et celle du Solio est pleine, le transfert de la batterie du Solio vers la batterie du Zaurus prend environ une heure et demi. Après cela, la batterie du Solio est quasiment vide et celle du Zaurus est pleine à 60%. Cela signifie donc qu'il faut 1 heure et 40 minutes de soleil pour 1 heure de Zaurus en tenant compte des pertes (notamment lors des multiples conversions énergie chimique <=> électrique et des changements de voltages, et pour l'éclairage des LED du Solio et du Zaurus). Ce qui n'est pas si mal !

Conclusion

Le capteur solaire Solio fonctionne bien, sans être miraculeux non plus. La combinaison Zaurus + Solio permet d'avoir un (mini-)ordinateur qui tourne à l'énergie solaire ! Cela n'est possible que grâce à la très faible consommation du Zaurus, sans doute liée à son processeur non Intel x86, mais de type ARM (et donc ayant des performances limitées).

En revanche, un de ces "netbook" à la mode ne pourrait a priori pas être alimenté par l'énergie solaire sans utiliser un capteur significativement plus encombrant (un Asus EEE PC 701, un Acer Aspire One ou un MSI Wind consomme chacun environ 10 W par heure, soit l'équivalent de 10 Zaurus...). Ce qui me conforte dans l'idée que les processeurs de type Intel x86 sont très gloutons en énergie, y compris les récents Atom et compagnie pourtant censé être économes, par rapport à d'autres architectures. Et du coup je ne regrette pas l'achat de ce petit Zaurus, malgré l'ancienneté de cette machine !
J'ai enfin trouvé comment traduire les applis de Cacko sur le Zaurus... en fait l'original est en anglais, des fichiers de traductions ont été ajouté pour le japonais, puis enlever pour retourner à l'anglais... il suffit donc d'en refaire pour la langue de Colin Marchika (écrivain français pas du tout connu mais très bon... pourquoi dirait-on toujours "la langue de Molière" ? il est pas le seul à la parler, cette langue !).

Du coup les traductions sont en cours et vont bientôt se retrouver en jolis petits paquets IPKG ici !

Jiba, 18/01/2008
Voici mon fond d'écran pour Zaurus. Quelques astuces :
  • Avec Cacko, un fond d'écran en JEPG est beaucoup plus rapide qu'un fond d'écran en PNG ! Donc préférer ce format.
  • L'écran du Zaurus n'affiche "que" 64 000 couleurs, ce qui provoque des "sautes" de teinte dans certains dégradés (lorsque le dégradé couvre plusieurs teintes). Pour éviter ça, on peut faire du tramage (dithering). Dans Gimp, je n'ai pas trouver d'autre moyen que de passer l'image en couleurs indexées (dans le menu image puis mode, en activant le tramage des couleurs) puis de la repasser en RGB (il doit sans dout y avoir un moyen mieux de faire du tramage, si quelqu'un a des idées je suis preneur !). Cette opération réduit le nombre de couleurs utilisées, et cache cela en "étalant" les pixels. Du coup il n'y a plus les sautes de couleurs dans les dégradés. Par contre, il y a un léger effet "granuleux", mais sur l'écran très fin du zaurus ça ne rend pas forcément mal !


La connection d'un Zaurus a un vidéo-projecteur, c'est un peu la quête du Graal ou la pierre philosophale dans le monde du Zaurus : tout le monde veut le faire mais personne n'y arrive... et je l'ai fait ! Petit Zaurus peut maintenant avoir un grand écran. Petit mais costaud ! Bien sûr il n'est pas question de projeter de la vidéo mais seulement des images fixes (diaporama).

Récapitulons les étapes :

  1. Le CFXGA, accessoire officiel de connection Compactflash => VGA pour Zaurus, est épuisé et totalement introuvable.
  2. Sur un forum russe (j'avoue, je ne parle pas un mot de russe, mais google sait traduire !), j'apprends que tous les accessoires de type Compactflash => VGA ont le même chipset, et fonctionne donc de la même manière... et donc avec les Zaurus ! Il y a une demi-douzaines de modèles : Prolink PK201 et PK203, Pretec CompactPresenter, Margi Presenter-to-go, Colorgraphics voyager VGA, LifeView FlyPresenter CF.
  3. Bien sûr, tous sont épuisés. Manifestement, les interfaces Compactflash ne sont plus à la mode...
  4. EBay, Amazon,..., c'est nul : impossible de trouver un de ces accessoires d'occasion.
  5. Par contre, les petits revendeurs, c'est bien ! En fouillant bien je trouve (là encore, traduisez avec google) :
  6. Je contact la boutique au Danemark, pas de réponse... la première boutique grec refuse de livrer en France... mais la seconde accepte pour la "modique" somme de 150€ ! Donc je saute sur l'occasion.
  7. Je reçois l'engin 3 semaines plus tard
  8. Il existe un driver pour le Pretec dans la ROM Cacko que j'utilise. Manque de bol, le driver est pour un noyau Linux 2.4.18 alors que les Zaurus récents ont un noyau 2.4.20. Donc pas compatible... Il suffirait de recompiler les sources, mais seuls les sources du driver originel pour le CFXGA sont disponibles, et pas celles pour le Pretec !
  9. C'est l'occasion de s'essayer à l'ingénierie inverse. XDelta m'apprend qu'il n'y a que deux octets de différences entre les driver compilé pour noyau 2.4.18 pour le CFXGA et pour le Pretec ! Ensuite, objdump -D m'apprends que ces différences se situent dans des segments de données appelés "crt_800x600x60x16" et "crt_640x480x72x16" que je retrouve dans les sources. Et ça compile !
  10. Vient le moment d'essayer... alors je branche mon Zaurus à un moniteur via le Pretec ; j'obtiens quelques images puis tout se met à planter. C'est l'hécatombe : les processus meurent sans raison apparente !
  11. En supprimant une à une les fonctions dans le driver et dans le programme "mirroir" (cfxgamirror) qui lit l'écran du Zaurus (FrameBuffer) et écrit dans la carte Pretec, j'obtiens la conviction que le problème ne vient pas de l'écriture dans la carte, mais bien de la lecture du FrameBuffer ! Cela colle avec des messages de forum indiquant le même type d'erreur avec des CFXGA sur les Zaurus récents.
  12. La lecture du FrameBuffer est faite via une série d'appel à mmap auquel je ne comprends pas grand chose... je vire tout ça et je le remplace par une simple lecture du fichier /dev/fb0
  13. Et là... ça marche :-)


Plus d'info sur le forum Zaurus FR.