Lancer une application 32 bits sous macOS Catalina

Comme je triais mes vieux brouillons, je suis tombé sur un vieux post de Netkas qui explique qu’il est possible de lancer certaines applications 32 bits sous macOS Catalina, normalement limité aux applications 64 bits.

N’espérez pas un miracle : vous ne lancerez pas vos applications 32 bits sous Catalina ou Big Sur. Ça fonctionne uniquement sur les applications console, c’est-à-dire celles qui ne font pas appels aux API de macOS. Pour tout dire, j’ai dû réfléchir un peu avant de trouver un exemple intéressant.

La méthode est assez simple, ceci dit : il faut désactiver le SIP, puis taper cette commande et redémarrer.

sudo nvram boot-args="no32exec=0"

Un simple effacement de la PRAM permet de supprimer l’argument (c’est encore le plus simple).

Pour tester, je suis parti d’un outil amusant : le moteur de rendu du jeu d’échec de Mac OS X. Je l’avais testé il y a longtemps pour montrer que le 64 bits existait du temps des PowerPC et je pensais qu’il était disponible en x86 32 bits. Mais en fait, j’ai dû redescendre jusqu’à Mac OS X Lion pour trouver la version 32 bits.

Donc sous Catalina, par défaut, impossible de forcer la version 32 bits avec cette commande :

arch -i386 /Applications/Chess.app/Contents/Resources/sjeng.ChessEngine

Ca ne marche pas par défaut

Une fois le mode 32 bits (ré)activé, ça marche.

Le programme se lance !

Du coup, j’ai lancé un petit benchmark, entre 32 et 64 bits (sur un MacBook Air). Il suffit de taper speed dans le moteur de rendu. Et le 64 bits est bien plus rapide.

32 bits


64 bits