Apple abandonne peu à peu le 32 bits

Depuis la dernière mise à jour de macOS High Sierra (10.13.4) et depuis le 12 avril, macOS affiche un message d’alerte au lancement d’une application 32 bits. Ce qui veut dire que la fin est proche.

La gestion du passage du 32 au 64 bits a été faite de façon assez bizarre chez Apple. D’un point de vue logiciel, tout est prêt depuis un moment, mais d’un point de vue matériel, la société a dû gérer des impératifs liés aux fabricants de processeurs. D’abord le fait qu’IBM n’a pas pu proposer de CPU 64 bits adapté aux PC portables au milieu des années 2000, et ensuite le fait qu’Intel non plus. En effet, au lancement des Mac Intel en 2006, le seul processeur performant et peu consommateur d’Intel était le Core Duo (Solo), uniquement 32 bits.

Côté Mac OS X, les premières bases datent de Jaguar et Panther, Tiger a amené le support du 64 bits pour les applications en ligne de commande (plus exactement, sans interface graphique) et Leopard a étendu cette possibilité à toutes les applications. Le noyau 64 bits (optionnel) date de Snow Leopard et le passage en “full 64 bits” de Moutain Lion. De plus, Apple a bien géré la distribution des OS et des applications : tout le monde avait le même système d’exploitation et les applications pouvaient (peuvent) contenir des binaires pour plusieurs architectures. C’est nettement plus transparent que sous Windows : il subsiste toujours des versions 32 bits et 64 bits de Windows 10, et les applications disposent généralement de deux exécutables.

La fin du 32 bits

Niveau matériel, donc, c’est différent. Du temps des PowerPC, les PowerPC G3 et G4 (32 bits) cohabitaient avec les PowerPC G5 (64 bits). Lors du passage aux puces Intel, les premières générations utilisaient une puce 32 bits, le Core Duo (Core Solo dans le Mac mini) et seul le Mac Pro a été livré d’office avec un processeur 64 bits. La seconde génération, en Core 2 Duo, offrait par contre bien le support du 64 bits. Apple a déjà commencé à tuer le 32 bits avec Lion puis Mountain Lion : le premier imposait un CPU 64 bits (pour les applications), le second un noyau 64 bits (et donc les pilotes correspondants, ainsi que l’EFI). Mais la compatibilité avec les applications 32 bits, elle, restait.

Avec le successeur de macOS High Sierra, c’est visiblement fini. Au premier lancement d’une application uniquement 32 bits, un message indique « xxx n’est pas optimisé pour votre Mac. Cette app doit être mise à jour par son développeur afin d’améliorer sa compatibilité. ». La page d’Apple (qui n’est pas traduite) reste assez vague sur le futur. Elle indique que le successeur de macOS High Sierra ne prendra pas en compte les applications 32 bits sans compromis et elle conseille d’essayer de passer sur du 64 bits. Officiellement, Apple ne donne pas d’indications sur le futur, mais en en pratique, la fin est proche.

Le message

Sous iOS, le problème a été réglé beaucoup plus facilement. D’abord, parce qu’Apple contrôle l’OS et le matériel : iOS a géré le 64 bits au lancement des processeurs 64 bits et Apple contrôle la distribution des applications. Si le passage a été rapide (iOS 6 n’était pas 64 bits, iOS 11 a supprimé le support 32 bits) c’est parce que le renouvellement reste assez rapide dans le monde des appareils mobiles et qu’Apple n’a pas laissé le choix aux développeurs : c’était passer au 64 bits… ou ne plus distribuer d’applications. Dans le monde Mac, les machines vivent plus longtemps et les développeurs ne passent pas uniquement par le Mac App Store.

Qui est 32 bits ?

Pour connaître la liste des applications 32 bits, il faut se rendre dans les Informations Système ( -> A propos de ce Mac -> Rapport Système), ensuite regarder dans la section Applications (dans Logiciels) et trier le champ 64 bits (Intel). Les applications avec la valeur non sont uniquement 32 bits. La liste peut être assez longue, mais elle inclut au moins le lecteur de DVD d’Apple, QuickTime Player 7, pas mal de vieux logiciels ou des trucs plus récemment mis à jour comme EyeTV. Plus largement, tous les logiciels qui se basent sur des fonctions liées à QuickTime 7 risquent de ne plus fonctionner.

La liste (longue parce que macOS cherche aussi dans les disques durs externes)

Le principal problème, c’est qu’il n’y a pas réellement de solutions. D’un point de vue technique, se débarrasser du support des applications 32 bits et des frameworks correspondant a du sens et devrait permettre de gagner quelques gigaoctets sur une installation et de réduire l’usage de la RAM. Lors du passage à Snow Leopard, débarrassé du support des PowerPC, le gain était sensible. En pratique, le message est assez hypocrite : les applications qui sont encore en 32 bits en 2018 ne passeront pas au 64 bits. Les développeurs qui n’ont pas fait l’effort de passer en 64 bits alors que ça fait 12 ans qu’il y a des processeurs 64 bits dans les Mac ne le feront sûrement pas. Et encore, c’est en partant du constat que l’application est à jour. Dans mon cas, c’est assez simple : il y a QuickTime Player et le lecteur de DVD qu’Apple ne mettra pas à jour (en tout cas pas le premier), EyeTV qui le sera sûrement… un jour et plusieurs vieux utilitaires qui resteront en 32 bits. Soit parce qu’ils sont abandonnés, soit parce que j’utilise intentionnellement une vieille version.

Je pense vraiment que la suppression de la compatibilité 32 bits va être un problème pour pas mal de gens sous macOS, beaucoup plus que sous iOS.