Courte démonstration de Sailfish OS sur un Sony Xperia

SailfishOS_SonyMartin Brook (@vgrade), développeur touche à tout, adepte de Mer et des projets Nemo, Plasma Active, nous propose une courte démonstration de Sailfish OS (la version du SDK) tournant sur un Sony Xperia.

Pour effectuer ce portage, la libhybris a été nécessaire, inventée par Carsten Munk (@stskeeps), ingénieur chez Jolla et développeur de Mer. C’est une couche de compatibilité pour les terminaux qui exécutent GNU / Linux. Elle permet de lancer un système Linux sur les systèmes basés pour Bionic, une librairie C développée par Google pour Android. En gros, libhybris permet d’utiliser la glibc sur un terminal prévu pour Android.

Comme vous le remarquez, Sailfish OS est parfaitement stable et fluide. Les fabricants de terminaux sous Android pourront facilement utiliser Sailfish OS sans changer les caractéristiques de leurs terminaux.

Source

A propos de Nicolas SUFFYS

Co-fondateur de JollaFr.org et Nokians.fr. Linuxien de longue date et possesseur de Nokia N900, N9, N950, Jolla, Oneplus One, Lumia 830.

24 commentaires à propos de “Courte démonstration de Sailfish OS sur un Sony Xperia

  1. D’un coté on se dit… Sailfish sur mon Galaxy S3 ca va déchirer ..

    D’un autre on a vu tellement de fois Android sur N9 pour finalement ne jamais rien avoir d’utilisable … que l’on regarde cela avec un peu de distance…

    • Je me trompe peut-être, mais avec AOSP, on est un peu limité pour faire un portage complet sur un HW qui n’a pas été prévu pour. Google libère ce qu’il veut bien libérer.

      Du côté de Hybris, je vois une sorte de « traducteur » talentueux entre Bionic et Glibc.

      Si quelqu’un s’y connait sur ce sujet… Ne vous gênez pas 🙂

    • Pschuuuut ! Déjà qu’il tourne très bien sur un Nokia N950, je fais confiance sur un Xperia 🙂

      Allez, on l’aura très bientôt notre Jolla \o/

  2. Pour le contenu il n’y a rien de bien folichon. On voit juste 2-3 swipes sur l’interface pendant une douzaine de secondes et c’est tout. Voir le navigateur Web par défaut ou bien un jeu (de préférence un peu gourmand en ressources) aurait été plus intéressant.

    Du coup encore heureux qu’il soit fluide ! Le Sony Xperia en question (il me semble que c’est le Z à cause de la verrue qui lui sert de bouton POWER) est bien plus puissant que le Jolla Phone. S’il avait été en difficultés sur ce terminal, il y aurait eu du souci à se faire pour le Jolla Phone.

    En plus de Qt, de l’open source, du vrai multitâche et des swipes, Sailfish OS a désormais un nouveau point commun avec Ubuntu Touch : il est lui aussi basé sur Android. 😛

    Pour finir voici quelque chose que j’ai trouvé sur Twitter dans le même esprit de cette vidéo. Il s’agit de Sailfish sur un… Nokia N9 ! La vidéo de l’article montre Sailfish qui tourne sur la base Linux d’Android. Ici c’est juste l’UI de Sailfish qui tourne sur du Nemo Mobile (enfin sa version pour le Nokia N9). Fini de vous faire saliver, la démo est ici : http://www.youtube.com/watch?v=jr_yQwTUv3s

        • Pas de panic Nico! Voici un lien (en anglais) qui cloura le bec de air-dex au sujet de libhybris: http://en.wikipedia.org/wiki/Hybris_%28software%29

          Donc, non, Sailfish n’a rien de commun avec le robot vert (ouf! Je ne peux pas voir Java en peinture: c’est à ma connaissance le seul language pour lequel quand je vois des erreurs dans les logs je me dit « c’est bon sa marche » :D). Simplement, avec libhybris, il est possible d’exécuter des applications Android, un peu à la manière des applications Windows qui tourne sous Linux via Wine.

          • Salut fonx2,

            > Simplement, avec libhybris, il est possible d’exécuter des applications Android,
            Presque…
            C’est Alien Dalvik qui permet de faire tourner les applications Android, en fournissant une machine virtuelle Java avec toute l’api qu’il faut pour utiliser les périphériques, comme Dalvik sur Android.
            Hybris, c’est complètement de l’autre côté de la chêne, au plus bas, et permet d’utiliser des drivers matériels écrits pour Android (donc avec bionic), sur un système linux standard (avec glibc).
            Donc si tu fait tourner une appli Android sur le Jolla, en gros tu as du Android tout en haut de la pile (la VM Alien Dalvik) et tout en bas (le driver du GPU par ex) 😉

            Cela dis, ces 2 particularités mises de côté, Sailfish reste bien plus proche d’une distribution linux de bureau que d’Android, car il n’a pas besoin de la VM pour tourner (tant qu’on reste sur des applis Qt/HTML5) ni de Hybris si les drivers sont dispos (sur tablette x86 par exemple).

            Ca fait plaisir toute cette compatibilité, y’a peu de chance d’être bloqué dans le futur, que ce soit pour la disponibilité d’un driver matériel ou d’une appli. Il y a tout le parc Android dans lequel on peut taper, en plus de ce qu’il existe déjà pour Meego/Linux/Sailfish et on aura probablement des passerelles pour FirefoxOS et Ubuntu/BB10 d’ici peu.

          • Je le sais bien que Sailfish n’a aucun lien avec Android. C’est juste que le notre cher nsuffys a l’habitude de dire à tort qu’Ubuntu est basé sur Android alors qu’en réalité c’est le code de « Ubuntu PC » qui a été adapté aux plateformes mobiles (je ne parle pas de la preview qui elle n’était qu’une preview de l’UI bien loin de la version finale de l’OS). Alors pour une fois que Sailfish emprunte un morceau d’Android, je n’ai pas pu résister.

          • pour compléter ce qu’écrivait ZETA :
            Android utilise un kernel linux (et ses modules) un peu bricolé (enfin de moins en moins, les devs Google admettant la pertinences des positions des dev kernels linux ), compilés avec la libc « bionic » ; la plupart des distrib linux (meme pour arm) le sont avec la glibc ou la microC ; un exécutable linux compilé avec la glibc ne tourne pas (ou mal) sur ce kernel, surtout s’il doit exploiter ces périphériques.

            Or il est quasi impossible d’avoir les sources de certains periph, certains étant même classé « défense ». Donc il est très compliqué de les faire fonctionnerquand tu recompiles à la maison un kernel pour ton smartphone : certains ne seront plus exploités du tout.

            Utiliser le kernel développé par le constructeur (en boite noir) est certes insatisfaisant (particulièrement en pleine affaire PRISM) mais permet de résoudre le problème des drivers.

    •  » il est lui aussi basé sur Android »
      Sur un kernel android … Or vu tous les brevets qui protègent la plupart des périphériques de ces appareils, effectivement avoir une lib qui permettent de recycler nativement les kernels originels (et leurs modules) pour exécuter autre chose que Dalvik, c’est surtout le gage que l’on accédera à tous les devices du smartphone … Comme en plus il existe des transducteurs USB-I2C, les appareils USB OTG auront même accès à Other-Half qui pourrait alors devenir un (petit) point d’intérêt pour des « équipementiers ».

      Faut pas systématiquement bouder son plaisir ! un HTC ONE X, un Galaxy S4, un Xperia Z1, un OPPO N1, un Meizu MX2, un Xiaomi Mi3 ( http://jtgeek.com/xiaomi-mi3-les-details-du-smartphone-android-enfin-reveles/ ) ou juste un Asus Transformer T300 sous sailfish, ça aurait quand même de la gueule !

      • Hyper intéressant toutes ses explications sur Alien Dalvik, libhybris, les différents kernels et pilotes.

        J’avoue ne pas être un expert dans ce domaine et donc je ne comprends pas pleinement les concepts et technologies mise en oeuvre.

        C’est possible d’avoir un article bien complet et documenté, orienté « power-user » du coup, avec une bonne explication sur Alien Dalvik et libhybris (+pilotes et kernel donc)?? Please?? 😀

        • l’idée de la libhydris est d’appeler la bonne fonction bionic quand un binaire compilé avec la glibc fait appel à cette glibc ; certes elles sont différentes, mais pour faire la même chose.
          Effectivement, il serait plus simple de recompiler le kernel avec sa glibc, mais hélas, peu de modules (drivers) sont disponibles en « source » ; et surtout pas ceux de la 3G.

          Imagine que sur PC, les premier perif Wifi utilisait des puces militaires, capable interférer avec les fréquences OTAN : il était inutile de demander les sources de leurs driver ou juste les spec techniques au constructeur (d’où le projet linux-ndiswrapper).

          • > l’idée de la libhydris est d’appeler la bonne fonction bionic quand un binaire compilé avec la glibc fait appel à cette glibc ; certes elles sont différentes, mais pour faire la même chose. Effectivement, il serait plus simple de recompiler le kernel avec sa glibc…

            Si j’ai bien compris, c’est plutôt l’inverse sur le Jolla:
            Le noyau linux est un noyau standard compilé avec la glibc (comme tout le reste du système). Lorsque tu charges un driver Android compilé pour bionic, la libhybris traduit les appels à bionic (qui n’existe pas sur le système Jolla) fait par ce driver par un appel à la glibc.

          • effectivement, j’avais lu trop vite : Hybris or libhybris is a compatibility layer for computers running GNU-compatible Linux distributions to load software written for Bionic-based Linux systems – mainly Android libraries and device drivers.

            par contre cela ne doit pouvoir gérer que des « userland driver  » (indépendant du kernel) et comme toujours linhybris devra passer son temps à courir après les évolution de Bionic : solution à court terme parfaitement adaptée au demarrage de sailfish/Ubuntu

  3. C’est l’image du SDK qui a maintenant une cible ARM. Le SDK ne contient rien, ne vous attendez pas à voir un quelconque truc transcendant sur le Xperia ou sur le Nokia N9.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*