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.
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
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;
Recompensas - Integração com o serviço RetroAchievements para desbloquear troféis e distintivos.
Sistemas Suportados
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:
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]