Les futurs Mac auront-ils des écrans tactiles ? Mozilla se l’est demandé en juin dernier, à l’heure où Apple officialisait la transition vers Arm.
À la mi-décembre, la fondation livrait un premier portage stable de Firefox. Elle fait désormais le point sur quelques-uns des défis qu’elle a dû relever pour en arriver là.
Le code du navigateur était déjà adapté à l’architecture Arm64. C’est à plus bas niveau qu’il a fallu travailler. Notamment sur les interfaces entre JavaScript et C++. Le compilateur Rust, en particulier, a posé des problèmes. Il a fallu attendre la mi-août pour disposer d’une version fonctionnelle.
Autre point délicat : la gestion des DRM pour les plates-formes de streaming vidéo. Mozilla a opté pour la même implémentation qu’avec Windows sur Arm. Elle a utilisé les versions x64 des modules de décodage, isolés et exécutés sur la couche d’émulation Rosetta 2.
Les processus qui chargent les modules en question dépendent de bibliothèques dont il a fallu récupérer les versions x64. La fourniture de Firefox sous forme de binaire universel – alliant versions Arm et Intel – a facilité les choses… au prix d’un installeur plus lourd.
La bêta de macOS Big Sur a rassuré Mozilla : Apple n’abandonnait aucune des API majeures dont dépend le browser.
La numérotation des versions de l’OS (passage de 10.x à 11.0) a en revanche engendré quelques soucis. La mise à jour des installations existantes de Firefox x64 aussi. Et pour cause : les applications émulées sur Rosetta lancent obligatoirement leurs processus sur cette même couche.
La version native de Firefox se montre deux fois plus performante « sur certains benchmarks », affirme Mozilla. Le démarrage, en particulier, est beaucoup plus rapide. Cela tient probablement au compilateur JavaScript JIT. Sur Rosetta, le code qu’il produit doit obligatoirement être traduit pour l’architecture Arm64.
Mozilla a, sur sa feuille de route à court terme, un autre compilateur : celui qui gère WebAssembly. Une version plus rapide (Cranelift) est en cours de test sur le canal Nightly. La fondation en développe également un en interne (Ion) et entend en finaliser le portage Arm64 « sous quelques semaines ».
Sur la roadmap, il y a également WebRender, pour le moment inactif à cause de bugs graphiques. Son retour devrait intervenir avec Firefox 85. Mozilla entend aussi moderniser son usage des API de rendu héritées de macOS (problèmes, entre autres, avec le mode sombre). Et exploiter l’architecture de la puce Apple M1 (4 cœurs haute performance et 4 cœurs moins énergivores).
Photo d’illustration © flod – CC BY-NC-SA 2.0
Pour développer une version 7B de son modèle Codestral, Mistral AI n'a pas utilisé de…
L’Autorité de la concurrence et des marchés (CMA) britannique ouvre une enquête sur les conditions…
Thomas Gourand est nommé Directeur Général pour la France. Il est chargé du développement de…
Pour dissuader le CISPE d'un accord avec Microsoft, Google aurait mis près de 500 M€…
Pour réduire la taille des mises à jour de Windows, Microsoft va mettre en place…
De l'organisation administrative à la construction budgétaire, la Cour des comptes pointe le fonctionnement complexe…