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.  ↩︎

Soutenez MacGeneration sur Tipeee

MacGeneration a besoin de vous

Vous pouvez nous aider en vous abonnant ou en nous laissant un pourboire

Soutenez MacGeneration sur Tipeee

Utilisez-vous les profils de tvOS sur votre Apple TV ?

10:00

• 52


MacGeneration : le point sur la santé économique du site

20/12/2025 à 16:07

• 135


Quel pourrait être l'impact de la RAMpocalypse sur Apple ?

20/12/2025 à 16:07

• 39


Nos meilleures idées de cadeaux high-tech à moins de 100 €

19/12/2025 à 23:42

• 28


Apple arrête de signer iOS 26.1

19/12/2025 à 22:00

• 19


iPhone Fold : une fuite chez les accessoiristes donne une idée des dimensions, et le format pourrait être surprenant

19/12/2025 à 20:30

• 70


Dans les aéroports, les AirTags font chuter drastiquement le nombre de bagages définitivement perdus

19/12/2025 à 16:49

• 22


Apple Pay ajouté à HelloAsso et Yurplan pour régler plus facilement les assos et les événements

19/12/2025 à 15:34

• 3


Samsung devance Apple en annonçant la première puce mobile gravée à 2 nm

19/12/2025 à 14:54

• 13


Fortnite ne reviendra finalement pas sur l’iPhone au Japon, malgré les promesses de Tim Sweeney

19/12/2025 à 11:09

• 31


Promo : un iPhone 17 Pro à - 11 % et livré juste à temps pour Noël

19/12/2025 à 09:56

• 3


Santé : Bevel fait sa révolution et devient (presque) gratuit

19/12/2025 à 08:36

• 26


Un tout nouveau Raycast prévu pour 2026

19/12/2025 à 07:45

• 14


Apple Plans : fin de voyage pour les visites guidées Flyover

19/12/2025 à 06:51

• 8


L’iPhone Air se vend mal, ses coques aussi : Apple brade le bumper et la coque Beats sur Amazon

18/12/2025 à 23:55

• 52


Ce VPN taillé pour Mac qui offre 500 Go de stockage cloud fait le plein de promos avant Noël 📍

18/12/2025 à 23:48

• 0