Compatibilidade e limitações
As correções que o núcleo aplica sozinho por jogo, as notas de compatibilidade do projeto, como avaliar um jogo no seu aparelho e o que ainda limita o Xendroid+.
O código mudou depois da revisão
Arquivos do app citados nesta página mudaram depois da última revisão: emulator-core/src/main/cpp/xenia/src/xenia/game_quirks.cc. Confira na versão que você usa; a página pode estar desatualizada nesses pontos.
O Xendroid+ não tem uma lista pública de compatibilidade. O que roda e como roda depende do jogo, do aparelho, do driver da GPU e da versão do app. Esta página reúne o que o projeto documenta.
Correções automáticas por jogo #
O núcleo traz 80 ajustes para 11 jogos (game_quirks.cc). Eles entram quando o título inicia, com a prioridade de um ajuste do próprio jogo: acima da config global e abaixo do arquivo config/<TITLE ID>.config.toml. Você não precisa configurar nada, e um valor posto por você no arquivo do jogo vence a correção. O log do emulador registra cada uma como Game quirk for <TITLE ID>: <cvar>.
| Title ID | Jogo | Ajustes | Cvars |
|---|---|---|---|
544307D5 | Ninja Gaiden II | 1 | inline_gprlr_saverest_parts |
4D5307D1 | Project Gotham Racing 3 | 1 | spirv_multiply_zero_test_on_bits |
494707D4 | Test Drive Unlimited | 2 | vulkan_in_pass_resolve, network_enabled |
49470804 | Test Drive Unlimited 2 | 2 | vulkan_in_pass_resolve, network_enabled |
4E4D083A | Dark Souls | 1 | spirv_multiply_zero_test_on_bits |
45410961 | Need for Speed Most Wanted (2012) | 8 | spirv_multiply_zero_test_on_bits, memexport_enable, readback_resolve, vulkan_depth_4x_as_1x e mais 4 |
4D5309C9 | Forza Horizon | 22 | spirv_texture_sign_branch, spirv_fast_precision_rounding, vulkan_texture_load_to_image, vulkan_direct_host_resolve_to_texture e mais 18 |
4D530AA4 | Forza Horizon 2 | 19 | spirv_texture_sign_specialization, spirv_texture_sign_branch, spirv_fast_precision_rounding, skip_overwritten_transfers e mais 15 |
4D5308AB | Gears of War 3 | 2 | vulkan_depth_4x_as_1x, vulkan_samples_as_pixels_simple_ps |
4541098E | Crysis 3 | 16 | vulkan_depth_4x_as_1x, vulkan_samples_as_pixels_simple_ps, accurate_resolve_number_formats, resolve_copy_dest_number_packing e mais 12 |
53510823 | Rise of the Tomb Raider | 6 | accurate_resolve_number_formats, resolve_copy_dest_number_packing, texture_integer_num_format, vulkan_depth_clamp_without_depth e mais 2 |
A maioria corrige travamentos e falhas de desenho no driver Turnip ou economiza tempo de GPU ou de CPU; os comentários de cada entrada, em game_quirks.cc, trazem o motivo e a medida feita pelo autor. Os nomes dos jogos vêm dos arquivos de patch do repositório ou, quando não há patch, da base de títulos do Xenia que acompanha o núcleo, usada aqui só para o nome.
Notas do projeto por jogo #
O GAME_COMPAT.md documenta dois jogos com mais detalhe:
- Ninja Gaiden II (
544307D5): jogável com dois ajustes no arquivo do jogo,clear_memory_page_state = true(traz de volta os modelos dos personagens) edepth_float24_convert_in_pixel_shader = true(evita travamentos da GPU no Adreno), ambos na seção[GPU]. - Fable II (
4D5307F1): roda sem ajuste especial desde junho de 2026, com problemas conhecidos (chão transparente em alguns lugares, falhas ocasionais no carregamento e cortes de áudio).
O mesmo documento traz notas para drivers e aparelhos: vulkan_mid_frame_submission_draws em alguns Adreno 830, depth_float24_convert_in_pixel_shader global em drivers que falham no caminho float32 e vulkan_dynamic_constant_buffers desligado nos drivers da Qualcomm.
Partes desatualizadas do GAME_COMPAT.md
- O caminho certo do arquivo de cada jogo é
Android/data/xendroid.compose.fork/files/compose/config/<TITLE ID>.config.toml; o documento cita outro pacote e outra pasta. - O patch do Fable II que o documento diz estar no repositório (
patches/4D5307F1.patch.toml) não existe; o catálogo tem outros patches para esse jogo. - O padrão de
vulkan_mid_frame_submission_drawshoje é 1300, não 0.
Avaliar um jogo no seu aparelho #
Na ficha → menu ⋮ → Avaliar compatibilidade, escolha como o jogo rodou: não abre, abre sem imagem, só abertura ou menus, no jogo com problemas ou jogável. A avaliação fica só no seu aparelho, com a versão do app, a GPU, o driver e a data, sem rede. Ela entra no backup dos ajustes.
Limitações conhecidas #
- Experimental. Alguns jogos rodam bem, outros ainda têm falhas ou não iniciam.
- Drivers personalizados só em Adreno com KGSL. Nas outras GPUs, só o driver do sistema.
- Geração de quadros é experimental, começa desligada a cada abertura e o LSFG precisa do seu
Lossless.dll. Cadência e latência no aparelho ainda não foram validadas. - Celular como controle é experimental e só funciona na rede local.
- Android 10 só abre jogos vindos de um frontend.
- Ajustes da comunidade e o catálogo de compatibilidade existem no código, mas ficam desligados nas versões publicadas: nenhuma tem servidor configurado.
- Perfis recomendados por jogo: a lista que vem no app está vazia.
- Interface nova (biblioteca, ficha, menu em jogo e as demais telas): o documento do redesenho mantém uma lista de itens ainda por conferir num aparelho, por lote. Veja docs/ui-redesign/app.md.
Propostas fora do app #
Do protótipo da interface, três propostas ficaram de fora, sem data prevista:
- um mapa de teclas para cada controle;
- achar o jogo na rede e ler um QR code no celular como controle;
- procurar o arquivo do disco quando a troca de disco não acha nenhum (hoje, Cancelar é a saída, e o disco aparece depois de colocado numa pasta de jogos).
Ajudar com relatos #
O repositório tem um modelo de issue para relatos de desempenho, que pede CPU, GPU, fabricante, versão do Android, jogo e notas. Inclua também a versão do app (em Sobre), o driver e o Title ID, e anexe o diagnóstico da sessão. A conversa da comunidade fica no Discord.