No momento, você está visualizando iCube roda GameCube e Wii sem JIT no iPhone e iPad

iCube roda GameCube e Wii sem JIT no iPhone e iPad

  • Autor do post:
  • Última modificação do post:25 de setembro de 2026
  • Categoria do post:Notícias
  • Tempo de leitura:12 minutos de leitura

O iCube roda GameCube e Wii sem JIT em iPhone e iPad com um avanço de desempenho que chamou atenção na emulação para dispositivos Apple. Em 19 de setembro de 2026, o desenvolvedor do projeto demonstrou jogos alcançando até 60 FPS no modo JIT-less e afirmou obter esse desempenho em vários títulos mesmo com resolução interna elevada para 2×.

A novidade ganhou ainda mais relevância porque não ficou restrita a uma demonstração privada. O iCube mantém uma página pública de TestFlight, oferece builds para sideload e continua recebendo versões experimentais pelo GitHub. Além disso, usuários começaram a publicar resultados próprios com a nova implementação.

Um relato publicado em 25 de setembro no r/EmulationOniOS, por exemplo, registra Need for Speed: Most Wanted a 60 FPS e resolução interna 4× em um iPhone 17 Pro sem JIT. Esse número representa somente aquela combinação de aparelho, jogo e configurações; portanto, não deve ser tratado como desempenho garantido em todos os dispositivos.

Interface do iCube executando conteúdo de GameCube em um iPhone com controles virtuais

O iCube possui interface própria para iPhone e pode executar seu Cached Interpreter sem depender de JIT. Esta captura oficial demonstra a interface de emulação e não representa um benchmark dos jogos citados na matéria. Imagem: iCube/Provenance.

iCube chega a 60 FPS sem JIT em jogos de GameCube e Wii

O salto ganhou exposição pública depois que a equipe do Provenance apresentou a nova implementação em 19 de setembro.

A demonstração mostrou títulos como Super Smash Bros. Melee, The Legend of Zelda: The Wind Waker e F-Zero GX. Segundo a declaração do desenvolvedor reproduzida pelo Nintendo Wire, o iCube passou a executar GameCube e Wii sem JIT a 60 FPS em muitos jogos, inclusive com upscaling de 2× em vários casos.

Esse resultado não significa que todo o catálogo de GameCube e Wii agora funcione a 60 FPS.

Alguns jogos possuem taxa original de 30 FPS. Outros exigem muito mais processamento, enquanto determinados recursos do Wii continuam particularmente pesados para o modo sem recompilação dinâmica.

Além disso, o próprio guia do iCube reconhece que títulos exigentes podem continuar abaixo da velocidade nativa usando somente o interpretador.

Portanto, a afirmação correta é que o novo caminho JIT-less já consegue atingir velocidade completa em uma quantidade significativa de software, inclusive chegando a 60 FPS em casos demonstrados.

Usuário registra Need for Speed: Most Wanted a 60 FPS em 4× no iPhone 17 Pro

Os testes da comunidade começaram a fornecer exemplos fora da demonstração do desenvolvedor.

Em uma discussão recente no r/EmulationOniOS, um usuário afirmou ter testado Need for Speed: Most Wanted no iPhone 17 Pro.

Segundo o relato, o jogo atingiu 60 FPS com resolução interna configurada em 4×, sem JIT.

Esse resultado é especialmente interessante porque aumenta consideravelmente a carga gráfica em relação à resolução nativa do GameCube.

Entretanto, trata-se de um teste de usuário. Não existe, nessa publicação, uma metodologia controlada com frametimes, consumo de energia, temperatura, duração da sessão ou comparação entre diferentes aparelhos.

Por isso, o resultado serve como evidência complementar de que o novo modo JIT-less pode entregar desempenho alto em hardware recente, mas não substitui benchmarks reproduzíveis.

Por que rodar GameCube sem JIT no iPhone é tão difícil?

GameCube e Wii utilizam código de máquina PowerPC. Já os iPhones e iPads atuais utilizam processadores ARM.

O emulador precisa traduzir as instruções do console antes que o dispositivo Apple consiga executá-las.

Um recompilador JIT normalmente traduz blocos inteiros de código PowerPC para instruções ARM e guarda o resultado para reutilização. Essa abordagem reduz bastante o custo de CPU.

Por outro lado, o interpretador precisa analisar e executar as instruções convidadas de outra maneira, com um custo maior.

O problema no iOS está justamente na memória executável. O sistema impõe restrições rígidas a aplicativos que escrevem código em memória e depois tentam executá-lo.

Consequentemente, emuladores distribuídos pelo caminho normal da App Store não podem simplesmente utilizar o mesmo JIT disponível no Dolphin para outras plataformas.

O iCube ataca esse problema por dois caminhos diferentes.

TestFlight usa JIT-less, enquanto sideload pode ativar JIT

A distinção entre essas duas formas de execução é essencial.

Característica TestFlight / JIT-less Sideload + JIT
Execução da CPU Cached Interpreter Recompilador JIT
Debugger Não precisa Necessário na ativação
StikDebug Não Pode ser usado
Desempenho Varia conforme jogo e hardware Várias vezes mais rápido em CPU, segundo o projeto

A versão TestFlight não possui JIT. A documentação oficial afirma que essa compilação sempre utiliza o Cached Interpreter.

O mesmo se aplicaria a uma versão distribuída pela App Store nas condições atuais, já que a Apple não permite o entitlement necessário para o debugger nesse modelo de distribuição.

Já as builds instaladas por sideload podem utilizar o JIT quando o usuário fornece o ambiente necessário.

Assim, os 60 FPS demonstrados no modo JIT-less são interessantes justamente porque não dependem desse processo adicional.

Cached Interpreter recebeu otimizações específicas para hardware Apple

O site oficial afirma que a equipe dedicou bastante trabalho ao caminho sem JIT.

O iCube não depende apenas do código do Dolphin em sua forma padrão. O projeto acrescenta otimizações voltadas às plataformas Apple e mantém uma interface própria para iPhone, iPad e Apple TV.

Entre os recursos documentados está o Auto VBI Skip.

Esse modo pula automaticamente determinados intervalos verticais para melhorar o frame pacing e elevar a taxa de quadros em alguns jogos.

Além disso, o projeto mantém uma biblioteca com mais de mil shaders Metal nativos voltados a desempenho e qualidade visual nas GPUs da Apple.

Essas otimizações não transformam o interpretador em JIT. Porém, elas ajudam a reduzir parte do custo que tradicionalmente tornava a execução sem recompilação dinâmica pouco prática para consoles dessa geração.

Biblioteca do iCube em um iPad mostrando títulos organizados entre GameCube Wii e WiiWare

A interface do iCube foi construída especificamente para dispositivos Apple e organiza jogos de GameCube, Wii e WiiWare em uma biblioteca própria. Imagem oficial: iCube/Provenance.

iCube também recuperou o JIT no iOS 26

Paralelamente ao avanço JIT-less, a equipe resolveu outro problema importante.

O iOS 26 introduziu o Trusted Execution Monitor, ou TXM. Com essa proteção, métodos antigos de ativação de JIT deixaram de funcionar da mesma maneira.

Segundo a documentação do iCube, o aplicativo ainda conseguia reservar memória executável, mas o sistema encerrava o processo quando ele tentava executar código recém-escrito.

A equipe encontrou um caminho através do próprio mecanismo de depuração.

Quando o StikDebug ou outro debugger compatível está conectado, o iCube pede que ele toque cada página da região destinada ao código JIT.

O projeto reserva aproximadamente 288 MB para essa área.

Depois que o debugger autoriza as páginas, ele pode se desconectar. A região permanece utilizável enquanto aquela instância do aplicativo continuar aberta.

Ao fechar completamente o iCube e iniciá-lo novamente, o usuário precisa repetir a autorização.

StikDebug permite ativar o recompilador sem computador a cada sessão

Para iPhone e iPad, o projeto recomenda o StikDebug.

O processo começa dentro das configurações do próprio iCube. Quando o aplicativo detecta o StikDebug, ele pode apresentar a opção para ativar JIT.

Depois disso, o debugger anexa ao processo, autoriza a região necessária e relança o iCube.

O usuário então inicia o jogo normalmente.

A documentação também mostra indicadores para confirmar o funcionamento, incluindo o estado do JIT, do debugger e da região TXM.

Quando tudo funciona corretamente, a região aparece como autorizada mesmo depois que o debugger se desconecta.

Por outro lado, se a autorização falhar, o iCube não precisa travar. Ele pode voltar automaticamente ao Cached Interpreter.

Tela de configurações do iCube em um iPad com opções de desempenho gráficos controles e debug

O iCube possui áreas próprias para Performance Tuning, gráficos e depuração. O JIT nas builds sideloaded utiliza ferramentas de debug, enquanto o TestFlight permanece JIT-less. Imagem oficial: iCube/Provenance.

TestFlight público permite testar o avanço sem ativar JIT

O projeto mantém uma página pública para a beta do TestFlight.

Além disso, a discussão atual no r/EmulationOniOS mostra usuários tentando entrar na beta e pelo menos um participante confirmou ter conseguido uma vaga durante o período acompanhado.

A disponibilidade de slots pode mudar, já que o TestFlight possui limites e a equipe pode alterar o número de testadores.

Mesmo assim, o ponto técnico permanece: a versão TestFlight permite experimentar o novo caminho sem JIT.

O usuário não precisa configurar StikDebug para esse modo, porque a build simplesmente não utiliza o recompilador.

Isso torna o TestFlight uma forma especialmente interessante de avaliar até onde o Cached Interpreter consegue chegar em cada aparelho.

Builds Alpha também estão disponíveis pelo GitHub

Quem prefere sideload também pode utilizar as builds publicadas pelo projeto.

A página oficial oferece versões estáveis e acesso à linha Alpha/CI no GitHub.

Essas versões de desenvolvimento podem incluir mudanças mais recentes, mas também carregam maior risco de regressões e bugs.

O repositório continuou recebendo atividade depois da demonstração de 19 de setembro. Uma das builds Alpha publicadas em 22 de setembro já inclui novos trabalhos relacionados a medição e otimização do caminho JIT-less.

Portanto, os resultados ainda podem mudar rapidamente de uma compilação para outra.

Apple TV também utiliza o caminho sem JIT

O iCube também possui suporte ao tvOS.

Entretanto, o método com StikDebug não está disponível no Apple TV. Segundo o guia oficial, o sistema não possui o mesmo caminho de debugger local utilizado no iPhone e no iPad.

Assim, o Apple TV executa o Cached Interpreter.

Isso torna as melhorias do modo JIT-less especialmente importantes nessa plataforma, porque elas beneficiam diretamente um ambiente no qual o recompilador não representa a rota normal de utilização.

iCube ainda não está disponível na App Store

O avanço sem JIT pode gerar uma dúvida natural: se o emulador funciona sem recompilação dinâmica, ele já pode ser baixado normalmente pela App Store?

A resposta atual é não.

O próprio site oficial informa que o iCube não está disponível na App Store.

Atualmente, os caminhos oferecidos incluem TestFlight, SideStore, AltStore, builds do GitHub e outras formas de sideload.

A execução sem JIT remove uma barreira técnica importante para uma distribuição convencional. Entretanto, isso não equivale a uma aprovação da Apple ou a uma confirmação de lançamento na loja.

Uma eventual versão da App Store ainda depende do processo de distribuição, revisão e decisões da própria equipe.

JIT não funcionaria em uma eventual versão da App Store

Mesmo que o iCube chegue à loja, a documentação atual deixa clara uma limitação.

As builds distribuídas pela App Store não podem utilizar o caminho de JIT que depende do debugger e dos entitlements associados.

O TestFlight segue a mesma regra porque faz parte da infraestrutura de distribuição da App Store.

Portanto, o desempenho sem JIT não é apenas uma curiosidade.

Ele representa justamente o caminho necessário para que GameCube e Wii continuem executáveis em uma build que não pode contar com recompilação dinâmica.

iCube não é um novo emulador escrito do zero

A arquitetura do projeto também merece esclarecimento.

O iCube é baseado no Dolphin, o emulador de GameCube e Wii utilizado há anos em Windows, Linux, macOS e Android.

O repositório do projeto deriva do ecossistema DolphiniOS, que adaptou o Dolphin para dispositivos móveis da Apple.

A equipe do Provenance mantém essa base e acrescenta seu próprio trabalho para iOS, iPadOS e tvOS.

Entre as diferenças estão a interface SwiftUI, otimizações de desempenho, shaders Metal, sistemas de controles, gerenciamento de biblioteca e adaptações específicas às limitações de execução da Apple.

Assim, o mérito técnico do projeto está na adaptação e otimização do núcleo Dolphin para essas plataformas, e não na criação de um emulador completamente independente.

Quais aparelhos são recomendados?

O site oficial destaca que aparelhos mais recentes oferecem uma margem consideravelmente maior no modo JIT-less.

A documentação recomenda hardware como iPhone 16 ou posterior para uma experiência mais favorável sem JIT.

O guia de desempenho também observa que um iPhone 15 Pro ou mais recente possui mais folga que aparelhos antigos.

No entanto, isso não cria uma linha rígida de compatibilidade jogo a jogo.

Um título leve pode funcionar bem em hardware mais antigo, enquanto outro pode continuar exigindo JIT até mesmo em um aparelho recente.

Além disso, resolução interna, anti-aliasing, temperatura do dispositivo e recursos gráficos influenciam bastante os resultados.

60 FPS sem JIT não significa que o JIT deixou de ser útil

O próprio projeto faz essa distinção.

A equipe descreve o recompilador como várias vezes mais rápido que o interpretador no trabalho de CPU.

Por isso, jogos exigentes — especialmente alguns títulos de Wii — ainda podem precisar do JIT para alcançar velocidade completa.

O avanço recente não torna as duas rotas equivalentes.

Em vez disso, ele eleva bastante o piso de desempenho do modo que funciona sem debugger.

Isso significa que jogos antes pouco práticos no Cached Interpreter podem se tornar jogáveis, enquanto o JIT continua oferecendo mais margem quando o usuário aceita realizar o sideload e a ativação necessária.

Por que esse avanço é importante para a emulação no iOS?

Durante anos, a discussão sobre GameCube e Wii no iPhone esteve diretamente ligada à disponibilidade de JIT.

Os processadores da Apple possuem bastante desempenho bruto, mas as restrições de memória executável impediam que uma build convencional utilizasse livremente a mesma estratégia do Dolphin em outras plataformas.

O iCube não eliminou essas restrições.

Em vez disso, a equipe melhorou o caminho que funciona dentro delas.

A demonstração do desenvolvedor, os testes atuais da comunidade e a disponibilidade pelo TestFlight mostram que o Cached Interpreter já alcança resultados que anteriormente pareciam pouco realistas para esse tipo de emulação no iOS.

Ao mesmo tempo, o projeto conseguiu recuperar o JIT no iOS 26 através do Trusted Execution Monitor para usuários que preferem a rota sideloaded.

Portanto, o iCube agora possui duas estratégias complementares: um caminho JIT-less muito mais rápido para utilização simples e um recompilador JIT para quem busca o máximo desempenho e aceita configurar o debugger.

Os próximos testes precisarão mostrar até onde o modo sem JIT consegue manter velocidade completa em jogos pesados, quais aparelhos oferecem resultados consistentes e quanto o aumento de resolução afeta consumo, temperatura e autonomia.

Fontes: iCube — site oficial, downloads e recursos | iCube — documentação oficial sobre JIT e desempenho | iCube — código-fonte no GitHub | Nintendo Wire — demonstração JIT-less publicada em setembro | r/EmulationOniOS — testes e discussão atuais da comunidade.