Présentation de Chrobalt et de son évolution

Chrobalt est le successeur de Cobalt, le moteur HTML5/CSS/JavaScript conçu pour les appareils à ressources limitées. La transition de Cobalt vers Chrobalt consiste à fusionner le code de Cobalt avec Chromium, créant ainsi un embedder Chromium capable d’utiliser la couche d’abstraction Starboard. Les premières versions de Chrobalt sont apparues sous le numéro 26.eap, puis 27.lts, qui suit les jalons Chromium 138 et supérieurs. Cette évolution vise à offrir une conformité aux standards du Web tout en conservant l’empreinte mémoire réduite héritée de Cobalt.

Architecture et intégration sur RDK

Le portage de Chrobalt sur une plateforme RDK (Reference Design Kit) repose sur trois couches : Chromium comme moteur de rendu, le module Starboard qui traduit les appels système vers le matériel, et le système d’exploitation Linux fourni par RDK. Collabora a réalisé le premier référentiel de référence pour des SoC Amlogic, en adaptant les drivers graphiques et les interfaces audio via Starboard. La version 27.lts intègre les API Chromium 138+, ce qui permet d’utiliser les dernières optimisations du moteur Blink tout en conservant le modèle de consommation de ressources de Cobalt.

Contraintes matérielles et performances

Les décodeurs vidéo et les processeurs des STB et Smart TV typiques disposent de 1 Go à 2 Go de RAM et de CPU à faible fréquence. Cobalt était limité à un sous‑ensemble de standards Web pour rester sous la barre des 150 Mo de RAM en usage actif. Chrobalt, grâce à Chromium, augmente la charge mémoire à environ 200‑250 Mo, mais reste inférieur aux 400 Mo requis par un navigateur complet. Les tests de validation menés par Collabora montrent que le temps de rendu d’une page YouTube passe de 1,2 s à 0,9 s, tout en maintenant la consommation CPU sous 30 % d’un cœur Cortex‑A53 à 1,5 GHz.

Implications pour les OEM et limites

Le référentiel RDK fourni par Collabora donne aux constructeurs comme Samsung ou LG un chemin de production validé pour intégrer YouTube via Chrobalt. La présence d’un portage Starboard standardisé réduit le besoin de développer des drivers propriétaires, accélérant le cycle de mise sur le marché. Cependant, la dépendance à Chromium 138+ implique que les mises à jour de sécurité doivent être synchronisées avec le cycle de publication de Chromium, ce qui peut introduire des délais de déploiement. De plus, les appareils ne disposant pas d’un GPU compatible OpenGL ES 3.0 peuvent rencontrer des limitations de décodage matériel, obligeant à recourir à un décodage logiciel plus coûteux.