RetroArch - vários emuladores em um só lugar

Iniciado por Sergio Benjamim, 12 de Novembro de 2014, 03:30

tópico anterior - próximo tópico

Sergio Benjamim

Alguém conhece o RetroArch?

RetroArch é basicamente uma plataforma/engine que permite rodar vários emuladores, jogos e assistir filmes (!) e futuramente será capaz de fazer outras coisas. A equipe do RetroArch basicamente portou vários emuladores para a interface/API Libretro, de forma que esses emuladores ficaram independentes de plataforma (windows, linux, mac OS X, playstation, xbox, android...). Em outras palavras, você pode rodar o emulador Genesis Plus GX, programado originalmente para Nintendo Wii, em qualquer plataforma, graças ao RetroArch e a interface Libretro.

Vantagens:

- Vídeo e áudio consistente para todos emuladores
- Configure seu controle apenas uma vez (e pode ser reconhecido automaticamente)
- Configuração centralizada, já que você usa apenas um frontend
- Grande número de Cores/emuladores disponíveis


INSTALAÇÃO:

Para instalar o RetroArch e seus Cores, é necessário instalar o PPA Stable primeiro:


sudo add-apt-repository ppa:libretro/stable
sudo apt-get update


E após:


sudo apt-get install  retroarch  libretro*


Isso aí vai instalar todos os emuladores, você pode instalar apenas alguns, por exemplo:


sudo apt-get install  retroarch  libretro-genesisplusgx  libretro-snes9x  libretro-gambatte  libretro-nestopia  libretro-mgba


Você pode usar o Synaptic ou Central de Programas também.

Para quem estiver atualizando da versão anterior, talvez seja melhor recomeçar todas as configurações, deletando a pasta ~/.config/retroarch/.


NAVEGAÇÃO:

Você usará as setas do teclado ou direcionais do joystick para percorrer as opções do RetroArch, o botão de seleção é por padrão o X do teclado (seria o botão "A" de um joystick de super nintendo, ou o bolinha do playstation), e o de cancelar ações / retorno é o Z do teclado (seria o botão "B" do super nintendo, ou X do PlayStation).

A tecla F1 é o cara que volta ao menu do RetroArch após carregar um jogo, no caso do XMB ele retorna ao Quick Menu, onde você pode reiniciar o jogo, tirar screenshot, save states, core options e shaders.

Aperte a tecla f para fullscreen.


SCAN / SCRAPER para o PLAYLIST:

Após instalado, abra o RetroArch e vá na opção Online Updater --> Update Databases, e aperte o botão de seleção. O RetroArch fará o download do banco de dados dos jogos.



Volte e selecione a opção Add Content --> Scan Directory (é bom selecionar primeiro em Settings --> Directory --> File Browser Dir a sua pasta de ROMs, como /home/seu-usuario/Games/ROMs/ por exemplo). Escolha uma pasta que você queira fazer o scan/scraper, e selecione <Scan This Directory>. Você vai ter que fazer isso em cada pasta de ROM que você tiver aí (Mega Drive, Game Boy, Super Nintendo...). Após fazer o scan de todas as pastas, volte para o menu principal com o botão de retorno, você verá várias listas:



Esse scan não funciona ainda para roms do MAME e CD/DVDs, como Sega Saturn e Sega CD.

Ao escolher uma ROM, irá te dar a opção com qual Core/emulador abrir. Infelizmente não dá opção de escolha "global", você irá ter que selecionar um por um. Agora é possível escolher um emulador padrão para cada lista, vá em Settings Tab --> Playlists e escolha usando as setas esquerda/direita.




ABRINDO um JOGO sem o PLAYLIST:

É possível carregar seu jogo de outra maneira, selecione Load Content --> Select File and Detect Core, útil para plataformas que não tem suporte do Playlist ainda, como PlayStation ou MAME.



Ao escolher uma ROM, irá ter 2 opções, a primeira "Open Archive As Folder" irá descompactar a ROM e irá te dar opções inteligentes de emuladores de acordo com a extensão da mesma ROM (funciona para a maioria, mas não funciona com ROMs do MAME). A segunda, "Load Archive With Core", te dá uma lista grande de emus e você terá que ter uma noção de qual escolher (ver post à seguir).

Lembre-se que você precisa escolher o arquivo de extensão .cue em alguns Cores, como no Beetle/Mednafen (PC Engine CD, PC-FX, PlayStation) e Genesis Plus GX (Sega CD), caso contrário ou dá crash ou carrega o jogo sem música. Outros precisam carregar o .bin, e não o .cue, como o Yabause.


DICAS ALEATÓRIAS

Você pode deixar o RetroArch em português, em Settings --> User --> Language, vá apertando a seta direita até achar o nosso idioma ;)

Uma opção importante é Settings --> Directory --> System/BIOS Dir, você irá escolher a pasta de sistema do RetroArch onde irá ficar as suas BIOS e outros arquivos importantes para alguns emuladores.

Outra opção legal de mexer, se você tiver uma placa de vídeo offboard da Nvidia ou AMD é Shader Options --> Load Shader Preset no Quick Menu (entre em algum jogo, e volte para o menu, última opção). Os shaders são filtros para a imagem do seu jogo, usando recursos de sua placa gráfica. Tente o crt-royale ou xbr-mlv4-multipass, ficam muito bons. Se você tem somente Intel, muitos desses shaders ou não irão ficar legais ou não funcionaram e irão travar o retroarch (crt-royale por exemplo), mas ainda assim há opção para essas placas mais fracas, vá em Settings --> Video --> Video filter e escolha um dos filtros disponíveis.

O resultado final:

Genesis Plus GX com super-2xsai (não tem preset: ir em Shader Passes e alterar para 1, em Shader #0 selecione super-2xsai na pasta xsai, Filter em Nearest, Scale em 2x e selecionar "Apply Shader Changes")


MAME usando shader preset crt-royale:


Beetle/Mednafen SGX (PC Engine) com shader preset xbr-mlv4-multipass


bsnes-mercury com shader preset hq4x



Se você gosta de novidades e não liga muito para estabilidade, pode tentar usar o Nightly/Testing PPA. Ele contém a versão Git dos Cores e alguns não totalmente prontos para o PPA Stable, como o DOSBox e o Virtual Jaguar.

Há pacotes para o Ubuntu 12.04, 14.04, 15.04 e 15.10 (precise, trusty, vivid e wily respect.), bem como Linux Mint 17 e outros derivados. Há pacotes para arquitetura i386 (32 bits), amd64 (64 bits) e ARMhf (para placas como Odroid, Wandboard, BeagleBone Black, Jetson TK1 ou outras ARMv7). Pelo menos no PPA stable, todos os pacotes para ARM funcionam, testei no Odroid U3.

Se você tem uma versão antiga do RetroArch, como por exemplo do PPA do hunterk, você deverá deletar a configuração em ~/.config/retroarch/retroarch.cfg antes de instalar/atualizar o RetroArch:

rm ~/.config/retroarch/retroarch.cfg


Site oficial do RetroArch
New Libretro PPA (tópico no fórum do RetroArch)
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

#1
Segue algumas dicas e informações para cada Core, lembre-se que bios e arquivos de configuração vão na pasta de sistema do RetroArch, que você pode configurar em Settings --> Directory --> System/BIOS Dir

Só para ficar claro: esse segundo post só serve para ter uma noção de qual libretro Core escolher para cada video game, e os links seguintes só servem para você ter uma noção da história e aspectos de cada emulador, você não irá encontrar nenhum libretro Core neles.

Mega Drive / Sega CD / Master System / Game Gear:
-- Genesis Plus GX -- melhor emulador para Mega Drive atualmente, compatível com todos os jogos, super preciso, roda até Pier Solar com CD de áudio
-- Picodrive -- otimizado para ARM; tem a vantagem de rodar o 32X; porém não roda o Game Gear

Super Nintendo:
-- bsnes/higan (necessário um Core 2 Duo 2 GHz no mínimo  :o )
   -- Balanced -- melhor custo benefício, tem problema de compatibilidade com apenas 2 jogos, é mais preciso que o Performance.
   -- Performance -- tem alguns hacks para aumentar a performance (mais rápido, menos uso de CPU), mas em contrapartida tem menor compatibilidade ou menor precisão
   -- Accuracy -- emula 100% dos jogos do SNES, é o Super Nintendo dentro de seu computador, mas demanda muito do seu computador
-- bsnes-mercury -- é um fork do anterior, que restaura algumas opções como emulação HLE de chips especiais e overclock opcional do SuperFX. Tem algumas otimizações que fazem consomir menos CPU do que o anterior.
-- Snes9x -- sucessor do antigo ZSNES
-- Snes9x Next -- baseado na versão 1.52.4 do Snes9x, contém alguns hacks para aumentar sua performance, mas tem menor precisão ou problema de compatibilidade que o Snes9x
-- CATSFC -- baseado em uma versão antiga do Snes9x (1.43), foi inicialmente lançado para o cartão SuperCard DSTWO para Nintendo DS, tem um ótimo desempenho para hardware fraco como ARM (boards e smartphone)

Nintendinho (NES)
-- NEStopia (mais preciso)
-- FCEUmm

Game Boy e Game Boy Color:
-- Gambatte -- melhor emu, mais preciso
-- TGB Dual -- permite o game link entre dois game boys, mas somente o mesmo jogo.

Game Boy Advance
-- VBA-M -- Provavelmente o emu com maior compatibilidade
-- VBA Next -- baseado em uma versão um pouco mais antiga do VBA-M, contém hacks para aumentar a performance
-- Beetle/Mednafen GBA -- é um fork do antigo VBA, talvez tenha uma compatibilidade de jogos parecida com o VBA-M
-- gpSP -- emu inicialmente feito para o PSP, depois portado para ARM, tem dynarec para ARM e i386, portanto tendo um desempenho melhor que o VBA Next nesses tipo de hardware, porém tem menor compatibilidade --> OBS: Precisa da BIOS do game boy advance (renomeie para gba_bios.bin)
-- mGBA -- novo emulador, promete ser mais preciso e rápido que os existentes, e ter recursos que os outros não tem

Sega Saturno
-- Yabause -- Bios opcional, dá para usar sem se habilitar nas opções do Core (Force HLE Bios = enabled). Habilite o Frameskip também, testei num Core 2 Duo e estava dando umas engasgadas.

Arcade
-- MAME
-- Final Burn Alpha
   -- FBA CPS1
   -- FBA CPS2
   -- FBA Neo Geo

Nintendo 64
-- Mupen64plus

Nintendo DS
-- DeSmuME

PC Engine
-- Beetle/Mednafen PCE Fast -- suporte ao PC Engine / TurboGrafx-16 e CD-ROM² / TurboGrafx-CD
-- Beetle/Mednafen SGX -- suporte ao PC Engine SuperGrafx (apenas 7 jogos) mas sem suporte ao CD-ROM²

PlayStation Portable
-- PPSSPP

PlayStation
-- Mednafen/Beetle PSX -- atualmente o mais preciso, usa somente jogos no formato BIN/CUE, para carregar o jogo é necessário escolher o arquivo .CUE (necessário um Core 2 Duo 2 GHz no mínimo  :o )
       Precisa de Bios:
          * scph5500.bin (renomeie o Sony PlayStation SCPH-5500 BIOS v3.0 (1996-09-09)(Sony)(JP));
          * scph5501.bin (Sony PlayStation SCPH-7003 BIOS v3.0 (1996-11-18)(Sony)(US));
          * scph5502.bin (Sony PlayStation SCPH-5502 - SCPH-5552 BIOS v3.0 (1997-01-06)(Sony)(EU))
-- PCSX1 -- Modificação do PCSX ReARMed, modificado para funcionar melhor na arquitetura PC (acho que a intenção é se aproximar mais do PCSX Reloaded)
-- PCSX ReARMed -- fork do PCSX otimizado para arquitetura ARM (tem dynarec somente para essa arquitetura), só tem pacote para armhf

Atari 2600
-- Stella

Atari 7800
-- ProSystem
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

#2
Para quem tiver problema com áudio, latência ou ruído/falha, talvez isso ajude:

Em Settings --> Driver Options --> Audio Driver mude para alsa.

Abra o arquivo de configuração do RetroArch, ~/config/retroarch/retroarch.cfg

gedit ~/config/retroarch/retroarch.cfg

E procure por audio_device, coloque hw:0 entre as aspas:

audio_device = "hw:0"

Se ficar sem áudio, mude para hw:1 ou outro número, até funcionar:

audio_device = "hw:1"

Isso fará o RetroArch acessar o hardware da placa de som diretamente através do Alsa, sem a intervenção do PulseAudio. Daí você pode ir baixando a latência em Settings --> Audio Options --> Audio Latency para valores menores que 64 ms.

Edit: Por algum motivo, fico sem áudio quando acesso o retroarch pelo Cabrio, tirando o hw:1 da configuração volta a funcionar. Mas se chamar diretamente o retroarch, o áudio funciona com hw:1.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

platao

Muito bacana isso, parabens pelo topico, e uma maravilha!!!

Quero testar ehehehe

\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997

Sergio Benjamim

#5
Atenção para quem usa o PPA testing (quem instalou o retroarch do dia 16/12/14 em diante, desconsidere!!!)
Atenção para quem usa o PPA stable (quem instalou o retroarch do dia 10/01/15 em diante, desconsidere!!!)

Tive que fazer uma mudança inevitável nos pacotes (somente no testing por enquanto, e em breve no stable), de forma que você irão ter que remover todos os pacotes de Cores (libretro-*) e instalá-los novamente, caso contrário vai ficar com pacote quebrado no sistema.


sudo apt-get purge libretro*
sudo apt-get install libretro*
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

oblador

#6
Parabéns, Sérgio.

Excelente tópico!

Estou rodando o retroarch stable desse repositório, mas o som do mame apresenta ruídos no linux mint xfce 17.1.

Já testei todos os drivers de áudio no retroarch.

Já alterei o audio rate para 96000 ou até 192000, com todos os drivers. Isso foi a única coisa que ajuda a tirar o ruído, mas daí perco muito em desempenho.

Funciona melhor até agora com o alsa e audio rate em 96000.

Na versão anterior eu não tinha esse problema.

Há alternativas?

Muito obrigado.

PS: como compositor uso o compton, mas tentei desabilitá-lo e não ajudou em nada.

Sergio Benjamim

Opa, valeu!

Você tentou usar o Pulse? Em outro notebook, ao trocar de Alsa para Pulse melhorou bastante.

Tenta alterar o Audio Latency.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

oblador

#8
Alterei o audio latency tanto p cima quanto p baixo. Mudei de alsa para pulse e de pulse para alsa.

Deixei no pulse agora.

O som só para de dar ruídos quando coloco o audio rate em pelo menos 96000.

O problema é que dá umas interrompidas. Não fica fluído.

O mame sdl não apresenta o msm problema, acabei de testar.

Vi no fórum http://www.libretro.com/forums/viewtopic.php?f=35&t=2351 que outra pessoa também teve o mesmo problema com o som do mame usando xfce e pulse audio.

O que faço? Tem como adicionar outras versões do mame ao Retroarch? Outra configuração possível?

Sergio Benjamim

#9
Citação de: oblador online 15 de Janeiro de 2015, 12:30
Alterei o audio latency tanto p cima quanto p baixo. Mudei de alsa para pulse e de pulse para alsa.

Deixei no pulse agora.

O som só para de dar ruídos quando coloco o audio rate em pelo menos 96000.

O problema é que dá umas interrompidas. Não fica fluído.

O mame sdl não apresenta o msm problema, acabei de testar.

Vi no fórum http://www.libretro.com/forums/viewtopic.php?f=35&t=2351 que outra pessoa também teve o mesmo problema com o som do mame usando xfce e pulse audio.

O que faço? Tem como adicionar outras versões do mame ao Retroarch? Outra configuração possível?

O outro cara com problemas sou eu :)

Tenta instalar uma versão mais recente do retroarch, nesse link você instala a versão do PPA testing sem necessariamente o PPA.

No ppa testing tem o Mame 2010 (0.137, mesma versão do mame4droid do android), mas ele é um core work-in-progress... a implementação libretro dele está bem atrás do mame atual, você pode ter alguns problemas com ele.

Edit: Tem uma solução para o Alsa, será que funciona? (último post) Lubuntu 14.04 USB sound crackly (ALSA issue)
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Fotondf

Bacana. Gostei.
Parabéns!!
Vou testar assim que puder.
AMD Phenom II X4 955 / 8Gb de ram DDR3 1333 / NVidia GTX 550Ti / MB Asus M4N68T-LE
Ubuntu 14.04 64Bits / Windows 8 Pro 64Bits

Sergio Benjamim

É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

platao

O pessoal anda muito ativo! vou testar no 12.02 e no 14.04 bastante promissor esse projeto!
\\\\\\\\Apostilas Dicas e Guias do Ubuntu\\\\\\\\\> http://ubuntuforum-br.org/index.php/topic,79368.msg440997.html#msg440997

Sergio Benjamim

Para quem for testar Sega CD no Genesis Plus GX, não adianta ter o jogo no formato ISO + MP3, é preciso ter o jogo no formato ISO+WAV+CUE ou ISO+OGG+CUE, e ao selecionar o jogo, selecionar o arquivo .cue e não o .bin, de outro modo ficará sem áudio.

Os arquivos de áudio em wav ocupam muito espaço... convertendo para ogg você reduz o tamanho.

https://code.google.com/p/genplus-gx/wiki/FAQ
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

Sergio Benjamim

Para quem for jogar Darius do arcade (mame), é preciso alterar o Aspect Ratio para 32:9 em Settings --> Video Settings --> Aspect Ratio Index, já que esse jogo usava 3 monitores de 4:3 (e o "Core Provided" do RetroArch não funciona bem para o Mame ainda, era para ele fazer isso sozinho). E também, apertar o Tab, escolher a opção Video Options --> Triple Side-by-Side (é no menu próprio do mame).

É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !