14 juin 2013

Les nouvelles du front

Logo OUYA

Le rythme de publication sur ce blog s'est singulièrement ralenti pendant les quelques dernières semaines. En cause, de nombreux événements professionnels et personnels qui bloquent une grosse partie de mon temps. Mais sait, cher lecteur, que je ne t'oublie pas : de nouveaux billets sont prévus dans les semaines qui viennent, sur des sujets aussi divers que le C++, Linux ou des plateformes matérielles intéressantes.

Mais ce qui me pousse aujourd'hui à écrire, c'est un mail que j'ai reçu hier. Ce mail est annonciateur d'une bonne et heureuse nouvelle, et voici son titre : #myouyaiscoming.

#myouyaiscoming

Je ne vais pas citer le mail dans son entièreté (d'autant plus qu'il contient des informations personnelles qui n'ont rien à faire sur un blog), mais je puis en citer son introduction :

Yep...it’s true. 
Your OUYA has arrived at our distribution center and we expect it to land on your doorstep within the next two weeks (give or take a day or two depending on your location).
Be on the lookout for a confirmation email that will follow once your shipment has been picked up for delivery and which will include your personalized tracking number.

La nouvelle est bonne : si tout se passe bien, je devrais recevoir mon exemplaire de la console OUYA aux alentours de la date promise (le 24 juin 2013, date de sortie officielle). Elle ira - quasiment immédiatement - prendre la place de la carte ODROID-U2 dans mon salon (celle-ci sert actuellement de pseudo media-center chez moi alors que je devrais la torturer dans tous les sens).

Ces derniers temps, j'ai lu beaucoup de choses assez négative sur la console OUYA. Selon de nombreux sites de benchmark, ses performances sont décevantes[1] - en deçà de ce qu'il est possible d'obtenir avec un processeur Tegra 3. Pour rappel, le processeur quad-core est cadencé à 1.7 Ghz et est équipé d'un GPU GeForce ULP. Avec un tel processeur, OUYA devrait faire mieux que la 106 pièce du classement mobile de FutureMark (à ce jour ; le classement évolue rapidement).

Ce qui est étonnant dans ce classement, c'est la présence d'un mobile basé sur un processeur Tegra 2 en position 99 - hors le Tegra 3 (et spécialement celui qui équipe la console OUYA) est clairement plus puissant que le Tegra 2. Il y a là une incohérence de taille, qui provient probablement du fait que la version OUYA testé est une version de développement, utilisant un firmware non finalisé. Ceci dit, je ne m'avancerai pas à faire un pronostic quand à ses performances actuelles. Au mieux, la console OUYA va rivaliser avec la tablette ASUS - soit un gain de 10% environ en performances (mais la tablette ASUS bénéficie de 2 Go de RAM, contre 1 Go pour la console OUYA ; il est possible que l'impact de la RAM soit important ici).

Quoi qu'il en soit, je devrais être à même de faire moi-même quelques tests dans les semaines qui viennent - en particulier un benchmark reliant RPi, Pandaboard ES, ODROID-U2 et OUYA.

#mya10siscomingtoo

OK, ce hashtag est un peu étrange. Parallèlement à la console OUYA en cours de livraison, j'ai commandé une petite carte de développement basée sur le processeur AllWinner A10S. Le A10 est un processeur simple coeur Cortex-A8 aux performances limitées, mais son coût est ridiculement faible. Il équipe quantité de mobiles bas de gamme. Ceci étant dit, ses caractéristiques sont tout de même intéressantes :

  • GPU Mali 400 (simple coeur).
  • VPU CedarX capable de décoder nativement du VP8, H.264 et d'encoder du H.264 high profile.
  • sortie HDMI, LVDS jusqu'à la résolution HD (1080p).

Le prix de la carte ? 45€ chez Olimex (et bien moins cher en quantité). Olimex produit non pas des cartes pour hobbyistes, mais des cartes industrielles - ce qui explique le coût un peu plus élevé que nécessaire : on y trouve des connecteurs GPIO peut utile pour mon cas d'utilisation (plus de détails la dessus dans les semaines à venir), des protections ESD sur la sortie HDMI... En réduisant certaines de ces fonctionnalités et en commandant les cartes en volume, on doit pouvoir descendre son prix vers les 30€, voire plus bas encore.

Olimex A10S

Pourquoi une telle carte ? Ses caractéristiques techniques sont assez similaire à celles de la RPi, son coût aussi, et sa disponibilité est assurée. De plus, la carte est complètement Open Source et librement copiable (tous les documents nécessaires sont présents sur GitHub). La présence d'un connecteur UEXT est un plus dans un environnement industriel, de même que le connecteur série (qui nécessite un cable FTDI 3.3V, disponible chez Olimex pour la modique somme de 5,95€ ; il est aussi possible d'en trouver en volume sur ebay, ou les prix peuvent être excessivement bas: 100 pièces pour 199€, soit moins de 2€ le câble ; évitez les Farnell et autres RS qui vendent ces même cables entre 15 et 25 € pièce).

Niveau mécanique, on retrouve aussi quelques caractéristiques intéressantes. Tout d'abord, la taille : environ 8 cm x 10 cm, ce qui en fait une carte de taille très raisonnable. La carte propose aussi des trous de fixation ce qui permet de la fixer à peu près n'importe où. Le PCB est lui aussi très complet, avec un emplacement prévu pour la NAND (testé avec cette flash Hynix), un autre pour le second UART, et encore un autre pour la JTAG. Les emplacement sont correctement identifiés sur le PCB, ce qui permet de reconnaître facilement tout le monde.

A10S-02.jpg

Beaucoup de cartes, finalement

Si on compte bien, j'ai entre les mains :

  • Une Pandaboard ES (OMAP4460, 180$)
  • Une RPi (BCM2835, 33€)
  • Une ODROID-U2 (Exynos 4412 Prime, 89$)
  • Une OUYA (Tegra 3 modèle T33, 99$)
  • Une Olimex A10S (45€)

Les deux dernières devraient arriver dans les prochaines semaines.

Il me manque une carte basée sur un SoC Marvell (par exemple celle-ci, tant l'offre est réduite en la matière), ainsi qu'une carte basée sur une SoC Qualcomm (probablement celle-là, malgré son prix peu attractif).

Quoi qu'il en soit, ça commence à faire un échantillonnage suffisant qui devrait me permettre de mener certains projets à bien - et notamment ce projet de media-center sous Linux qui traîne depuis déjà trop de temps. Mais ce n'est pas le seul !

Car la carte qui m'intéresse le plus à l'heure actuelle, c'est la carte A10S. Si ses performances sont suffisantes (notamment les performances graphiques), j'ai prévu d'utiliser cette carte pour un projet qui devrait être intéressant pour la communauté des joueurs de jeux de rôle sur table dont je reparlerai certainement dans un futur pas trop lointain.

Note

[1] Lire cet article sur Phoronix

Commentaires

1. Le lundi, juin 17 2013, 18:40 par gbdivers

Salut
Tu as commandé ta OUYA quand ? J'en ai commandé une (je crois ? Ou c'était une simple pré-commande ?), mais j'ai pas reçu de mail. Et comme je vais déménager à la fin du mois, j'espère que je pourrais changer l'adresse de livraison...
Tu as eu le temps de regarder le SDK ?

2. Le mardi, juin 18 2013, 10:39 par Emmanuel Deloget

Bonjour Guillaume,

Le mail de confirmation de paiement date du 12/08/2012 - on pourra dire que je l'ai attendu ! :)

Ce que tu as fait est une pré-commande : les commandes sèches ne sont toujours pas dispo (la sortie officielle de la console est le 24 juin, si je ne me trompe pas). Pour ce qui est de ton déménagement, je te conseille de prendre contact avec OUYA pour faire repousser la date de livraison ou (plus simple) pour la faire livrer à un tiers (la famille, le boulot, tout ça). Personnellement, j'évite de me faire livrer quelque chose chez moi - une mauvaise expérience : un disque dur 2,5 pouces commandé en urgence pour l'anniversaire d'un pote. La DD a été "livré" mais a disparu assez singulièrement de ma boite à lettre...

Sinon, j'ai regardé le SDK. Il est composé de trois grosses parties :

  • l'intégration dans le launcher OUYA
  • le système de paiement in app
  • la gestion des contrôleurs

Pas compliqué à utilisé, par contre je dois avouer que son architecture n'est pas vraiment plaisante. Vu que j'ai déjà du code C++ pour démarrer une appli native (et que le dernier NDK corrige un bug sur l'utilisation de gthread dans la lib standard C++ - ce qui signifie que std::thread est enfin disponible sur le NDK) je pense que je vais plutôt chercher à écrire un stub java qui va rediriger le tout vers le code C++ natif.

Il faudra aussi que je me procure le SDK de la gamestick, histoire de voir s'il y a de grosses différences architecturales. J'attends la confirmation de leur part pour avoir mes identifiants.

3. Le mardi, juin 18 2013, 14:20 par gbdivers

Ah ok. Vu que j'ai commandé il y a 1 ou 2 mois, je vais avoir encore un peu de temps :)

Pour le SDK, je pensais en effet au NDK. Comme on se refait pas, la première chose que je vais faire sera de porter Qt dessus (si le port Android de Qt ne fonctionne pas directement). Je verrais ensuite la portabilité des applis Qt Destop/Android vers OUYA

4. Le mardi, juin 18 2013, 16:59 par Emmanuel Deloget

Pour ce que j'en sais, le NDK version OUYA (abus de langage : il n'y a pas de NDK OUYA ; c'est celui d'Android) n'est pas contre Qt - si Qt build sur Android, alors ça va marcher sur OUYA. Par contre, il faudra lier le contrôleur et l'IAP (In app Payment). Sur la résolution, il faut viser du 720p ou du 1080p - c'est le seul requirement.

Deux points de détails :

  • prévois une bande invisible qui fait le tour de l'écran (certaines télés peuvent cacher les bords de la dalle).
  • au niveau des fontes et des détails graphiques : il faut qu'ils soient visibles à 3m - le texte trop petit est donc à déconseiller.

Ca risque d'être ennuyeux pour les applis desktop, mais de toute façon une nouvelle apparence (plus adaptée au pad) peut être un plus intéressant pour certaines applications :)

5. Le vendredi, juillet 5 2013, 09:56 par gbdivers

Reçu ce matin ! (après quelques problème de livraison suite à mon déménagement)
Je vais profiter du week end de développement de jeux sur Developpez pour la tester

6. Le jeudi, juillet 18 2013, 21:14 par Emmanuel Deloget

Ah !

Quelles sont tes premières impressions ?

7. Le mardi, juillet 30 2013, 18:36 par gbdivers

Réponse avec beaucoup de retard :)
Point de vue "console de jeu", je manque de points de comparaison, je ne suis pas un "gros" joueur et je n'ai pas d'autres consoles.
Point de vue "développeur", je suis assez satisfait. Les performances 2D/3D sont pas mal, je m'attendais à moins bien (mais je n'ai que mon Galaxy S comme référence). J'attend une future version avec Tegra 4 :) Je pense qu'il y a un créneau pour ce type de console, vers les jeux enfants en particulier (mais il faudrait une version française)
Bref, un avis pas très utile, tu connais mieux que moi les SoC, tu pourras faire une critique plus poussée.
Et toi, ton avis ?

8. Le mardi, juillet 30 2013, 19:19 par gbdivers

Et concernant Qt, pas de problème, c'est du Android, c'est passé tout seul ;)
Reste à tester les performances de Qt3D

Ajouter un commentaire

Les commentaires peuvent être formatés en utilisant une syntaxe wiki simplifiée.

Fil des commentaires de ce billet