LuneOS « Doppio » est sortie

Posté par  . Édité par bobble bubble, Davy Defaud, ZeroHeure et palm123. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
29
30
nov.
2018
Téléphonie

Enfin, après une longue attente, LuneOS est de retour avec une nouvelle version appelée « Doppio » ! Cette dernière devrait être une étape importante pour la suite de cette distribution dérivée de webOS.
Logo LuneOS

Sommaire

Petits rappels

LuneOS est une distribution GNU/Linux pour téléphones mobiles et tablettes, héritière de feu webOS. Le projet est porté par l’équipe webOS-Ports, dont le but est de faire revivre webOS sur les matériels contemporains.

Le projet s’appuie sur Yocto, Halium et SHR. Il utilise OpenEmbedded comme environnement de compilation. La version Doppio de LuneOS se base sur la version « Pyro » de Yocto.

À l’exception des blobs utilisés pour faire tourner les pilotes Android, l’ensemble de la distribution est libre : chacun peut, s’il le veut, recompiler sa propre image chez lui.

Mais que s’est‐il passé pendant cette année ?

Eh bien, comme on peut s’en douter, beaucoup de choses ! Cependant, cette fois‐ci, c’est surtout un travail sur les parties non visibles de la distribution qui a été fait, et je suis donc bien embêté pour insérer des captures d’écran…

Le Bluetooth

Pour commencer, la pile Bluetooth a été migrée de BlueZ 4 à BlueZ 5. Cela a nécessité un travail conséquent, mais complété avec succès pour le Nexus 4 et Nexus 5. Cependant cette migration n’a pas pu (encore ?) être faite pour la tablette HP Touchpad, en raison d’un noyau trop ancien.

L’intégration avec Halium

LuneOS travaille en étroite collaboration avec le projet Halium et s’est employé à mettre en commun tout ce qui était redondant. Tout cela vise à intégrer Halium plus facilement et à faciliter le portage vers des appareils plus récents. Des correctifs au noyau (principalement pour corriger la compatibilité GCC 5/6/7/8) ont par exemple été envoyés à Halium afin d’utiliser un code source commun.

Les téléphones

Du côté des appareils il y a du nouveau : depuis que Google a laissé tomber la ligne Nexus (abordable) et a lancé les Pixel (plutôt haut de gamme), il fallait trouver d’autres cibles qui seraient facilement disponibles, avec un budget limité et un bon soutien communautaire. Finalement, le choix s’est porté sur Xiaomi, qui propose des téléphones avec des spécifications décentes, un gestionnaire d’amorçage (bootloader) déverrouillable (même si parfois un peu fastidieux…) et de très bons rapports qualité/prix.

Le portage a donc été effectué sur trois appareils Xiaomi : le Redmi Note 4X (« Mido »), le Redmi 5 (« Rosy ») et le Mi A1 (« Tissot »). Ces appareils, aux spécifications matérielles assez proches, apportent deux nouveautés pour LuneOS : ils utilisent l’architecture ARM AArch64 et nécessitent Halium 7.1 (basé sur Android 7.1). En effet, tous les portages précédents reposaient sur Halium 5.1 (basé sur Android 5.1) et étaient 32 bits. Cela a apporté son lot de défis, et il y a encore quelques problèmes, mais l’audio, les capteurs, le Wi‐Fi et le Bluetooth fonctionnent aujourd’hui.

Le Xiaomi Mi A1 est un appareil un peu à part : celui‐ci a été choisi en collaboration avec LG pour y porter LuneOS, mais aussi comme cible pour le webOS OSE (Open Source Edition) de LG.

webOS OSE et collaboration avec LG

L’histoire commence avec l’annonce par LG de la sortie de webOS OSE (pour « OpenSource Edition »). webOS OSE est le successeur d’Open webOS et a été une grosse surprise. Cependant, le potentiel pour LuneOS est évident : webOS OSE représente en effet cinq années de développement du code de base d’Open webOS, qui, lui, est resté figé.
Il a été déployé sur des millions de téléviseurs LG et offre de grandes améliorations en termes de fiabilité et de fonctionnalités. Le gros inconvénient est cependant qu’il n’y a pas d’historique des changements entre Open webOS et webOS OSE, ce qui rend la migration un peu plus difficile…

Début juin, l’équipe LuneOS a rencontré LG à Paris pour discuter d’une collaboration entre les deux équipes. Cela a permis de prendre contact et de voir ce que chaque équipe pouvait tirer d’une collaboration. Le Xiaomi A1 a aussi été choisi en tant que nouvelle cible pour LuneOS, et sera un appareil commun aux expérimentation sur LuneOS et webOS OSE.

LG a une vision claire pour webOS ; depuis la sortie initiale en mars, une feuille de route a été publiée et LG a poussé sur quatre versions depuis la version originale de webOS OSE.

La suite

Après cette version, l’accent sera mis sur la migration des composants Open webOS vers les composants plus à jour fournis par webOS OSE. Pour LuneOS, ça signifie beaucoup d’améliorations en termes de qualité du code, de stabilité et de fonctionnalités. Cela permet aussi d’alléger grandement la maintenance de ces composants du côté de la petite équipe webOS-Ports, qui pourra se concentrer sur les spécificités de LuneOS et aller de l’avant, tout en contribuant à webOS OSE.

Quelques problèmes connus :

  • un bogue sur les champs de saisie, que l’on peut contourner en cachant le clavier virtuel et en appuyant sur le champ de saisie à nouveau ;
  • un problème aléatoire avec le clavier virtuel ne se montrant pas sur les appareils AArch64.

Sur quels sujets se porteront ensuite les efforts ? On pourra noter :

  • bien‐sûr, la migration des composants Open webOS vers les nouveaux composants webOS OSE ;
  • une image VirtualBox avec une pile graphique plus récente ;
  • la migration vers Yocto version Sumo, voire Thud ;
  • l’amélioration de la messagerie ;
  • l’amélioration de l’appareil photo ;
  • la résolution des problèmes connus ;
  • la résurrection du portage pour la tablette HP Touchpad 4G (actuellement LuneOS ne gère que le Wi‐Fi sur cette tablette).

Aller plus loin

  • # Commentaire supprimé

    Posté par  . Évalué à 4. Dernière modification le 30 novembre 2018 à 11:35.

    Ce commentaire a été supprimé par l’équipe de modération.

  • # Commentaire supprimé

    Posté par  . Évalué à 7. Dernière modification le 30 novembre 2018 à 14:02.

    Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Re: Vigilance... gros code de LG sans historique des modifs / télés connectées de LG et l'espionnage

      Posté par  (site web personnel, Mastodon) . Évalué à 3.

      le matériel en général est perclus de portes dérobées

      C'est dommage, tu nous fais un beau commentaire, sourcé, argumenté et tout, et tu sors ça de nulle part en conclusion?

      Je crois avoir vu beaucoup de suspicions et éventuellement de bugs matériels permettant des attaques mais sans preuve que ce soit intentionnel. Mais pas de cas où on sait qu'une faille a été introduite volontairement dans du matériel. Tu as quelques exemples? Surtout pour arriver à dire que c'est "en général"?

      • [^] # Commentaire supprimé

        Posté par  . Évalué à 3. Dernière modification le 30 novembre 2018 à 15:58.

        Ce commentaire a été supprimé par l’équipe de modération.

        • [^] # Commentaire supprimé

          Posté par  . Évalué à 2. Dernière modification le 30 novembre 2018 à 17:26.

          Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Re: Vigilance... gros code de LG sans historique des modifs / télés connectées de LG et l'espionnage

      Posté par  . Évalué à 10.

      Évidemment, l'absence d'historique ennuie aussi webOS-Ports. Mais avant les considérations de sécurité, c'est surtout pour des raisons de lisibilité du code: il devient assez difficile de comprendre pourquoi tels choix ont été faits, ou quelles étapes ont conduits au code actuel. Il faudra du temps pour se réapproprier tout ça.

      On a demandé à LG pourquoi ils n'ont pas inclus cet historique. La raison, sans grande surprise, est que les textes des commits (ou même des révisions intermédiaires du code) faisaient référence à des éléments internes à LG qu'ils ne voulaient pas voir publics.
      Entre un gros travail de nettoyage (affublé d'un risque non nul de raté) et un effaçage pur et simple de l'historique, LG a fait son choix.

      Depuis la rencontre entre webOS-ports et LG à Paris, des progrès ont été faits: maintenant, à chaque "version" de webOS OSE, l'historique est inclus. Ils ont dû adapter leurs méthodes en interne, ça n'allait pas de soi pour eux… Mais ils semblent être de bonne volonté.

      Bien sûr, il faut rester raisonnablement prudent. LG arrive avec sa propre culture, ses propres objectifs commerciaux, ses priorités. L'abandon par HP (sans ouvrir tout le code source de webOS d'ailleurs…) nous l'avait déjà appris. Mais je pense qu'on serait largement perdants à ne pas tenter l'aventure.

      • [^] # Commentaire supprimé

        Posté par  . Évalué à 3. Dernière modification le 30 novembre 2018 à 16:20.

        Ce commentaire a été supprimé par l’équipe de modération.

      • [^] # Re: Vigilance... gros code de LG sans historique des modifs / télés connectées de LG et l'espionnage

        Posté par  . Évalué à 1.

        A minima, ils auraient pu garder la liste des commits en purgeant juste le commentaire.
        A défaut d'avoir la description dans le commit, cela permet au moins de conserver l'atomicité de chaque changement dans le code avec les fichiers impliqués et le delta de code pour chacun.

        • [^] # Re: Vigilance... gros code de LG sans historique des modifs / télés connectées de LG et l'espionnage

          Posté par  . Évalué à 3. Dernière modification le 03 décembre 2018 à 13:27.

          les textes des commits (ou même des révisions intermédiaires du code) faisaient référence à des éléments internes à LG

          J’ai le même problème avec un code que j’aimerais libérer, mais dont l’historique est plein de verrues que je ne peux pas partager. Il finira probablement par être libéré sans historique (et un historique publique reprendra à partir de là).

  • # Commentaire supprimé

    Posté par  . Évalué à 5.

    Ce commentaire a été supprimé par l’équipe de modération.

  • # question sor Mi A1

    Posté par  . Évalué à 1.

    Bonjour! je voulais savoir si le reseau telephonique marche sur Mi A1?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.