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

Un Steam Deck caché dans un clavier Apple pour l'utiliser avec des lunettes AR

13:00

• 2


En Allemagne, le Schleswig-Holstein va abandonner les outils Microsoft comme Teams ou Office

11:38

• 22


macOS Tahoe change plus facilement la couleur des LED des manettes de PlayStation

10:45

• 10


GlassBar opacifie déjà la barre des menus de macOS Tahoe

09:04

• 12


Nouveautés d’iOS 26, macOS Tahoe, Liquid Glass… Tous nos articles pour tout savoir sur la WWDC 2025

06:00

• 11


Les leçons de la WWDC 2025, et ce qu’elle laisse entrevoir de la suite : la semaine Apple

15/06/2025 à 21:00

• 39


Aperçu de Spotlight dans macOS Tahoe : le lanceur idéal pour débuter ?

14/06/2025 à 11:00

• 35


Sortie de veille : une WWDC 2025 réussie ? Notre débrief d’iOS 26, Liquid Glass…

14/06/2025 à 08:00

• 11


SAV : Apple lance un programme de réparation pour des Mac mini M2 qui ne s'allument plus

14/06/2025 à 07:38

• 41


Avec Tahoe, les applications macOS pourront s’afficher sur le Vision Pro

13/06/2025 à 21:57

• 17


Les Youtubeurs de Linus Tech Tips voulaient se moquer des Mac pendant un mois, mais décident finalement de rester chez Apple

13/06/2025 à 18:56

• 104


watchOS 26 : découverte de la nouvelle interface de l'app Exercice

13/06/2025 à 18:27

• 5


Découvrez le tout nouveau UPDF 2.0 – l’éditeur PDF ultime pour Mac et iOS !

13/06/2025 à 15:18

• 0


macOS 26 peut faire le ménage dans les icônes de la barre des menus

13/06/2025 à 14:52

• 11


Avec EnergyKit, Apple veut charger votre watture au moment le plus opportun

13/06/2025 à 13:45

• 13


3DMark, une référence pour comparer les performances des GPU, débarque sur Mac

13/06/2025 à 13:02

• 31