Avec macOS Sonoma, Apple propose un nouvel outil pour les éditeurs de jeux vidéo : le Game Porting Toolkit. Il permet de lancer des jeux prévus pour Windows et DirectX (version 12 comprise) sur un Mac moderne, équipé d'une puce Apple Silicon… pour tester. Car il faut être assez clair sur ce point dès le départ : contrairement à ce qu'on peut lire ailleurs, nous ne sommes pas devant un équivalent de Proton, l'outil de Valve employé avec le Steam Deck. Ni même face à une solution pour lancer vos jeux Windows sur un Mac. Il s'agit d'un outil pour les développeurs et uniquement pour les développeurs1.
Un programme pour évaluer les performances
Le programme d'Apple permet donc de lancer un jeu Windows sur Mac, avec un peu d'émulation en temps réel. La couche de compatibilité va gérer la conversion du code x86 (64 bits uniquement) vers le code ARM mais aussi celle des différentes API utilisées sous Windows. Apple donne comme exemples DirectInput (les entrées en général, clavier, manettes, etc.), l'audio, la 3D — avec Direct3D — et d'autres API, sans plus de précisions.
Il faut bien prendre cet outil pour ce qu'il est : il permet d'évaluer les performances. Dans un sens, il peut être vu comme Proton, la technologie employée par Valve pour lancer les jeux sur le Steam Deck sous GNU/Linux, mais c'est une vision extrêmement biaisée. L'outil d'Apple n'est pas réellement adapté à cet usage (nous le verrons plus bas) et il est vraiment pensé pour vérifier le fonctionnement et régler les nombreux problèmes qui peuvent apparaître lors d'un portage. Mais ça n'empêchera absolument pas certains d'essayer de l'utiliser pour lancer des jeux Windows, nous sommes bien d'accord.
Sous le capot, Apple passe par une implémentation maison, largement modifiée, de Wine. La partie qui gère DirectX 12 n'est visiblement pas la même que celle de CrossOver et elle sert donc à adapter le code pensé pour DirectX 12 pour qu'il fonctionne avec Metal 3. CodeWeavers, qui développe CrossOver, a d'ailleurs félicité Apple.
CrossOver 23 prendra (difficilement) en charge DirectX 12 sur macOS
Enfin, et ce n'est pas anodin, la licence interdit d'utiliser cet outil pour un usage commercial. Il ne peut être employé que pour des tests, il ne faut donc pas espérer que des éditeurs vendent des jeux « Mac » qui reposent uniquement sur cet outil. Et c'est logique : Apple pousse évidemment les développeurs vers des versions natives.
Des performances moyennes
L'exemple donné par Apple pour montrer la première étape de la conversion n'est pas particulièrement convaincant. Le jeu The Medium a un peu plus de deux ans (il est sorti en février 2021) et fonctionne à moins de 30 images/s en 1080p sur un Mac doté d'une puce M2 Max. Le moins cher des Mac de ce type est le Mac Studio, qui démarre à 2 400 € avec la version limitée à 30 cœurs GPU. C'est suffisant pour identifier les différents problèmes de rendu, mais avec un résultat franchement faible dans l'absolu : ce sont des performances associées aux consoles de la génération précédente, apparues en 2013.
Le passage en natif, c'est-à-dire en compilant le jeu pour les puces Apple Silicon, permet de doubler le nombre d'images par seconde, sans que le résultat soit parfait : l'exemple d'Apple montre que le titre reste aux alentours de 60 images/s avec des passages fréquents sous cette valeur, ce qui force de facto l'affichage à 30 Hz sur les moniteurs qui ne permettent pas une fréquence de rafraîchissement variable2.