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.

Soutenez MacGeneration sur Tipeee

MacGeneration a besoin de vous

Vous pouvez nous aider en vous abonnant ou en nous laissant un pourboire

Soutenez MacGeneration sur Tipeee

Gardez les mains bien au chaud avec ces gants imperméables chauffants

16:19

• 0


Apple, bientôt 50 ans… Partagez vos souvenirs !

11:00

• 60


Avec le code XMAS40, le MacBook Air M1 16 Go passe à 589 € !

08:27

• 0


Sortie de veille : l’Apple Watch bientôt libérée par Free Mobile ?

08:00

• 4


Santé : le potentiel inexploité de l'Apple Watch se dévoile grâce à l'IA

07:59

• 25


Sécurité : Apple comble deux failles « zero-day » avec iOS 26.2 et macOS 26.2

07:59

• 29


On a testé la traduction en direct des AirPods : vraiment utile pour franchir la barrière de la langue ?

07:53

• 37


Une build interne d’iOS 26 dévoile les plans d’Apple jusqu’à iOS 27

07:10

• 8


iOS 26.2 disponible en version finale : toutes les nouveautés de cette mise à jour pas si anodine

12/12/2025 à 21:38

• 56


watchOS 26.2 est disponible avec un score de sommeil qui n’est plus dans la lune

12/12/2025 à 21:38

• 14


macOS 26.2 disponible pour tous : découvrez les nouveautés lumineuses de cette mise à jour

12/12/2025 à 19:35

• 22


iPhone, Mac : Le VPN premium à petit prix que tout le monde s'arrache avant Noël (parfait si vous avez raté le Black Friday) 📍

12/12/2025 à 16:33

• 0


Orange, Bouygues Telecom et SFR s'allient pour éviter les débranchements sauvages de fibres optiques

12/12/2025 à 16:00

• 28


Fin de l’exception douanière en Europe : les petits colis taxés 3 € dès juillet 2026

12/12/2025 à 15:30

• 62


Promos : les caméras de surveillance reviennent à leur prix du Black Friday

12/12/2025 à 15:20

• 16


La Fnac offre à ses adhérents des bons d’achat sur tous les produits Apple, même en promotion

12/12/2025 à 10:57

• 25