Recalbox: A Central de Jogos Nostálgica

Recalbox: A Central de Jogos Nostálgica

O Recalbox é uma tecnologia com o foco em emulação e facilidade. O intuito é que o sistema seja um produto final similar aos videogames da atualidade, onde a transferência dos jogos é suficiente para um sistema funcional.
Neste artigo, veremos como uma distribuição Linux pode ser polida e especializada para cumprir bem um objetivo: Matar as saudades dos jogos antigos.

Introdução: O que é?

Recalbox é o sistema operacional baseado em Linux, pronto para ser instalado em diversas plataformas. Atualmente ele suporta as plataformas PC(32 e 64 bits), Raspberry PI(0, 0w, 1, 2 e 3) e Odroid(C2 e XU4), mas outras placas terão suporte segundo postagens dos desenvolvedores no fórum oficial.

Os principais softwares que compõem este sistema são:

  • Kernel Linux. A versão pode variar conforme os drivers disponibilizados pelo fabricante da placa.
  • Interface gráfica EmulationStation: Esta interface no estilo carrossel, faz a paginação entre diferentes videogames, menus, grupos de jogos e permite as mais diversas configurações como controladores de jogo, volume do som e saída de áudio, redes wifi, scrapping(download de capas e informações de jogos), etc.
  • Servidor Samba, para prover o compartilhamento das pastas de jogos, saves e bios.
  • Libretro. É uma API de criação e configuração de Emuladores. Trocando em miúdos, é um grande projeto que transforma emuladores conhecidos em bibliotecas(núcleos – cores), ficando transparente para o usuário que software está emulando qual videogame. Desta forma, configurações de controles, áudio e vídeo precisam ser feitas apenas uma vez e são aplicadas a todos os emuladores.
  • Emuladores fora da libretro como o Dosbox(jogos de DOS), ScummVM+ResidualVM(jogos da LucasArts como Grim Fandango) e prboom(jogos baseados no Doom) para emular sistemas adicionais
  • Recalbox WebManager 2.0 é  uma ferramenta web 1001 utilidades que serve para auxiliar na configuração do sistema com funcionalidades como: Monitor de recursos, controlador de jogo e teclado virtual, configurador de áudio, verificador de bios de videogames, hostname, timezone, shaders, editor de capas de jogo, etc.
  • Diversas pequenas funcionalidades com o foco na usabilidade como atalhos já configurados para salvar o estado do jogo, capacidade de rebobinar jogos, atualizações automáticas e controles que não precisam ser configurados.
  • Integração com o RetroAchievements.

Por conta do foco do projeto, o Recalbox não é uma distribuição Linux clássica ou um software que roda no topo de uma distribuição como o Retropie, que é baseado no Raspbian. Isto implica em limitações, e as mais notáveis são:

  • A distribuição é disponibilizada no formato imagem que é diretamente gravada no dispositivo de armazenamento a ser usado(cartão SD ou Pendrive). Após gravar, basta inserir na placa que você possui, e ligar. Na versão PC do Recalbox, este processo é feito num pendrive, funcionando como uma distribuição “Live USB”.
  • Não possui sistema de gerenciamento de pacotes para instalar ou atualizar softwares individualmente. Como o Recalbox é gerado através de buildroot, todo o software necessário para a experiência de um sistema de videogames é embutido e já pré-configurado.
  • Usuário não faz o particionamento dos discos da forma que desejar. O sistema já é otimizado para não desperdiçar espaço em disco e isolar dados do sistema das ROMs.

Instalação

O processo de instalação é bastante simples. Basta acessar o site do Recalbox, clicar no botão “Download versão AA.MM.DD” com a versão disponível na data em questão (falaremos sobre isto mais a frente), usar um software para gravar a imagem no dispositivo de armazenamento, e colocar este dispositivo na placa que você possui.
Na data da publicação deste artigo, a última versão disponível é a 18.03.16:

Site do Recalbox

Ao clicar neste botão, uma tabela aparecerá com as versões existentes e os links de download para as imagens. É bastante intuitivo, e basta você selecionar o sistema desejado com base na placa que você possui em casa. Utilizaremos como exemplo aqui o Raspberry Pi 3.

Clique no link correspondente a imagem do rpi3. Finalizado o download, clique também no link “(sha1)” para baixar o checksum que utilizaremos para garantir a integridade do download.
Utilize os seguintes comandos para verificar a imagem recém baixada:

cat recalbox.img.xz.sha1
cb1a9491268d4dcbccb4a12b74104b40b3ee2cd8 /work/output/images/recalbox/recalbox.img.xz
sha1sum recalbox.img.xz
cb1a9491268d4dcbccb4a12b74104b40b3ee2cd8 recalbox.img.xz

Caso haja divergência nos caracteres da primeira coluna, faça o download novamente pois o arquivo certamente está corrompido. Para verificar esta soma sha1 no Windows, veja a documentação oficial da Microsoft.
Para descompactar o arquivo em qualquer desktop Linux:

unxz recalbox.img.xz

Se você possui um desktop com Windows, o programa 7-Zip suportará a descompactação do formato .xz.
Para a gravação da imagem temos 2 opções. Escolha a que você preferir:

  • Utilizar o software Etcher, e gravar através de interface gráfica, selecionando o arquivo de imagem descompactado e o disco destino. Tal solução é suportada no Windows, Linux e macOS:
Figura 1 – Etcher software para gravar a img no SD Card.
  • Utilizar o bom e velho comando dd, com o usuário root:
dd if=recalbox.img of=/dev/mmcblk0 bs=40M; sync

Aqui, você deverá substituir o dispositivo /dev/mmcblk0 pelo equivalente no seu computador. Se você não tiver um notebook com leitor de cartões e estiver usando um conversor usb, este dispositivo provavelmente será /dev/sdb ou /dev/sdc dependendo da quantidade de discos que seu computador possuir.

Importante: Você deve SEMPRE referenciar um disco (/dev/sdc) e não uma partição (/dev/sdc1) ao gravar a imagem.

Finalizada a gravação da imagem, basta plugar no seu Raspberry e iniciar o sistema ligando na tomada.

Controles

O Recalbox por padrão suporta uma grande gama de controles, tanto nos seus drivers quanto em sua configuração. Caso você possua um controle USB que não foi reconhecido, ele carregará automaticamente a tela de configuração de controles, dando a você a possibilidade de configurá-lo. Siga as instruções na tela apertando o botão a ser configurado.

Pressione o botão desejado para aplicar a configuração

Como este sistema utiliza a libretro como provedor de emuladores, o controle utilizado como referência para configuração é o controle do Super Nintendo:

Na minha experiência, utilizei os seguintes controles e não precisei de quaisquer configurações:

  • Controle Playstation 3 Bluetooth Oficial
  • Controle Playstation 3 Bluetooth Shanwan
  • Controle Multilaser Playstation 2 com saída adicional USB
  • Controle Xbox 360 com fio
  • Controle Xbox 360 com receptor wireless
  • Controle Feir para Playstation 2 e 3 com receptor wireless

E no caso dos controles de Playstation 3, o pareamento foi fácil. Basta ligar o controle através do cabo em uma das portas USB do Raspberry PI 3, aguardar cerca de 10 segundos(o controle ficará vibrando durante o processo) e ao remover o cabo, o controle já estará pareado.
Fácil, não?

Atalhos básicos.

Obviamente que precisaremos de uma forma de entrar e sair dos jogos e enviar comandos para os videogames(reset, sair, salvar…). Esta é uma lista resumida dos atalhos existentes no Recalbox.
Na interface gráfica:

 A -> Selecionar
 B -> Voltar
 Y -> Favoritos
 X -> Executa o Kodi
 Start -> Menu
 Select -> Opções
 R -> Página seguinte
 L -> Página anterior
 Direcionais -> Navega dentro dos menus e sistemas

São diversas opções aqui, mas na interface gráfica você basicamente navega pelos videogames disponíveis, executa um jogo, adiciona este jogo aos favoritos, faz o “scrapping” do jogo(que é a ação de baixar a capa e os dados do jogo), configura volume do áudio. O importante aqui é navegar nos menus e ver as opções existentes no sistema. Dê uma olhada também no rodapé da interface gráfica, que há um gabarito das opções elencadas acima, e elas mudam dependendo do lugar onde a interface se encontra(seleção de videogames, seleção de jogos).

Interface do Recalbox, Mega Drive selecionado

Nota: Sistemas que não possuem jogos não aparecerão no menu principal do sistema.

Dentro do jogo:
Quando estamos executando um jogo, todas as ações vão necessitar de duas teclas. Uma delas sempre será a “Hotkey”, e ela depende do controle utilizado. A regra é simples:

  • Se você utilizar um controle com um botão “próprio” como o de Xbox 360 ou de Playstation 3, o botão Hotkey é este que possui o logo da empresa.
  • Se você utilizar um controle sem este botão adicional, o Hotkey será o botão Select.

Os comandos que podem ser enviados com um jogo rodando são:

 Hotkey + Y -> Salvar o jogo
 Hotkey + X -> Carregar o jogo
 Hotkey + Start -> Sair do jogo
 Hotkey + A -> Reiniciar o jogo
 Hotkey + B -> Menu do RetroArch (USE COM CUIDADO!!!)
 Hotkey + Cima -> Muda para o slot de salvamento anterior (Salvar Jogo)
 Hotkey + Baixo -> Muda para o slot de salvamento seguinte (Carregar Jogo)
 Hotkey + L1 -> Screenshot
 Hotkey + Direita -> Acelera o jogo
 Hotkey + Esquerda -> Retrocede o jogo (caso ativo)
 Hotkey + R2 -> Muda para o efeito de tela seguinte
 Hotkey + L2 -> Moda para o efeito de tela anterior

Lembre-se que o controle referência é o do Super Nintendo. O X acima é o “Triângulo” no controle do Playstation 3, bem como o Y é o “Quadrado”.

Figura 10 – Esquema de Controle Ps2/Ps3

ROMs e BIOS

ROMS são arquivos extraídos dos cartuchos de videogames, e que são lidos por emuladores para criar a experiência de jogo. Como há um problema legal, este artigo não pode prover links para obtenção das ROMS, e partimos do princípio de que todas utilizadas por você, leitor, foram obtidas através do processo de extração dela de um cartucho que você possui.
Para passar as ROMS para o seu Recalbox, basta acessar o compartilhamento \\recalbox\share do seu desktop Windows ou smb://recalbox/share dependendo do Linux que você está utilizando. O subdiretório “roms” é onde os jogos são armazenados. Dentro deste há um subdiretório para cada videogame suportado.

Para descobrir quais são os diretórios, use um pouco de dedução. “snes” é onde vão os jogos de Super Nintendo, “n64” é o Nintendo 64, “megadrive” é o Mega Drive, e assim por diante. Copie os jogos para seus diretórios e reinicie seu Raspberry(ou o dispositivo que você estiver usando) para que a lista de jogos seja gerada.
Alguns sistemas também precisam da BIOS do videogame que será emulado. Mais uma vez, reforçamos que o download destes arquivos da internet constitui pirataria, e você deve obter seus arquivos de BIOS através de processos que extraiam este arquivo de um videogame que você possui. Em todo o caso, a Wiki do Recalbox possui uma lista das BIOS conhecidas e quais são as “checksums” de um arquivo íntegro na página Add system bios(inglês).
A BIOS deve ser copiada para o diretório \\recalbox\share\bios\. Dentro deste compartilhamento, haverá uma estrutura de diretórios igual a das ROMS, onde cada pasta equivale a um videogame. Estando as ROMS e BIOS nos diretórios certos, é só jogar!

Nota: Alguns casos específicos como o vídeogame NEO GEO exigem que o arquivo de bios neogeo.zip seja armazenado no diretório de jogos.

Versões do Recalbox.

As versões do Recalbox até Setembro de 2017 obedeciam uma numeração estabelecida pelos desenvolvedores. Até o final da versão 4.0, houve um período onde o projeto estava bastante parado, explodindo de novo em lançamentos com a versão 4.1.
A chegada desta versão foi bastante comemorada pela comunidade, visto que algumas placas como o Raspberry Pi 3 possuiam suporte parcial ao usar o Recalbox do Rpi 2, deixando o sistema com áudio ruim, sem wifi, sem bluetooth e acabaram ganhando sua versão de Recalbox nativa corrigindo estes limitadores que deixavam a experiência de jogo ruim.
Para agilizar mais o processo de atualização e não deixar a tecnologia presa a um esquema de numeração definida, o time do Recalbox resolveu fazer este versionamento baaseado em ANO.MES.DIA em 2 caracters(AA.MM.DD). Exemplo: A versão 17.11.02 foi lançada em 02/11/2017. É similar a versão do Ubuntu que leva a máscara AA.MM.
Deste Setembro de 2017, data do lançamento da versão 4.1, já sairam as atualizações 17.11.02, 17.11.10, 17.12.01, 17.12.02, 18.02.09 e 18.03.16. Muita coisa mudou e foi atualizada com grandes saltos de versão. Por isto, recomendo sempre que você mantenha seu sistema na última versão através das atualizações automáticas.
Outro detalhe que reforça esta minha idéia são os relatos nos fóruns de utilizadores que não conseguem mais sair da versão 4.1 através das atualizações, tendo então que executar o processo de regravação do Recalbox e tendo que reconfigurar o sistema.

O que mais posso fazer no Recalbox?

Jogar e se divertir! Brincadeira. Diversas configurações podem ser feitas através dos Menus do Recalbox. Navegue nestes menus para aprender mais sobre o sistema.
Estes são alguns exemplos de coisas mais práticas:
Configurar a Wifi: Pressione “Start” -> Opções de Rede -> Ativar Wifi(ON) -> Nome da Rede(Digite o nome da rede no teclado virtual) -> Senha do Wifi(Digite a senha da rede no teclado virtual)
Ativar atualizações: Pressione “Start” -> Atualizações -> Verifique se está ON. Deixe o repositório “Stable” para só receber atualizações estáveis.
Volume da música e dispositivo de saída: “Start -> Opções de Áudio.

E o Retroachievements?

Ah, o Retroachievements é uma iniciativa da comunidade para dar sangue novo aos jogos antigos.
Basicamente é um sistema onde emuladores que suportam esta tecnologia consultam o site do retroachivements e fazem comparativos com ações já cadastradas. Exemplo: O jogo Contra do NES possui um Achievement chamado “Jungle Fever” que é ativado quando o jogador passa da primeira fase.
Alguém da comunidade com bastante conhecimento da ROM e de emuladores, mapeou quais são os requisitos (variáveis, endereços de memória) que equivalem a “passar da primeira fase”, e os emuladores que suportam o retroachievements obedecem esta regra criada. Desta forma, quando o jogador atingir este objetivo, ganha uma conquista similar a dos videogames modernos. Algumas conquistas possuem mais que um requisito como a “Hydrophobia“, ainda do jogo Contra, onde o jogador precisa passar da primeira fase sem encostar na água. Ao obter uma conquista, a frase com o nome da conquista aparecerá no canto inferior esquerdo da tela.
Faça um cadastro no site http://retroachievements.org e configure da seguinte forma no Recalbox:
Configurar o Retroachievements: “Start” -> Opções de Jogos -> Opções de Retroachievements -> Digite seu usuário e senha criados no site. Neste mesmo menu você pode habilitar o modo “Hardcore” que desabilita as funcionalidades de salvar, carregar, retroceder e avançar nos jogos.

Palavras finais

Faremos mais matérias sobre o Recalbox. Explore o sistema navegando nos menus e postando suas perguntas neste artigo.
Até breve!
 

Acesse a versão completa
Sair da versão mobile