Connexion
Abonnez-vous

Comment Google pousse les fabricants vers sept ans de mises à jour Android

Treble, la situation est grave

Comment Google pousse les fabricants vers sept ans de mises à jour Android

Google pousse les constructeurs vers un support allongé pour leurs appareils, qui peuvent recevoir jusqu’à sept ans de nouvelles versions majeures d’Android. Cette bascule n’est pas simple, même si elle semble mettre un terme à la complexité actuelle. Ce support allongé va d’abord passer par le haut de gamme, via notamment le Snapdragon 8 Elite récemment présenté.

Le 29 octobre à 14h16

Android a depuis longtemps un problème de fragmentation. Depuis de nombreuses années, les constructeurs de smartphones prennent peu au sérieux la longévité de leurs produits, n’offrant que peu de mises à jour. L’exception se trouvait dans les modèles haut de gamme, qui pouvaient recevoir des versions majeures d’Android plus longtemps. Au-delà de ces dernières, il était surtout question des mises à jour de sécurité mensuelles, abandonnées trop vite sur de nombreux modèles d’entrée de gamme. Or, un smartphone ou une tablette sans mises à jour de sécurité représente un trop grand danger pour être encore utilisé.

La situation change progressivement. On l’a vu avec les Pixel et le haut de gamme de Samsung, des modèles commencent à être livrés avec sept ans de mises à jour mineures et majeures. Google veut inspirer le marché, d’autant que les lois s’apprêtent à se durcir, notamment en Europe.

Ces dernières années, Google a également beaucoup travaillé à rendre la maintenance des appareils plus simple pour les constructeurs. Une conséquence directe de la stratégie Android pratiquée jusque-là, qui donne de nombreuses libertés aux constructeurs dans le choix des composants et de l’utilisation d’Android. Plus il y a de modèles, plus il faut dépenser de ressources pour entretenir des configurations très différentes.

Une première étape avec le projet Treble

Face à ce constat, Google avait présenté le projet Treble. Il s’agissait alors de simplifier la chaine logistique allant de la disponibilité d’une mise à jour Android à son installation concrète par l’utilisateur. Et pour cause : il fallait que des fabricants de puces testent la compatibilité du nouveau code avec leurs produits, que les constructeurs de smartphones en fassent autant avec leurs appareils, voire que les opérateurs mettent leur grain de sel.

Treble a marqué une importante rupture dans ce modèle. Pour la première fois, Google séparait le système d’exploitation proprement dit de ses Play Services. Cette séparation devait permettre aux constructeurs de ne vérifier la compatibilité de code mis à jour que sur les composants strictement nécessaires du système, sans toucher à l’implémentation d’origine par le constructeur.

Ce fut un premier changement salvateur, car Google a déplacé petit à petit un nombre croissant de composants logiciels cruciaux dans ses Services. Aussi, sur les appareils ne pouvant plus prétendre aux versions annuelles d’Android, les Play Services continuaient à se mettre à jour pendant plusieurs années, limitant un peu le problème de fragmentation.

Un déplacement de la complexité

Si cela a l’air simple en apparence, la réalité est tout autre. Non seulement le projet Treble est complexe dans ses objectifs, mais il l’a aussi été dans sa mise en application. Il a fallu également que Google puisse maintenir une compatibilité ascendante pour toutes ses versions Android. Pas question en effet qu’une nouvelle mouture du système vienne réduire à néant les implémentations réalisées par les constructeurs sur la version précédente.

Toute la complexité du processus de suivi des mises à jour s’est en fait déplacée. Les constructeurs se sont surtout mis à attendre les retours des fournisseurs de composants. Ces derniers doivent en effet fournir une implémentation compatible pour chaque version d’Android en circulation sur chaque appareil. Ce qui inclut à la fois les versions majeures (quand le noyau Linux change par exemple) ou les versions intermédiaires, par exemple quand Google modifie une couche d’abstraction matérielle (HAL) pour introduire une nouveauté.

Si Treble a simplifié le processus pour les constructeurs, il l’a donc rendu plus complexe pour les fournisseurs de composants… dont dépendent les constructeurs. À moins d’être dans le cas de Google et de fournir directement ses propres composants, comme l’entreprise l’a fait en introduisant sa série Tensor. Une maitrise du matériel et du logiciel qui a valu pendant de longues années la palme de la longévité aux iPhone, maintenus pendant au moins cinq ans pour les versions majeures d’iOS, ainsi qu’une année supplémentaire pour les correctifs de sécurité. Apple s'est depuis fait voler la vedette.

Google Requirements Freeze, la deuxième moitié du puzzle

Google s’est rapidement aperçue du problème. L’entreprise a donc introduit fin 2020 un autre projet. Baptisé Google Requirements Freeze (GRF), il a étendu les grands principes de Treble aux SoC des appareils mobiles. GRF a introduit un très gros changement dans Android : les changements opérés dans le noyau Linux et/ou les couches d’abstraction matérielle ne peuvent plus être répercutés sur d'anciennes implémentations. Il n’y a plus de rétroactivité, alors qu’elle était obligatoire avec Treble.

Voici un exemple, pour mieux comprendre. Un fournisseur de composant propose un nouveau SoC prenant en charge Android 12. Avec GRF, l’implémentation réalisée par le fournisseur est garantie jusqu’à N+3, donc Android 15. Dans cet intervalle, toutes les mises à jour Android proposées, même les plus importantes dans les versions majeures, peuvent se faire en réutilisant l’implémentation initiale faite pour Android 12. D’où le nom de « Freeze », Google gelant littéralement ses exigences.

Le programme GRF a permis de simplifier le passage à trois ans de mises à jour d’Android, puis autant de correctifs de sécurité seuls. Il était possible d’étendre le support à sept ans, mais à la condition de payer le fournisseur de SoC pour un travail supplémentaire de prise en charge. C’est ce qu’explique Android Authority, donnant l’exemple de Samsung avec sa ligne Galaxy S24 lancée en début d’année.

Un director’s cut de GRF

Désormais, il faut parler de Longevity GRF. Une version longue du programme initial qui propose directement sept années de mises à jour. Plus spécifiquement, il autorise la réutilisation du logiciel d’un SoC pour sept évolutions majeures d’Android, au lieu des trois actuelles. Un changement majeur, car cela permet à un smartphone lancé sous Android 15 de pouvoir être mis à jour jusqu’à Android 22.

Il ne s’agit donc plus d’exceptions comme les Pixel 8/9 ou encore les Samsung Galaxy S24, mais d’une règle commune, applicable par l’ensemble des constructeurs. Il y a cependant une condition importante : il faut que la société proposant le SoC accompagne ce dernier de cette « garantie ». Or, à l’heure actuelle, seul le Snapdragon 8 Elite, présenté la semaine dernière par Qualcomm, est compatible. En théorie, tout appareil qui en sera équipé pourra recevoir les précieuses nouvelles versions d’Android.

Une condition, une limite et un problème

Si ce gel prolongé est un énorme progrès en matière de longévité des appareils, il y a cependant une grosse condition à respecter : mettre à jour la version du noyau Linux après trois ans, car les versions fournies par Android ne sont supportées que quatre ans. Le décompte commence à partir de la version 6.6 fournie avec Android 15. Si les constructeurs ne le font pas, ils devront s’occuper eux-mêmes de porter les modifications de sécurité sur l’ancienne version utilisée par leurs appareils.

Il y a une autre limitation : Google interdit qu’une implémentation pour un SoC soit utilisée au-delà de sa quatrième année pour équiper un nouvel appareil avec le dernier Android. En 2028, par exemple, il ne sera pas possible d’utiliser l’implémentation actuelle du Snapdragon 8 faite pour Android 15 dans un nouvel appareil conçu autour d’Android 19. Ceci pour éviter que l’ancienne implémentation ne soit pas sans cesse reprise par un constructeur. Sur Android Authority, Mishael Rahman a résumé les informations dans le tableau suivant :

Cette longévité simplifiée, qui demandera tout de même quelques travaux, surtout en milieu de cycle de vie, s’accompagne également d’un problème. Les constructeurs vont en effet pouvoir proposer des mises à jour sur 7 à 8 ans, sans plus devoir payer de support allongé aux fournisseurs de SoC. Cependant, cela se fait au détriment d’un gel des couches d’abstraction matérielle. Si Google introduit des nouveautés ayant besoin d’une telle modification, elles ne seront répercutées qu’au bon vouloir des fournisseurs de composants et des constructeurs. Par exemple, Android 13 a ajouté une API permettant de modifier la luminosité de la fonction lampe de torche.

Rahman ajoute que ces informations ne sont pas publiques, qu’elles lui ont été communiquées par une source anonyme et que certains détails pourraient donc lui avoir échappé. Cependant, elles sont en phase avec les mouvements de l’industrie observés depuis l’automne 2023, jusqu’à la présentation du Snapdragon 8 Elite. La longévité des appareils devrait donc bien devenir un argument de vente, mais il n’est pas certain qu’il le soit pour toutes les gammes. D’autant que seul le dernier fleuron de Qualcomm est pour l’instant compatible. Mais cette permissivité semble bien être l'aboutissement des objectifs fixés par Treble il y a six ans.

Commentaires (24)

Vous devez être abonné pour pouvoir commenter.

Abonnez-vous
votre avatar
C'est sérieusement complexe et va donner des sueurs froides aux constructeurs.
votre avatar
Ça a l'air en effet sacrement complique. Mais si ça peut permettre de bouger dans la bonne direction, tant mieux !
votre avatar
Franchement c'est pas du foutage de gueule? ya des PCs de 20ans qui tournent avec les derniers OS libres sans soucis... c'est quoi le probleme des smartphones? 7ans de durée de vie maximum et on doit dire merci?
votre avatar
Les PC de 20 ans doivent quand même être poussifs et je ne suis pas sûr que tous les drivers de composants obsolètes soient encore maintenus. Le PC a l'avantage d'être très standardisé et d'avoir des fonctions de découvertes du matériel. Donc, une distribution Linux pourra être installée sans soucis sur un PC et les drivers seront chargés. La plupart des drivers sont libres ce qui aide fortement pour la durée. Par contre, il y a 20 ans, la plupart des processeurs Intel n'avaient pas une architecture 64 bits. Un certain nombre de distributions actuelles ne tourneraient donc plus sur ces PC.

Dans le monde des smartphones, il n'y a pas la même standardisation que pour les PC et l'on doit faire une description du matériel pour chaque plateforme matérielle (device tree). Mais le problème principal est que les drivers qui pilotent le matériel sont rarement libres mais fournis par les fournisseurs de composants. C'est pour cela que la maintenance de ces drivers dure moins longtemps : ça a un coût que personne ne veut payer trop longtemps.
votre avatar
Pour compléter ta réponse, c'est aussi la gestion des drivers sous Linux qui causent cette situation.

Sous Linux, un driver est compilé pour une version spécifique. Une mise à jour de noyau nécessite donc de recompiler les modules pour cette version spécifique.

Pour les modules présent directement dans les sources du noyau, c'est "facile", car les mainteneurs font un sacrement bon boulot. Pour les modules pour les smartphones, il n'y en a pas beaucoup d'inclus directement dans le noyau. C'est donc au constructeur de faire le nécessaire. Comme c'est une charge supplémentaire, et que cela va à l'encontre des intérêts des constructeurs (durée de vie plus longue = moins de smartphone vendu sur le long terme), c'est rarement fait.
votre avatar
Il aurait donc mieux valu obliger les constructeurs de SOC à développer des pilotes sous licence libre et les maintenir dans la branche principale de Linux. Ce qui faciliterait également grandement la possibilité d'installer de véritables distributions Linux sur les smartphones en lieu et place d'Android 🙂
votre avatar
Parce que l'IBM PC, x86 donc, a été fondamentalement conçu pour reposer sur un standard ouvert (facteur de forme et bus AT, VGA etc.) afin de permettre à des tiers de proposer des extensions matérielle, mais également un choix logiciel par l'intermédiaire du bios lui aussi standardisé. La suite de cette logique a engendré beaucoup d'autres standards, provenant de d'autres acteurs, comme les bus PCI et USB, l'APM, l'ACPI, les tables SMBIOS, les différents formats d'affichage etc. Le tout a évidement échappé à IBM qui a quand même bien pris sa part les premières années pour donner l'ordinateur standard que l'on connaît aujourd'hui.

Les smartphones n'ont RIEN de tout ça, les architectures ARM sont plus ou moins customisées (= différentes) par les fabricants de SoC, pas de process de boot unifié ni ne serait-ce que documenté, aucun standard de forme et pas de standard d'énumération des périphériques.

On pourrait simplifier en disant que les smartphones, tablettes & cie ne sont ni plus ni moins que la micro-informatique pré-x86, idem pour les mainframe et l'embarqué.

Quand on achète un matériel informatique hors x86 il faut considérer que la partie logicielle dépend à 100% du fournisseur.
votre avatar
je pensais à ça en achetant une tablette x86_64 Atom, bah Google/android a arrêté le support après android 5 .. ma tablette a pas eu 1 an de maj
votre avatar
Tu mélanges un peu tout : le bus AT, comme son nom l'indique, date de l'IBM AT, pas de l'IBM PC. Et le standard VGA a été introduit sur l'IBM PS/2, il n'y en a jamais eu sur aucun IBM PC ni IBM AT. Pour le BIOS standardisé, tu oublies qu'à l'origine, le BIOS devait contenir les drivers, chaque carte d'extension fournissant une extension de BIOS ; ce modèle a été dynamité par Windows.
On trouve la cohérence de tout ça après coup, avec le recul. Mais à l'époque, ça semblait bien moins organisé que ce que tu sembles dire.
votre avatar
En ce qui concerne PC/AT c'est faux : il n'y pas à opposer l'IBM PC et l'IBM AT cat le AT était une famille de modèles faisant parti de la gamme PC, au même titre que la famille XT.

En ce qui concerne la partie VGA effectivement j'étais persuadé que ça avait été introduit par les AT.

Pour le BIOS, c'est plus compliqué car même s'il devait originellement fournir quelques drivers de base (ce qu'il a fait d'ailleurs), les OS proposés embarquaient déjà des drivers bien que l'ensemble ressemblait plutôt à une sorte de gros filesystem avec des drivers à charger à la main. C'était déjà le cas de l'unix proposé en plus de pc-dos évidemment ainsi que de os/2 qui n'a jamais vraiment supporté grand chose.

J'ai volontairement simplifié car je ne voulais pas faire trop long mais on pinaille sur des détails.
votre avatar
L'IBM PC, c'est le 5150.
OS/2, c'était déjà la vision de Microsoft, qui leur a planté un couteau dans le dos après. Mais à l'origine, les cartes venaient avec leur ROM qui étendait le BIOS.

Ce ne sont pas des détails : la vision cohérente de tout ça est venue après. Sur le moment, c'était plus compliqué, entre les disques IDE vs MFM, le bus MCA vs ISA, les "compatibles" qui ne l'étaient pas (qui a eu un PC Tandy ?), le VGA loin d'être évident (moi mon PS/2, il était CGA, et au collège les PCs avaient une carte Hercules). Bref. L'architecture PC standard et unifiée, c'est une vision un peu idéalisée a posteriori.
votre avatar
La compatibilité n'assure pas une sécurité. Sur les vieux matos, il y a surement un tas de vulnérabilité non comblées et documentée.
Les failles ne viennent pas uniquement de l'OS mais également des firmware voir même du fonctionnement interne d'un composant.

Sur android, avec un play store inondées d'appli fumeuse le risque et d'un autre ordre, les applis devant être un des vecteurs principaux d'exploitation des failles.

Qui n'a pas fait fie des règles de prudence pour installer tel application, désinstallée aussi sec car la fonctionnalité tant espérée ne s'y trouve pas ?
votre avatar
Flock t'es vraiment chaud sur les illustrations, j'adore. J'ai mis un peu (trop) de temps pour celle-là par contre 😅

Bon OK je m'en vais lire l'article maintenant !
votre avatar
Après les MAJ, le retour des batteries amovibles ? :D Car la plupart des gens lorsque la batterie de leur objet fétiche est morte ou ne tient plus que quelques heures, ils changent de monture. Alors proposer des MAJ pendant 7 ans là où la plupart des tel vont avoir 4-5 ans de durée de vie à cause de ça... je ne sais pas si ça va changer grand chose.

Aller la faire remplacer ou la remplacer soi-même (sans être sûr qu'on va rien péter au passage), soit ça vaut pas bien le coup, soit on sait pas faire.

Expérience perso : j'ai voulu changer le port de charge de mon ancien motorola X4 qui s'était mis en CC (le tel avait tout juste 3 ans) : un angle un peu trop attaqué profondément, un joli crack, écran pété : trop cher à racheter (100€ pour un tel qui en valait 300) → téléphone remplacé. :frown:
votre avatar
Avec batteries amovibles, sans tomber dans d'obscurs fabricants, la gamme durcie (light) de Samsung XCover offre toujours cela. J'ai un XCover4 depuis 2018 qui en est à son 2ème remplacement de batterie.

OK, il est plus mis à jour depuis au moins 4 ans par contre... Mais il continue à faire le job surtout que les modèles plus récents sont encore plus gros (et mes poches, non!) et sont bien montés en tarif: J'avais payé le mien en promo Amazon 179€...

Si personne n'achetait des trucs ne permettant pas de remplacer ce qui lâche en 1er, on arrêterait assez vite d'en vendre. Un pb qui va se poser, en pire, avec tous ces VE dont les batteries sont intégrées aux soubassements/châssis et se démontent en tronçonnant la bagnole à la disqueuse. Mais bon, tant que des débiles achètent là encore, avec les bonus piqués aux voisins en prime!
votre avatar
Je voudrais bien en acheter un avec batterie amovible mais... les constructeurs ne nous demande pas notre avis. Les modèles existants se comptent sur les doigts d'une seule main. Car ils ont bien compris la combine, il a suffit qu'un sorte avec batterie intégrée, tous les autres ont compris l’intérêt économique et suivi derrière :vomi1: C'est la même avec la prise jack désormais, obligé de prendre de l'entrée de gamme pour l'avoir (gros problème pour moi, je ne veux pas d'airpods-like et encore moins d'adaptateur split). Et même l'entrée de gamme récent commence à la supprimer :censored:

Ma mère a justement un xcover5 (acheté sur mes conseils, car elle ne voulait pas d'écran "long" ou un truc trop lourd après que son LG G4 soit tombé à moitié en rade avec le tactile qui ne fonctionnait plus correctement) mais au final, c'est franchement pas génial. Écran petit, un APN médiocre (et je pèse mes mots), pas de CA, ramait à la sortie de la boite (CPU anémique, je suis presque sûr qu'il est moins bon que le SP 808 du G4) sans la moindre MAJ... autant dire que sur ce coup là, j'aurais mieux fait de me gratter le c*l :transpi:
votre avatar
Quand on prends pas son débilophone pour une console portable, le XCover4 fait encore le job pour moi... alors le 5 pour ma mère je pense franchement qu'il n'y aurait pas de pb! Enfin sauf si elle se mets à vouloir tirer toute la logithèque du play-store ou qu'elle prendrait, niveau photo, un truc d'appoint qui rends service pour un reflex...
Franchement 179€ et 2 batteries de remplacement à moins de 30€ pour plus de 6 ans de service moi je ne trouve rien à redire.
Maintenant chacun fait selon ses besoins mais il y a encore des modèles avec batterie qui se change sans outils. Moi ce qui me fait chier c'est de me fader la config d'un truc neuf car je fais pas cela tous les jours. Ca vaut aussi pour réinstaller un PC (j'écris d'un barebone shuttle de 2013, tournant encore sans pb sous une Debian à jour sans aucun pb de réactivité pour un usage classique) d'ailleurs. OK, sous windaube il serait à la rue depuis 7 ou 8 ans.
votre avatar
Perso, je n'utilise que des câbles avec embout aimantés.
L'embout reste a demeure connecté à la prise du téléphone. Sa aide à ne pas la bousiller avec le nombre de branchement/débranchement qu'ils subissent sur leur vie.

L'USB C s'en tirera peut être mieux dans le temps...
votre avatar
Ce sous-titre :incline:

:bravo:
votre avatar
Bref, un cycle moins frénétique d'évolution/changement technologique.
Donc moins de raisons pour un utilisateur d'acheter le nouveau smartphone qui vient de sortir.

On attend impatiemment les stratégies commerciales que vont mettre en place les constructeurs pour soutenir la demande. Car, faut pas se leurrer, ils ne vont pas regarder passivement la baisse des ventes pendant que les utilisateurs profitent gratuitement de leur "vieux" smartphone.
votre avatar
Bah si le smartphone dure 1.5 fois plus longtemps, il sera vendu 1.5 fois plus cher, avec quelques licenciements à la clé suite au ralentissement de cadence de production, et voilà.
votre avatar
En mettant des "composants critiques" dans Services (qui n'est pas Android, n'est pas open source) est-ce que Google ne rend pas hyper compliqué d'avoir des appareils fonctionnels sans son code propriétaire ? C'est peut-être bien volontaire of course, mais du coup ça fait bien suer pour les implémentations libres, les lineageOS et consorts.
votre avatar
Pour un smartphone, j'ai une barrière psychologique à 200 balles et taille max de 5.5".
Vous pensez que j'aurais un jour un smartphone android qui sera mise à jour pendant 7 ans ?

Comment Google pousse les fabricants vers sept ans de mises à jour Android

  • Une première étape avec le projet Treble

  • Un déplacement de la complexité

  • Google Requirements Freeze, la deuxième moitié du puzzle

  • Un director’s cut de GRF

  • Une condition, une limite et un problème

Fermer