Ouvrir le menu principal

MacGeneration

Recherche

Comment Mozilla a adapté Firefox à l'architecture Apple Silicon

Stéphane Moussie

jeudi 28 janvier 2021 à 18:30 • 4

Logiciels

Parmi les nombreuses applications qui ont été optimisées très rapidement pour l'architecture Apple Silicon, il y a plusieurs navigateurs, dont Firefox. Dans un long billet de blog, l'ingénieur Gian-Carlo Pascutto retrace les étapes qui ont mené à la réalisation d'une version native de Firefox sur les Mac M1.

Mozilla a été grandement aidée par le fait qu'elle disposait déjà d'une version de Firefox conçue pour d'autres plateformes ARM 64 bits, en l'occurrence Android, Linux et même Windows depuis 2019. Cela a considérablement facilité le travail, mais il restait des choses à faire. Il a d'abord fallu passer en revue les différents composants pour voir comment ils réagissaient au fait qu'un Mac tourne avec une puce ARM.

Les développeurs de Mozilla ont ensuite adapté et corrigé les parties bas niveau du navigateur, en particulier le code Rust, un langage de programmation mis au point par la fondation (lire aussi : Avec ou sans Mozilla, le projet Rust cherche à rassurer sur son avenir). L'indispensable compilateur Rust fonctionnant sur Apple Silicon est arrivé mi-août, débloquant ainsi la situation.

Si l'éditeur a eu évidemment les mains entièrement libres pour modifier le code Firefox, un élément échappait à son contrôle, à savoir le module de DRM, qui est une boîte noire propriétaire fournie par Google. Sans visibilité sur l'adaptation de cet élément indispensable pour regarder des vidéos sur Netflix et d'autres services, Mozilla a utilisé la même astuce que pour la version Windows ARM de Firefox.

Le navigateur fait appel à la version Intel du module DRM qui fonctionne grâce à Rosetta 2 et qui est compris dans le binaire universel. L'éditeur avait en effet le choix entre créer deux versions distinctes de Firefox pour Mac (l'une pour Intel, l'autre pour Apple Silicon), ou bien une seule qui soit universelle. C'est la seconde solution qui a été retenue par simplicité pour l'utilisateur — ce qui arrange aussi pour tirer parti du module Widevine x64.

Le binaire universel comprenait toutefois son lot de complications pour l'éditeur, comme le fait que Firefox 83 « rosettisé » ne lance pas immédiatement la version Apple Silicon de Firefox 84 après la mise à jour automatique, mais toujours le binaire Intel. Les utilisateurs ont alors été informés qu'ils devaient fermer complètement Firefox pour bénéficier de la version Apple Silicon après la mise à jour automatique. Autre aléa rencontré, certains antivirus identifiaient à tort le nouveau binaire universel comme un malware, un problème que Mozilla a réglé en contactant les éditeurs.

La fondation aurait pu distribuer la version Apple Silicon de Firefox dans la foulée de la sortie des Mac M1 en novembre, mais elle a préféré la programmer en décembre, afin de faire des tests avec les « vraies » machines et pas seulement le DTK. C'est Firefox 84, sorti le 15 décembre, qui a inauguré l'optimisation pour Apple Silicon, avec à la clé des performances doublées par rapport à la version traduite par Rosetta.

Mais le travail n'est pas encore terminé, il reste des composants à huiler. WebRender, qui tire parti du GPU pour accélérer le rendu des pages, vient d'être réactivé dans la mouture 85 parue cette semaine. Outre des bugs qui restent à corriger (dont un pénible avec le mode sombre, même s'il n'est pas spécifique à ARM), Mozilla va chercher à exploiter au mieux les caractéristiques de la puce M1 et des autres à venir, par exemple en attribuant aux cœurs économes les tâches légères.

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

Sauvegarde en ligne : peut-on trouver mieux que Backblaze en 2025 ?

10:00

• 27


Apple et le changement d’heure, une longue liste de ratés

08:58

• 61


Phishing Disney+ & co : stop aux arnaques, protégez vos données 📍

29/03/2025 à 23:47


Elon Musk se vend X à lui-même, en faisant racheter le réseau par xAI

29/03/2025 à 22:15

• 35


Êtes-vous impatient de tester Apple Intelligence ?

29/03/2025 à 14:15

• 99


Sortie de veille : WWDC 2025, l’édition de tous les risques ?

29/03/2025 à 08:00

• 18


Pourquoi la France est-elle privée d’AI Overviews par Google ?

28/03/2025 à 21:15

• 54


Quand la reconnaissance faciale vous interdit l’entrée d’un concert pour un post sur les réseaux sociaux

28/03/2025 à 20:30

• 100


Apple, Meta : l’Union Européenne aurait prévu des amendes modestes pour limiter les tensions avec Donald Trump

28/03/2025 à 18:45

• 83


Faites le grand ménage de printemps sur votre Mac avec Mac Washing Machine X9 ! 📍

28/03/2025 à 18:10


Le Mac Studio 2025 est compatible avec le HDMI CEC

28/03/2025 à 17:17

• 8


macOS Sequoia empêche l'installation d'une ancienne version de macOS en externe

28/03/2025 à 12:45

• 26


iBoff a développé sa copie du SSD de Mac mini M4, vendue à un prix plus faible qu'Apple

28/03/2025 à 11:15

• 33


GPT-4o : OpenAI peine à suivre la demande pour son nouveau générateur d’images

28/03/2025 à 09:58

• 35


Final Cut Pro se met aussi à la page Image Playgrounds sur le Mac

28/03/2025 à 07:57

• 13


Test du BenQ MA270U : un écran 4K pensé pour le Mac

27/03/2025 à 23:30

• 18