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

Air France va diffuser les contenus Canal+ sur tous ses vols long-courriers à partir du premier mai

15:30

• 6


L’AI Pin revient d’entre les morts avec le projet OpenPin

14:23

• 7


Vous pouvez récupérer le pin’s créé pour les dix ans de l’Apple Watch en Apple Store 🆕

14:21

• 55


De nouvelles maquettes de l’iPhone 17 « Air » dévoilent sa finesse

13:30

• 35


Apple ne signe plus iOS 18.4, restauration obligatoire en 18.4.1

12:20

• 1


Aqara présente quelques nouveautés, dont un thermostat sans fil et un kit de surveillance complet

11:30

• 9


Switch 2 : Nintendo annonce 2,2 millions de précommandes au Japon et se prépare à une pénurie

10:30

• 20


Tesla aurait de nouveau perdu de l’argent au premier trimestre 2025 sans les crédits carbone

08:16

• 114


Remind Me Faster ajoute rapidement des tâches à Rappels en français

08:15

• 18


Perplexity met une méchante claque à Apple en montrant ce qu’ils pourraient faire de Siri

23/04/2025 à 21:00

• 98


Les TV LG 2022 et ultérieures transformées en Xbox

23/04/2025 à 20:00

• 33


Free offre la carte SIM aux abonnés Freebox pour le forfait 5G, au lieu de faire payer 10 €

23/04/2025 à 18:27

• 25


DMA : Bruxelles inflige une amende de 500 millions à Apple et de 200 millions à Meta 🆕

23/04/2025 à 16:27

• 130


Google Fi fête ses 10 ans et montre que la France a de l'avance dans le domaine de la téléphonie mobile

23/04/2025 à 15:38

• 32


L'iPhone 17 Air fait vraiment fin face aux autres modèles

23/04/2025 à 10:55

• 75


Le Napoléon de Ridley Scott est disponible sur Apple TV+, bien après les autres pays du monde

23/04/2025 à 10:30

• 40