Retroarch
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.
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 | )
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 |
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
editarFormalmente 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
editarSeus 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
editarO 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:
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
editarO 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- ↑ «libretro/RetroArch». GitHub (em inglês). Consultado em 14 de outubro de 2020
- ↑ «Home – Libretro» (em inglês). Consultado em 14 de outubro de 2020
- ↑ «Lakka documentation - Hardware support». www.lakka.tv. Consultado em 14 de outubro de 2020
- ↑ «libretro/snes9x2010». GitHub (em inglês). Consultado em 14 de outubro de 2020
- ↑ «SSNES · libretro/RetroArch@eed8e2b». GitHub (em inglês). Consultado em 14 de outubro de 2020
- ↑ «SSNES - The SNES emulator that sucks less. / Community Contributions / Arch Linux Forums». bbs.archlinux.org. Consultado em 14 de outubro de 2020
- ↑ Matteis, Daniel De. «RetroArch v1.0.0.0 release information – Libretro» (em inglês). Consultado em 14 de outubro de 2020
- ↑ Matteis, Daniel De. «Day 1 Vulkan support – Libretro» (em inglês). Consultado em 14 de outubro de 2020
- ↑ 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
- ↑ 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
- ↑ Matteis, Daniel De. «Hacker vandalised our buildbot and Github organization – Libretro» (em inglês). Consultado em 14 de outubro de 2020
- ↑ 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
- ↑ «RetroArch Emulates Nearly Every Classic Gaming Console on Android». Lifehacker (em inglês). Consultado em 14 de outubro de 2020
- ↑ 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