Ouvrir le menu principal

iGeneration

Recherche

L'ouverture de l'iPhone en Europe ne profitera pas à Dolphin et à certains émulateurs

Pierre Dandumont

lundi 12 février 2024 à 18:45 • 46

iOS

Si certains attendent l'arrivée d'iOS 17.4 de pied ferme pour pouvoir profiter facilement d'émulateurs sur un iPhone, ils vont devoir tempérer leurs attentes : le fonctionnement de certains émulateurs (comme Dolphin, qui simule le GameCube et la Wii) pourrait empêcher leur arrivée sur les iPhone, même avec l'ouverture prônée par l'Union européenne.

Le problème serait différent de ce qui a bloqué l'arrivée de Dolphin sur Steam et — surtout — il pourrait toucher de nombreux émulateurs. En effet, les règles techniques d'iOS — toujours de la partie, même après l'ouverture liée au DMA — empêchent l'utilisation de compilation à la volée (JIT, pour Just-In-Time compilation) pour les applications, sauf s'il s'agit d'un navigateur. Et de nombreux émulateurs, dont Dolphin, intègrent cette solution. C'est une crainte qui a été mise en avant par le compte officiel de la version iOS sur X.

Pour le moment, pas de Zelda sur iPhone.

Nous allons tenter de faire une explication simple1 : une des fonctions de base d'un émulateur est de lire du code qui a été pensé pour un jeu d'instructions précis (par exemple du code PowerPC2 dans le cas de Dolphin) et de l'exécuter sur un autre jeu d'instructions (ARM64 pour les iPhone). La solution de base consiste à interpréter le code, c'est-à-dire traiter chaque instruction une à une. C'est une solution efficace, mais qui a le défaut d'être lente. Et quand vous voulez émuler une console du milieu des années 2000 sur un smartphone, vous ne pouvez pas vous permettre d'être lent.

Avec la compilation à la volée, le fonctionnement est le même que pour Rosetta 2 : le code est converti au lancement (et mis en cache) avant l'exécution, pour obtenir un résultat bien plus efficace3. Mais cette solution pose un problème : elle consiste littéralement à créer du code natif. Pour Apple, qui met en avant la sécurité des iPhone, c'est un énorme problème : il est impossible de vérifier que le code en question n'est pas malicieux et donc d'effectuer les tests de sécurité.

La notarisation sera bien obligatoire pour les applications iOS

La notarisation sera bien obligatoire pour les applications iOS

Dans la pratique, c'est assez simple : les applications iOS (au sens large) ne peuvent tout simplement pas effectuer de compilation JIT pour cette raison. La seule exception vient des navigateurs, qui peuvent le faire pour le code JavaScript, avec de très grosses limites, mais Dolphin (ou n'importe quel autre émulateur) n'est pas un navigateur. La version compilable de Dolphin pour iOS souffre déjà du même problème : si vous n'avez pas un iPhone jailbreaké, vous ne pouvez pas profiter du JIT.

Dans la pratique, Dolphin ne devrait pas être la seule application touchée : de nombreux émulateurs reposent sur des solutions qui passent par de la compilation à la volée. Ce n'est pour autant pas systématique, ni totalement bloquant : il est toujours possible de passer par un interpréteur classique, même pour Dolphin. Le problème principal, c'est que les performances sont beaucoup plus faibles, et si nous devons rester dans le cas des consoles Nintendo, il est envisageable d'émuler le (presque) 6502 à 1,66 MHz de la NES ou le (presque) 65C816 à 3,5 MHz de la Super NES, mais pas réellement le PowerPC G3 à 486 MHz ou 729 MHz du GameCube et de la Wii, tout du moins pas avec des performances décentes. Mais compte tenu des implications liées à la sécurité, Apple ne devrait pas lâcher la bride sur ce point.

Ouverture de l’iPhone en Europe : Apple dévoile sous la contrainte un plan historique

Ouverture de l’iPhone en Europe : Apple dévoile sous la contrainte un plan historique


  1. Si vous aimez les explications compliquées, le blog des développeurs est une mine d'or.  ↩︎

  2. GameCube et Wii partagent le même CPU, un PowerPC G3. Oui, le même que celui des iMac.  ↩︎

  3. Ce n'est pas une science exacte : certains titres fonctionnent mal avec l'émulation JIT.  ↩︎

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

Sortie de veille : après le départ du n°2 d’Apple, Tim Cook est-il le prochain sur la liste ?

12/07/2025 à 10:44

• 43


Apple serait en pole position pour diffuser la F1 aux États-Unis avec une offre à 150 millions de dollars 🆕

12/07/2025 à 07:56

• 32


Prime Day : les derniers bons plans pour équiper sa maison en domotique

11/07/2025 à 20:50

• 14


La Chine s'attaque aux batteries externes de mauvaise qualité, ce qui cause des remous chez les fabricants

11/07/2025 à 20:15

• 36


Les produits Wemo de Belkin sont poussés à la retraite sauf s'ils utilisent HomeKit

11/07/2025 à 19:30

• 8


Prime Day : découvrez les joies de DockKit avec de belles promotions

11/07/2025 à 16:45

• 0


Orange fait des essais de 5G dans la bande des 6 GHz, et les résultats sont intéressants

11/07/2025 à 15:37

• 6


Prime Day : des traqueurs Localiser dès 12 €, des étuis à lunettes, des porte-passeports, des cartes pour le portefeuille, les meilleurs accessoires en promotion

11/07/2025 à 15:10

• 11


Nintendo peut bannir une Switch 2 à cause d'un jeu acheté d'occasion (mais ce n'est pas toujours définitif)

11/07/2025 à 11:31

• 56


France Identité : des correctifs disponibles pour la carte grise et les grands iPhone

11/07/2025 à 10:31

• 15


iPad, MacBook Pro/Air, iPhone 17e : tous les nouveaux produits attendus d’ici le printemps 2026

11/07/2025 à 06:46

• 22


Notre top 5 des accessoires à avoir pendant les vacances (et en promo) !

10/07/2025 à 21:40

• 26


Apple échappe à un procès pour entente illégale sur Apple Pay aux USA

10/07/2025 à 21:15

• 10


Test de la sonnette vidéo G410 d’Aqara : toujours sur piles, mais avec un meilleur angle

10/07/2025 à 20:30

• 7


Une nouvelle fuite présente la possible maquette de l’iPhone 17 Pro noir

10/07/2025 à 20:00

• 81


Samsung aurait lancé la production de l’écran du futur iPhone pliable

10/07/2025 à 14:41

• 10