Sortie de LuneOS « Eiskaffee »

Posté par  . Édité par orfenor et Ysabeau 🧶 🧦. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
Étiquettes :
47
16
fév.
2024
Distribution

Tentés par un café glacé ? LuneOS « Eiskaffee » vient de sortir !

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.

logo de LuneOS

Sommaire

Voici bien longtemps que l’équipe de webOS-ports n’avait fait de nouvelle version de LuneOS. De nombreux changements de fond, de nouveaux téléphones et tablettes, des difficultés techniques mais aussi une équipe développement modeste expliquent ce rythme un peu lent qui avance selon le temps libre de chacun.

Pendant ce temps, des versions de test de LuneOS ont été régulièrement mises à disposition sur Github, dans le dépôt « luneos-testing ». Cela permet aux personnes intéressées d’essayer LuneOS, tout en gardant à l’esprit que ce ne sont que des versions intermédiaires.

Petits rappels et lexique

Le projet s’appuie sur Yocto, webOS-OSE, Halium et SHR. Il utilise OpenEmbedded comme environnement de compilation. Cette dernière version de LuneOS se base sur la version « Kirkstone » de Yocto. Ces projets ne vous disent rien ? Voici un rapide lexique :

  • OpenEmbedded est un environnement de compilation, qui utilise un ensemble de « recettes » pour décrire les composants à compiler et installer.
  • Yocto est un ensemble de recettes prêtes à l’emploi qu’on peut utiliser pour se construire une distribution Linux personnalisée. Les recettes mises à disposition vont du noyau Linux à Firefox, et forment un ensemble déjà assez complet.
  • SHR est un système d’exploitation GNU/Linux s’appuyant aussi sur Yocto et OpenEmbedded, et orienté téléphones. Il a connu son heure de gloire à l’époque des téléphones Openmoko comme le FreeRunner. Seule une petite partie est maintenant réutilisée pour les besoins de LuneOS.
  • Halium est un ensemble d’utilitaires et d’images Android permettant de faire tourner un Android minimaliste dans un container dédié sur la distribution hôte. Cela permet d’exploiter les pilotes et firmwares disponibles seulement pour Android, tout en gardant le reste de l’OS sur une pile GNU/Linux/systemd/Wayland classique.
  • webOS-OSE est une distribution Linux maintenue par LG, héritière du code de webOS, et dont LuneOS reprend maintenant beaucoup de composants logiciels.

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

Fin du forum webOS Nation et autres tracasseries techniques

Le forum « webOS Nation », qui regroupe des discussions autour de webOS au sens large (vieilles versions de webOS, mods, LuneOS…) a connu quelques turbulences ces dernières années. Devant une fermeture imminente du site web, un nouveau site webOS Archive a été mis en place, avec notamment la majorité des archives des forums de webOS Nation. Un nouveau forum a été mis en place, reprenant globalement le style de webOS Nation.

Sans avoir une activité folle, la communauté autour de webOS reste présente, notamment grâce à la présence aujourd’hui de webOS sur les téléviseurs.

Mort du « builder » dédié à LuneOS

Suite à plusieurs avaries, le builder « Jenkins » a dû prendre une retraite bien méritée. Malheureusement cela implique pour l’équipe de webOS-ports de compiler les différentes images de LuneOS chez soi, ce qui n’est pas très pratique (sans être une catastrophe). Sur une machine raisonnablement puissante, la création d’une image de LuneOS depuis zéro demande plusieurs heures, il faut donc parfois s’armer de patience. Heureusement Yocto permet de mutualiser les résultats de compilation pour les architectures semblables, ce qui fait gagner beaucoup de temps.

Les changements majeurs

Depuis la dernière version publique de LuneOS, beaucoup de changements de fond ont eu lieu. On retrouve entre autres:

Passage de Qt 5 à Qt 6

LuneOS utilise maintenant Qt 6.5.2, l’une des dernières disponibles.

Utilisation du compositeur Wayland de webOS OSE

Le compositeur Wayland propre à LuneOS luna-next a été abandonné, au profit du compositeur Wayland de webOS OSE surface-manager. Cependant la partie graphique (codée en QML) a été conservée, et l’expérience utilisateur reste donc très similaire.
Cela permet de se concentrer sur la partie GUI du compositeur, tout en bénéficiant des mises à jour venant de OSE relatives au cœur même du compositeur.

Changement de moteur Chromium

Les apps webOS utilisant intensivement HTML/Javascript/CSS, l’affichage nécessite un moteur web bien à jour et optimisé. Jusqu’à la dernière version, LuneOS utilisait QtWebEngine, fourni par Qt, pour faire tourner les applications.
Cependant webOS-OSE fournit son propre moteur basé sur chromium, indépendant de Qt et optimisé pour une utilisation embarquée. LuneOS a donc également migré vers cette nouvelle infrastructure logicielle, adoptant ce composant WebAppManager.

Migration générale vers les composants de webOS-OSE

Plus généralement, les composants hérités de feu Open WebOS ont été remplacés par leur équivalent dans webOS-OSE, plus récents et encore maintenus par LG. Pour cette version de LuneOS, la version 2.23.0 de webOS-OSE est utilisée comme base.
Cette migration inclut notamment l’utilisation des « Enhanced ACG », un modèle de sécurité plus efficace utilisé pour la communication entre les services de webOS et les apps.

Ces changements, qui pour la plupart ne sont pas visibles à l’utilisation, apportent de multiples bénéfices pour LuneOS :

  • une réutilisation plus large du code de webOS-OSE (maintenu par LG), ce qui implique moins de maintenance côté webOS-ports
  • meilleure stabilité des composants, qui sont utilisés depuis des années dans les téléviseurs et appareils LG
  • la rétro-compatibilité a tout de même pu être assurée pour les vieilles apps webOS, grâce à des modifications mineures dans certains composants
  • plus de facilité pour mettre à jour les composants venant de webOS-OSE

Téléphones et tablettes: vers plus de Linux « mainline »

Dans le domaine des distributions Linux pour téléphones et tablettes, on parle de noyau « mainline » pour désigner l’utilisation directe du code source venant du noyau Linux, par opposition à l’utilisation d’un code source dérivé et proposé par un constructeur. Ce dernier est souvent proposé dans une vieille version, avec une maintenance très limitée dans le temps.

Cependant, utiliser un noyau « mainline » est à double tranchant : d’un côté, on bénéficie des dernières avancées du noyau, et des dernières versions des pilotes libres. Mais de l’autre, cela signifie devoir se passer des pilotes proposés par le constructeur (pour le son, le GPS, le modem…), qui souvent n’ont jamais été proposés à l’inclusion dans le code source principal de Linux.

Au final, dans le cas de LuneOS, trois voies se dessinent lorsqu’il s’agit de faire tourner l’OS sur un téléphone ou une tablette :

  1. Le constructeur remonte ses changements dans le noyau Linux, et s’appuie sur un développement open-source: Pine64 et Purism sont deux exemples récents de cette approche. C’est le cas idéal pour LuneOS, où des pilotes open-source bien intégrés peuvent être utilisées pour faire fonctionner les composants matériels.
  2. Le constructeur ne propose qu’une version Android de ses pilotes et du noyau; ce dernier reste figé dans une même version, relativement récente, avec une maintenance minimale. LuneOS va alors utiliser Halium pour profiter des pilotes faits pour Android, tout en gardant le reste du système sur une pile logicielle « systemd/glibc » classique. Cette situation reste très présente, car l’immense majorité des téléphones et tablettes du marché tournent sur Android.
  3. Le constructeur propose une vieille version du noyau, non maintenue, et dont les limitations deviennent problématiques pour LuneOS. Dans ce cas, LuneOS va tenter d’utiliser un noyau plus récent, mais qui a un support partiel du matériel. Cette stratégie a souvent un résultat très mitigé, avec de gros manques fonctionnels. En gros, c’est la tentative de la dernière chance avant l’abandon du support de ce matériel.

Le matériel Pine64

Une tablette PineTab2 avec LuneOS

Comme évoqué plus haut, Pine64 cultive ses liens avec la communauté open-source, et incite celle-ci à proposer leurs OS sur leur matériel. On retrouve ainsi de nombreux OS comme PostmarketOS, Plasma Mobile ou encore Ubuntu Touch. LuneOS a pris le train en marche très tôt, et peut aujourd’hui s’installer sur le Pinephone, le Pinephone Pro ainsi que sur la tablette PineTab 2.

Pour le Pinephone et le Pinephone Pro, LuneOS nécessite maintenant l’installation préalable de Tow-boot sur le téléphone. Ce dernier est un dérivé de U-Boot, qui vise à standardiser et faciliter le démarrage des OS sur du matériel embarqué.

Comme ce matériel tourne avec une version très récente du noyau Linux, il est possible pour LuneOS de lancer Waydroid; cependant cette fonctionnalité est jeune et nécessite encore beaucoup de travail.

Le matériel Android

LuneOS peut s’installer sur de nombreux autres téléphones (et sur la vénérable tablette HP Touchpad), grâce à l’utilisation de Halium (ici en version 9.0).

Cependant, même s’il n’est pas prévu d’abandonner les téléphones et tablettes Android, les efforts se concentrent de plus en plus sur le matériel pour lequel un noyau « mainline » existe.

Plans pour la prochaine version

Continuer la migration vers l’infrastructure de webOS-OSE

Mettre à jour les composants vers la dernière version de webOS-OSE, et finir la migration:

  • mettre à jour le moteur web vers Chromium 108 (tout juste sorti du four chez LG)
  • re-baser l’infrastructure audio et multimédia de LuneOS sur les composants fournis par webOS-OSE
  • travailler également sur le support des caméras

Continuer le travail sur le matériel supporté

  • Avoir un noyau « mainline » fonctionnel pour Tenderloin, Hammerhead, Mido and Tissot.
  • Fournir une image GSI unique pour les téléphones Android, permettant de faciliter grandement le support d’autres téléphones

Compléter l’espace applicatif

  • Améliorer ou ajouter des apps de base comme Camera, Flashlight, Audio Player ou Video Player, et améliorer les composants QML.
  • Essayer de profiter du travail fait par la communauté sur les TVs LG « homebrew » : webOS Brew

Envie d’essayer ?

Pour le téléchargement et l’installation, c’est par ici. Il existe notamment une image pour émulateur x86-64, utilisable directement dans VirtualBox.

L’équipe webOS-ports est présente sur IRC (Libera:#webos-ports) ou encore Telegram.

Aller plus loin

  • # développement

    Posté par  (Mastodon) . Évalué à 8 (+5/-0).

    Merci pour la nouvelle, je pensais que le projet était abandonné.

    • [^] # Re: développement

      Posté par  . Évalué à 10 (+10/-0).

      Le projet n'est pas abandonné, mais il avance à un rythme assez lent. L'équipe est très réduite, et on fait juste ça pour le plaisir dans notre temps libre. Personnellement ça me permet de jouer avec beaucoup de technos (systemd, qt, lxc, wayland, et j'en passe…) assez variée, sur un projet plutôt sympa.

      Le fait de s'appuyer sur des projets existants (webOS-OSE, Yocto…) nous permet maintenant de rester à jour plus facilement, mais ne nous a pas laissé de temps pour les nouveautés visibles, comme le côté applicatif. Ce dernier reste un gros point noir à résoudre.

  • # Il y a des applis ?

    Posté par  (site web personnel, Mastodon) . Évalué à 7 (+4/-0).

    Ce n'est pas le tout d'avoir un ordiphone vraiment sous Linux. S'il n'y pas d'applis ça va pas le faire.

    Oh et merci pour ce travail.

    « Tak ne veut pas quʼon pense à lui, il veut quʼon pense », Terry Pratchett, Déraillé.

    • [^] # Re: Il y a des applis ?

      Posté par  . Évalué à 10 (+8/-0).

      Il y a des applis, mais c'est encore un gros point noir. La majorité de la communauté historique de webOS est maintenant passée à autre chose au fil des années, ce qui est très compréhensible.
      On a quelques apps venant de webOS-OSE, mais elles sont prévues pour un format TV et donc pas toujours adaptées à un format plus petit.

      Pour l'instant, la grosse majorité des applis peuvent être récupérées via l'«App Museum», qu'on peut parcourir en ligne: https://appcatalog.webosarchive.org/showMuseum.php . Mais ce sont quasiment toutes des apps datant de l'époque de webOS.

      Ceci dit ce problème n'est pas spécifique à LuneOS: les apps pour smartphone GNU/Linux sont rares, et à part Ubuntu Touch et SailfishOS les autres ont le même souci (Plasma Mobile, Phosh, PostmarketOS…). Pour certaines on peut lancer des applis desktop, mais ça reste peu pratique.

      Waydroid, qu'on tente de proposer sur LuneOS, pourrait contourner le problème en permettant de lancer des apps Android. Mais reste un «hack», et on continue de réfléchir à la question pour proposer mieux.

      • [^] # Re: Il y a des applis ?

        Posté par  (site web personnel) . Évalué à 2 (+1/-0).

        il y a quand même une cinquantaine d'application pour plasma mobile

        www.solutions-norenda.com

      • [^] # Re: Il y a des applis ?

        Posté par  . Évalué à 7 (+4/-0).

        Je sais que tout le monde tient à l'intégrité de son projet, mais là-dedans il y a déjà 4 projets qui s'appuient sur Qt: UT, Plasma Mobile, LuneOS et même Sailfish.

        Il n'y a pas moyen que vous ayez un catalogue partagé?

        • [^] # Re: Il y a des applis ?

          Posté par  . Évalué à 8 (+6/-0).

          Le problème ce n'est pas l'intégrité du projet, mais l'intégration à l'OS. Aucun de ces projets n'utilise que Qt.

          • UT utilise une surcouche de QML pour quasiment tous les widgets, permettant une intégration avec certains de leurs concepts: couche réseau, "Lens", comptes en ligne, thèmes…
          • Plasma mobile: pareil (Kirigami)
          • SailfishOS: pareil (Silica)
          • LuneOS: la surcouche est beaucoup plus light (principalement le thème), mais le gros de la communication avec les services systèmes se fait via des appels maison de type DBus, pas avec Qt…

          Pour exécuter une app UT (par exemple) sur LuneOS, il faudrait ramener tout la pile logicielle sur laquelle leur code QML s'appuie. Et globalement, ça veut dire ramener toutes les spécificités de l'autre OS sur LuneOS.

          Certains ont essayé de faire des ponts mais ont rapidement abandonné devant l'effort à fournir. De plus il faudrait que les apps soient écrites avec un tel SDK, pas directement avec celui de l'OS…

          Personnellement j'ai fait quelques essais pour réimplémenter l'API QML de UbuntuTouch sur LuneOS, afin d'importer directement des apps UT. Mais cela marche mal voire pas du tout: la plupart des apps sont en fait des exécutables qui embarquent le QML, et qui sont souvent liées à des libs que LuneOS n'a pas…

          Bref, à suivre, car la situation actuelle ressemble effectivement à un gros gâchis de ressources.

    • [^] # Re: Il y a des applis ?

      Posté par  . Évalué à 3 (+2/-0).

      Si l'OS est Linux, logiquement on devrait pouvoir compiler toutes les applications desktop Linux… évidemment ce n'est pas très adapté à un petit écran…. mais en dézoomant ça devrait le faire.. Non?

      • [^] # Re: Il y a des applis ?

        Posté par  . Évalué à 10 (+9/-0).

        Alors, oui, il n'est pas bien difficile d'exécuter une appli desktop sur ces OS. Mais pour l'utilisabilité, c'est tout autre chose, car un doigt fera toujours la même taille:

        • il faut un clavier virtuel, qui prend 1/4 de l'écran environ
        • les boutons doivent être plus gros pour être utilisables; de manière générale, tout ce qui implique un clic précis devient quasi inutilisable
        • le point précédent implique une quantité réduite de widgets à l'écran: fini les grandes barres d'outils ou les fenêtres "dockées" dans la fenêtre principale
        • les menus textuels deviennent aussi une horreur à utiliser
        • etc

        En gros, les exemples d'applis desktop qui restent utilisables sur un écran de smartphone sont rares, très rares. Mais ce n'est pas une fatalité: les apps GNOME qui étaient peu utilisables en 2020, semblent être bien plus flexibles aujourd'hui.
        Simplement ça demande pas mal de boulot de design en amont, et la plupart des apps desktop ne visent pas une telle flexibilité.

  • # malheureusement

    Posté par  (Mastodon) . Évalué à 1 (+0/-0).

    j'ai l'impression qu'il n'y en a que pour le PP et autres librem..

    dès qu'on va vers un constructeurs tierce, ya plus grand monde..

    un peu comme pour sailfish, qui a tenté de réinventer la roue
    j'ai plusieurs appareils sous postmarketos, avec phosh l'interface est de plus en plus stable, c'est très satisfaisnat
    pour moi il est évident que postmarketos croît bien plus que les systèmes alternatifs mobiles.. meme si cela dépend de l'appareil derrière.

    • [^] # Re: malheureusement

      Posté par  . Évalué à 2 (+0/-0).

      dès qu'on va vers un constructeurs tierce, ya plus grand monde..

      En ce qui concerne webOS-ports, un des problèmes c'est qu'il n'y a pas grand monde quelque soit le constructeur. C'est une équipe réduite, on est loin des dizaines de contributeurs réguliers à postmarketos.

      Donc il faut faire des choix: privilégier les noyaux "mainline" par exemple. Et les plateformes les plus ouvertes sont celles où la maintenance et le debug sont les plus simples, tout bêtement.

      PostmarketOS a le vent en poupe en ce moment, et tant mieux pour eux. Toutes ces communautés se connaissent, et s'aident les une les autres, ce qui permet d'avancer plus efficacement. D'ailleurs pour les noyaux mainline on va sûrement utiliser certaines de leurs briques, qui semblent intéressantes :)

Envoyer un commentaire

Suivre le flux des commentaires

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