[Dossier] Open2x
Par emeric, le jeudi 12 juillet 2007 à 12:01 | Articles
La console de GamePark Holding (GPH) était décrite depuis son apparition comme un engin au potentiel fantastique pour les développeurs et autres bidouilleurs. Or après plus d'un ans et demi de disponibilité, de nombreux espoirs se sont vues déçus, car la GP2X reste trop cantonnée à ses fonctions originelles.
En informatique, un micrologiciel (ou firmware en anglais) est un logiciel qui est intégré dans un composant matériel (en anglais hardware).
Le firmware de la GP2X est donc son système d'exploitation, logée dans la mémoire interne.
L'utilisateur final n'a d'ordinaire pas accès directement au micrologiciel mais peut parfois le modifier par l'installation de mises-à-jour pour profiter d'améliorations mineures ou de corrections de bugs. Pour cela il faut que le micrologiciel réside dans certains types de mémoires reprogrammables.
Le firmware de la GP2X occupe une partie des 64mo de mémoire flash interne.
Petite rétrospéctive :
La version 2.0.0 du firmware, véritable petite révolution pour les pocesseurs de gp2x, sortit en avril 2006, soit près d'un an et demi après la sortie de la console. Le temps de démarrage, auparavant de plus de 30 secondes se voyait redescendre à moins de 15 secondes, corrigeant l'un des principal défauts de la console. De nouvelles options de configurations faisaient également leur apparition, augmentant le côté multimédia de la console (connexions de périphériques USB, ...)
La dernière évolution majeure du firmware de la gp2x est la version 2.1, sortie fin octobre 2006. Elle a apporté un nombre important de modifications sur les logiciels inclus, tel que le lecteur vidéo, le lecteur mp3 et la visionneuse de textes.
On pourra également citer le firmware 3.0, sortit en avril 2007, à destination des consoles vendues sous forme de « value pack ». Ce firmware 3.0 n'apporte qu'un remaniement du menu principal de la console, l'intégration de quelques jeux amateurs dans la mémoire interne, et cela au détriment du temps de démarrage.
Or, plus le temps passe, plus les firmwares produits par GPH deviennent rare, et les réelles nouveautés se font attendre. Malgré des besoins d'évolution évidents, le système d'exploitation de la console fait du sur place.

La naissance du projet Open2x :
La première version fut publiée fin février 2006. La grande nouveauté était le temps de démarrage de la console d'environ 14 secondes, contre plus de 30 pour le firmware officiel de l'époque. Néanmoins il fut rendu obsolète par la sortie deux mois plus tard du firmware 2.0.0.
Aujourd'hui, grâce a de nouveaux développeurs motivés, le développement de ce firmware alternatif a repris, avec de nouveaux objectifs bien plus ambitieux en vue. Il s'agit de créer un véritable nouvel écosystème logiciel pour la console, en modernisant le firmware officiel laissé à l'abandon, en développant les capacités de la console, en offrant de nouvelles possibilités d'utilisations à l'utilisateur, mais aussi de faciliter le travail des développeurs d'applications en leurs fournissant des bases solides et adaptés au développement pour GP2X.
Améliorations point de vue utilisateurs :
-Rétro-compatibilité
Bonne nouvelle, la rétro compatibilité du firmware avec les applications est annoncé totale. Vous pourrez donc utiliser tout vos vieux logiciels et jeux sur se nouveau firmmware.
-Nouveau bootloader
Il doit permettre le chargement du nouveau système d'exploitation, depuis la mémoire interne de la GP2X ou directement depuis une carte mémoire.
Une barre d'état affiche l'avancement du démarrage. En exclusivité voilà celui qui devrait être retenu !

-Démarrage de la console plus rapide (~12s)
-Nouvelle interface !!
C'est gp2xmb, interface bien connue tirée de l'interface des consoles PSP qui devrait s'occuper de remplacer l'interface par défaut de la GP2X (qui n'est pasopen source, et pas franchement pratique)

Une nouvelle interface encore en grand travaux devrait néanmois prendre la place de gp2xmb dans une version futur, nous vous en reparlerons !
On peut désormais utiliser les cartes Secure Digital (SD) qui répondent a la

-Auto montage des cartes mémoires
Désormais plus de problème si vous voulez enlever puis remettre votre carte mémoire au milieu d'un jeu ! Elle sera reconnue automatiquement.
-Support du système de fichier ext2
En plus du système de fichier FAT et FAT32, les cartes mémoires pourront être formatée en ext2 (second extended filesystem) originaire du monde Linux, plus fiable, plus rapide et disposant d'avantages intéressants sur le FAT, tels que les liens symboliques (sorte de raccourcis très perfectionnés et totalement
transparents au niveau du système d'exploitation)
Désormais il n'est plus possible d'accéder à la mémoire NAND de 64mo (dont une quatentaine accessible aux utilisateurs) interne à la console. Cet espace se verra donc réservé au système d'exploitation de la console, et le contenu placer en NAND sera effacé lors du passage à Open2x. Ce choix, étrange en apparence masque enfaite une réalité technique : le driver qui permait l'écriture de donnée dans cette mémoire NAND, developpé par GPH, est jugé trop peu fiable par l'équipe de Open2x.
Améliorations point de vue développeurs :
-Nouvelles toolchains
Deux chaînes de compilation performantes et bien intégrés, l'une pour compiler le noyau linux et les modules (GCC 3.4.4/gLibC 2.3.6 - Open2x Kernel Tool-chain) ainsi qu'une plus récentes pour compiler les logiciels (GCC 4.1.1/gLibC 2.3.6 - Open2x Applications Tool-chain) sont disponibles pour les développeurs.
-Driver joystick aux standards du noyau linux
-Kernel linux mis à jour (2.4.25 --> 2.4.26)
Basée sur le kernel de GPH et mis a jour par l'équipe d'Open2X. De nombreux drivers interne a ce kernel ont aussi été mis à jour en parallèle.
-Mise à jour de divers composants système
-Nouvelles librairies optimisées incluses par defaut
Plus besoin d'installer les librairies SDL manuellement !! Elles sont dorénavent inclusent dans le firmware.
C'est par exemple SDL 1.2.11, la toute dernière née des librairies SDL, accélérée par le matériel de la GP2X et optimisé par l'équipe de open2x qui servira de socle à tout les programmes de votre console. Les programmes liée dynamiquement aux librairies du firmware (qui ne représente pas la totalité des programmes en circulation) profiterons donc automatiquement des avantages (surtout des optimisations) des librairies inclusent. De plus, liée dynamiquement une application aux librairies de la console permet un gain de taille très intéressant (parfois plusieurs mo) et accelère donc le chargement de ces librairies !
Au rayons des nouvelles librairies, nous retrouverons aussi SDL_ttf, SDL_mixer, SDL_gfx, Tremor, MAD, Zlib, et beaucoups d'autres.
Le projet Open2x nous réserve encore quelques surprises, qui ne seront probablement pas incluses dans la première version du firmware. Quelques projets annexes méritent une attention particulière. Citons notamment l'amélioration du lecteur vidéo (projet toujours en attente de développeurs motivés), l'inclusion de nouveaux drivers dans le noyaux (pour le bluetooth, le
wifi...), l'écriture d'un nouveau gestionnaire de paquets dédié a la GP2X (pour installer, configurer, rapidement et simplement ses logiciels !), un programme qui gérerait la mise en veille de la GP2X (écran éteind, fréquence abaissée au minimum, désactivation de tout ce qui n'est pas utilisé...).
Merci à Orkie, du projet Open2x pour avoir répondu à toutes mes questions ;-)
Vous pourrez retrouver Open2x sur :
Le wiki du projet

Commentaires
Par Enishi le samedi 14 juillet 2007
Par Emeric le samedi 14 juillet 2007
Par ZikZak le dimanche 15 juillet 2007
Par Yod4z le mardi 17 juillet 2007
Par Franckyrocky le mardi 17 juillet 2007
Par Ron2x le samedi 01 septembre 2007
Par jbam le dimanche 09 septembre 2007
Par NicoLarve le jeudi 28 février 2008