REFERÊNCIA DE COMANDOS

Comandos do Relinker explicados.

O que as flags realmente fazem, como módulos de entrada diferem de bibliotecas do host e quais diagnósticos ajudam quando um jogo não inicia.

Sintaxe básica

relinker [options] <input.elf> <output>

O ELF Linux é o formato de saída padrão mesmo que o nome do arquivo termine em .exe. Para gerar Windows PE, use --windows. A entrada deve ser um ELF limpo com módulos ELF empacotados em diretórios irmãos suportados.

# alvo Linux
./relinker source/input.elf app.elf

# alvo Windows (exemplo com executável renomeado)
.\relinker.exe --windows source\input.elf app.exe

Opções relevantes

OpçãoFinalidade
--windowsGera um executável Windows PE.
--to-intelConverte instruções específicas da AMD suportadas para hosts Intel; não é universalmente garantido.
--windows-diagnosticsDiagnósticos de dependência na inicialização; requer saída Windows.
--registryEmite metadados de importação em um arquivo adjacente .registry.json.
--rpath <path>Altera o local de busca das bibliotecas de runtime do host, de $ORIGIN/libs (padrão) para outro.
--autorunInicia a saída gerada após a conversão; requer um runtime correspondente preparado.
unused-filter=0|1|2Controla a filtragem de importações. A sintaxe é sem --; padrão 0.

Flags obsoletas como --skip-sce-module e --lazy-binding são apenas para depuração e podem produzir saída severamente instável. A ferramenta upstream não define um switch padrão --help; invocá-la sem argumentos imprime a sintaxe e sai com erro.

Diagnostique importações ausentes com a ferramenta de auditoria

O repositório upstream inclui um script Python 3 para identificar funções importadas que estão implementadas, stub, ausentes ou fornecidas por módulos empacotados. A auditoria é uma verificação estática de dependências, não prova de gameplay.

relinker --registry source/input.elf app.elf
python3 tools/import_audit.py app.registry.json \
  --libs build/core/libs/libs \
  --modules source/sce_module

O script está no repositório upstream ↗ e requer acesso às bibliotecas de host compiladas. Uma auditoria estática aprovada não consegue verificar renderização, entrada, áudio ou salvamentos.

Controles e mapeamento de teclado

Controles reconhecidos pelo SDL mapeiam para entradas padrão no estilo PlayStation. Para personalizar o teclado, crie anyps5-input.ini ao lado do executável convertido. Exemplo:

Cross = KEY:F
Cross = KEY:Space
LeftStickLeft = KEY:J
LeftStickRight = KEY:L
LeftStickUp = KEY:I
LeftStickDown = KEY:K
Square = MOUSE:Left

A ausência do arquivo de configuração não é problema (valem os vínculos internos). Uma linha inválida pode interromper a inicialização da entrada. O clique do touchpad é encaminhado para controles compatíveis, mas as coordenadas dos dedos não são implementadas. Detalhes completos: referência oficial de mapeamento de entrada ↗ ↗.

Fontes de sistema e escolha de GPU

Jogos que dependem das fontes de sistema do PS5 podem precisar de um diretório local anyps5-fonts/ com substitutas devidamente licenciadas. O documento upstream lista as fontes Noto aceitas. O AnyPS5 escolhe o primeiro dispositivo Vulkan 1.1 utilizável e prefere uma GPU discreta; ANYPS5_GPU pode selecionar outro dispositivo detectado pelo nome. Nenhum recurso garante compatibilidade com jogos.

Códigos de saída do Relinker

0 significa conversão bem-sucedida; 1 significa argumentos inválidos; 2 significa falha na conversão, com detalhes impressos em stderr. --autorun pode, em vez disso, retornar o status de saída da aplicação iniciada.

Fonte oficial: docs/user/USAGE.md ↗ ↗.