Retroarch

um interface para emuladores, motores de jogos e leitores multimédia


RetroArch é software de front-end grátis, de código aberto e multiplataforma para emuladores, motores de jogos, video games, multimídia e outros. Ele é a implementação de referência da libretro API[1], projetado para ser rápido, leve, portátil, e sem dependências extras[2]. É licenciado sob a GNU GPLv3.

RetroArch
Logótipo
Retroarch
Captura de tela
Retroarch
Desenvolvedor The Libretro Team
Plataforma IA-32 (x86), x86-64 (x64), ARMv7, AArch64, PowerPC, MIPS, Cell
Modelo do desenvolvimento Código Aberto
Lançamento 26 de maio de 2010 (14 anos)
Versão estável 1.9.6 (4 de julho de 2021; há 3 anos)
Idioma(s) Inglês, Mandarim, Alemão, Francês, Italiano, Japonês, Coreano, Holandês, Polonês, Português, Russo, Vietnamita, Turco, Árabe, Grego, Persa, Hebraico, Asturiano
Sistema operacional Linux, Android, iOS, FreeBSD, macOS, Windows 95 e posteriores, Xbox (console), Xbox One, Nintendo Switch, Nintendo 3DS, Nintendo 2DS, Nintendo GameCube, Nintendo Wii, Nintendo Wii U, PlayStation 1, 2, 3, 4 e Vita, PSP, tvOS
Gênero(s) Emulador
Licença GPLv3
Estado do desenvolvimento Ativo
Página oficial www.retroarch.com

O RetroArch roda programas convertidos em bibliotecas dinâmicas chamadas de "libretro cores", usando várias interfaces de usuário desde linha de comando, algumas interfaces gráficas (GUI) voltadas para gamepads (sendo a mais famosa uma chamada XMB, um clone da Sony's XMB), várias entradas, drivers de áudio e vídeo, e outros recursos como filtros de áudio, shaders, cheats, etc.

Ele foi portado para muitas plataformas[3]. Pode rodar em vários sistemas operacionais de PC (Windows, Linux, macOS), consoles (Playstation, Xbox, Wii, etc.), consoles prtáteis (PS Vita, Nintendo 3DS, Switch, etc.), em smarthphones (Android, iOS, etc.), computadores single-board (Raspberry Pi, ODROID, etc.) e até mesmo em navegadores web usando o compilador Emscripten.

História

editar

Formalmente conhecido como SSNES, inicialmente baseado no libsnes[4], predecessor do libretro do programador de pseudônimo byuu, ele começou a ser desenvolvido em 2010 com Hans-Kristian "themaister" Arntzen enviando a primeira adaptação no GitHub[5]. Ele foi idealizado como um substituto à interface baseada em Qt do bsnes[6] mas começou a suportar mais "cores" de emulação. Em 21 de Abril de 2012, o SSNES foi renomeado para RetroArch para refletir sua mudança de direção.

A versão 1.0.0.0 do RetroArch foi lançada em 11 de Janeiro de 2014 e na época estava disponível para 7 plataformas diferentes.[7]

Em 16 de Fevereiro de 2016, o RetroArch se tornou uma das primeiras aplicações a implementar o suporte à API gráfica Vulkan, fazendo-o no mesmo dia do lançamento oficial da API.[8]

Em 27 de Novembro de 2016, a Libretro Team anunciou que, ao lado do Lakka (Sistema operacional do RetroArch baseado na LibreELEC), o RetroArch estaria no Patreon para recompensar desenvolvedores que consertassem certos bugs e para cobrir os custos para servidores de matchmaking.

Em Dezembro de 2016, a GoGames - uma comanhia contratada pela desenvolvedora de jogos Sega - se aproximou dos desenvolvedores do Retroarch com a intenção de usar o software no projeto SEGA Forever mas ultimamente a cooperação não resultou em frutos por conta de discordâncias de licenciamento.[9]

A Libretro Team lançou o RetroArch na Steam gratuitamente, integrando os recursos do Steamworks à plataforma em Julho de 2019. Foi o maior lançamento de um título dedicado à emulação na plataforma.[10]

Em Agosto de 2020 alguém se passando por um membro da equipe teve acesso ao servidor buildbot e à conta do GitHub da Libretro, vandalizando o servidor.[11]

Recursos

editar

Seus principais recursos incluem:

  • Suporte avançado para Shaders de GPU - Um pipeline de pós-processamento de shaders multipassagem que permite o uso de algoritmos eficientes de escalonamento de imagens, emulação de monitores CRT e outros efeitos;
  • Controle dinâmico de taxa para sincronizar vídeo e áudio enquanto suaviza imperfeições de timing;
  • Gravação com FFmpeg - Suporte para gravação sem perdas de vídeo usando a libavcodec;
  • Uma camada de abstração para gamepads chamada Retropad;
  • Configuração automatica de gamepads;
  • Jogo em rede Peer-to-peer que usa um rollback similar ao GGPO;
  • Plugins de áudio como equalizador, reverb e outros;
  • Recursos avançados de salvamento;
  • Rebobinar uma partida quadro por quadro;
  • Sobreposição de botões para telas touchscreen;
  • Miniaturas de arte dos jogos;
  • Playlists categorizadas automaticamente ao escanear diretórios por jogos;
  • Multiplas interfaces como: CLI, XMB (para gamepads), GLUI (para telas touch), RGUI e Oznone (disponível em todos);
  • Escaneador de ROMS - Constrói listas comparando os hashs de arquivos de um diretório com os hash de um banco de dados de boas cópias dos jogos;
  • Banco de dados de "cores", jogos, cheats, etc.
  • Suporte para OpenGL e Vulkan;
  • Recompensas - Integração com o serviço RetroAchievements para desbloquear troféis e distintivos.

Sistemas Suportados

editar

O RetroArch pode rodar qualquer libretro core. Enquanto ele está disponível para várias plataformas, a disponibilidade de um core específico pode variar.

Abaixo está uma tabela de quais sistemas estão disponíveis no Retroarch e em qual projeto o core foi baseado:

Sistema Baseado em
3DO 4DO
Arcade MAME

MESS

FB Neo

FBA

Amstrad CPC Caprice32

CrocoDS

Atari 2600 Stella
Atari 5200 Atari800
Atari 7800 ProSystem
Atari Jaguar Virtual Jaguar
Atari Lynx Mednafen

Handy

Atari Falcon Hatari
ColecoVision blueMSX
Commodore 64 VICE
Dreamcast Redream

Flycast

Famicom Disk System Nestopia

higan

Game Boy / Color Emux

Gambatte

SameBoy

TGB Dual

higan

Game Boy Advance Mednafen

gpSP

Meteor

mGBA

VisualBoyAdvance

GameCube Dolphin
Game Gear Genesis Plus GX
MSX fMSX

blueMSX

Neo Geo Pocket / Color Mednafen
NEC PC-98 Neko Project II
Nintendo 64 Muppen64Plus
Nintendo Entertainment System higan

Emux

FCEUmm

Nestopia

QuickNES

mesen

Nintendo DS DeSmuMe

melonDs

Nintendo 3DS Citra
Odyssey² O2EM
PC-Fx Mednafen
32X Picodrive
Mega CD/Sega Cd Genesis Plus GX
Mega Drive/Genesis Genesis Plus GX
Master System PicoDrive

Genesis Plus GX

Playstation Portable PPSSPP
PlayStation Mednafen

PCSX ReARMed

DuckStation

PlayStation 2 Play!
Pokémon Mini PokeMini
Sega Saturn uoYabause

Mednafen

Super NES Bsnes

higan

Snes9x

mesen-s

Thomson computers Theodore
TurboGrafx-16 / superGrafx Mednafen
TurboGrafx-CD Mednafen
Vectrex VecXGL
Virtual Boy Mednafen
Wii Dolphin
WonderSwan Mednafen
ZX Specrtum Fuse
ZX81 EightyOne

Abaixo uma lista de coisas que não se encaixam na lista acima, como jogos individuais e bibliotecas.

Bomberman Mr. Boom
Cave Story NXEngine
CHIP-8 Emux
Doom PrBoom
FFmpeg FFmpeg
Quake 1 TyrQuake
Tomb Raider OpenLara

Recepção

editar

O RetroArch foi elogiado pelo número de sistemas e jogos que pode rodar em uma única interface.

Foi criticado pela dificulade de se configurar, por conta do grande número de opções disponíveis para o usuário, e ao mesmo tempo foi elogiado pelos recursos mais avançados que possui.[12]

No Android, ele foi elogiado pelo fato das sobreposições serem customizáveis e pela compatibilidade com vários dispositivos USB e Bluetooth e também por não ter anúncios.[13]

Tyler Loch, escritor do Ars Technica, disse que a 'Compensação de lag de entrada' é "a maior melhoria para a experiência que a comunidade de jogos retrô já viu".[14]

Referências

editar
  1. «libretro/RetroArch». GitHub (em inglês). Consultado em 14 de outubro de 2020 
  2. «Home – Libretro» (em inglês). Consultado em 14 de outubro de 2020 
  3. «Lakka documentation - Hardware support». www.lakka.tv. Consultado em 14 de outubro de 2020 
  4. «libretro/snes9x2010». GitHub (em inglês). Consultado em 14 de outubro de 2020 
  5. «SSNES · libretro/RetroArch@eed8e2b». GitHub (em inglês). Consultado em 14 de outubro de 2020 
  6. «SSNES - The SNES emulator that sucks less. / Community Contributions / Arch Linux Forums». bbs.archlinux.org. Consultado em 14 de outubro de 2020 
  7. Matteis, Daniel De. «RetroArch v1.0.0.0 release information – Libretro» (em inglês). Consultado em 14 de outubro de 2020 
  8. Matteis, Daniel De. «Day 1 Vulkan support – Libretro» (em inglês). Consultado em 14 de outubro de 2020 
  9. Matulef, Jeffrey (21 de junho de 2017). «Sega releases classic games on mobile, for free, but at what cost?». Eurogamer (em inglês). Consultado em 14 de outubro de 2020 
  10. Machkovech, Sam (13 de julho de 2019). «RetroArch will be Steam's biggest emulation launch yet, coming July 30». Ars Technica (em inglês). Consultado em 14 de outubro de 2020 
  11. Matteis, Daniel De. «Hacker vandalised our buildbot and Github organization – Libretro» (em inglês). Consultado em 14 de outubro de 2020 
  12. Pot, Justin. «Eight Advanced RetroArch Features that Make Retro Gaming Great Again». How-To Geek (em inglês). Consultado em 14 de outubro de 2020 
  13. «RetroArch Emulates Nearly Every Classic Gaming Console on Android». Lifehacker (em inglês). Consultado em 14 de outubro de 2020 
  14. Orland, Kyle (19 de abril de 2018). «Better than reality: New emulation tech lags less than original consoles». Ars Technica (em inglês). Consultado em 14 de outubro de 2020