RetroArch

덤프버전 :

1. 개요
2. 문제점
2.1. 복잡한 UI와 부족한 편의성
2.1.1. 해결책
2.2. 심각한 불안정성과 빈번한 튕김
2.3. 고통스러운 초기 세팅 과정
2.4. 결론
2.5. 기타 문제점
2.6. 해결된 문제점
3. 지원하는 플랫폼
4. 지원하는 코어
5. 기타


1. 개요[편집]



RetroArch는 오픈소스 다중 플랫폼 다기종 에뮬레이터 프런트 엔드이다.

간단히 설명하자면 레트로아크라는 한 프로그램으로 모든 기종의 롬을 돌릴 수 있게 되는 것이다. 기존 에뮬레이터들은 GBA를 실행시키려면 VisualBoyAdvance, 슈퍼 패미컴을 실행하려면 bsnes, 메가 드라이브Kega Fusion 식으로 각 기종 전용의 에뮬레이터를 준비해야만 했었다. 하지만 레트로아크는 다른 프로그램은 필요 없이, 레트로아크만으로 패미컴이건 플레이스테이션이건 자유롭게 게임을 구동할 수 있다.

RetroArch는 에뮬레이터가 아닌데, 이는 RetroArch 자체에는 에뮬레이터 기능이 전무하기 때문이다. 에뮬레이터로서 기능하는 부분은 libretro라고 불리는 오픈소스 에뮬레이터 코어 집합이며 RetroArch는 이를 구동하는 libretro의 공식 프런트 엔드일 뿐이다.

libretro 코어란 쉽게 말하자면, bsnes, MAME, FB Neo 같은 각 에뮬레이터를 하나의 API 라이브러리로 만든 단일 파일을 뜻한다. 오픈소스 에뮬레이터들은 대부분 libretro 프로젝트를 통해 코어화 되었으며, 오직 에뮬을 구동하기 위한 핵심기능만 갖는다. 대신, 기존 에뮬레이터의 GUI는 RetroArch같은 프런트 엔드에서 일임한다.[1]

이 같은 방식의 가장 큰 장점은 환경(플랫폼)의 영향을 덜 받는 것에 있다. 잘 설계된 API를 사용하면 환경이 달라져도 동일한 코드는 동일한 결과를 수행한다. 즉, 윈도우, 리눅스, JAVA, 안드로이드 등 각기 다른 환경이라도 프런트 엔드인 RetroArch만 제대로 기능한다면 이 API를 통해 해당 에뮬레이터를 손쉽게 이용할 수 있다.

이처럼 코어화된 수많은 에뮬레이터를 각기 다른 환경에서도 하나의 통합된 인터페이스로 구동시킬 수 있다는 것이 바로 RetroArch의 강점이다.


2. 문제점[편집]



2.1. 복잡한 UI와 부족한 편의성[편집]


레트로아크의 대표적인 문제점은 쓸데없이 복잡한 UI와 부족한 사용 편의성이다. 인터페이스가 난잡하고 분간이 안 되는 수십 개의 메뉴로 도배되어 있다. 미칠 듯한 공돌이 마인드로 만들어진 불친절한 프로그램으로 사용자에 대한 배려가 그닥 없다. 거품경제 시절 일본 전자제품의 경우 비디오 플레이어가 매뉴얼만 수백 페이지의 책 한 권 분량이 되고 주요 기능만 수십가지는 되었는데 딱 그 느낌일 것이다.

일단 레트로아크는 게임을 켜는 것 자체가 다른 에뮬레이터보다 힘든 프로그램이다. 레트로아크 특유의 롬 실행 방식은 해괴하다고 불러도 과언이 아닐 정도다.

일반적인 에뮬레이터는 실행 후 롬 불러오기만 하면 게임을 돌릴 수 있다. 그러나 레트로아크는 그 자체로 에뮬레이터가 아니며 "프론트엔드"에 불과하기 때문에 코어, 즉 에뮬레이터를 설치하는 단계가 필요하다. 기종별로 코어는 하나만 있는 경우가 드물고, 보통 서너 개 이상, 극단적으로는 십여 개에 이르는 기종도 있기 때문에[2] 처음 사용하는 사람이라면 무슨 코어를 설치해야 할지 난감한 경우가 많다.

무엇보다도 롬 파일을 선택하면 곧바로 게임이 실행되는 단독 에뮬레이터들과 달리 레트로아크는 롬 실행시 코어를 선택해야 하는 경우가 대다수다.[3] 같은 시스템을 지원하는 코어를 두 개 이상 설치했거나[4] 같은 롬 파일 확장자를 사용하는 경우[5]에는 알맞은 코어를 사용자가 매번 직접 선택해야 한다.

아래는 레트로아크에서 .zip 형식의 롬을 돌릴 때 나오는 코어 선택창이다. 평범한 레트로아크 유저는 이 화면을 매번 마주치게 될 것이다. 처음 실행해 보는 롬이건 수십번 실행한 즐겨찾는 롬이건 간에 일일이 코어를 선택해 줘야 하는 것이 레트로아크다.

파일:코어선택.png

또한 레트로아크는 기종별 롬 폴더 지정 같은 옵션이 없다. 모든 기종이 하나의 롬 파일 경로를 공유한다. 때문에 기종별, 장르별로 게임을 구분해놓은 사용자의 경우 롬 불러오기시 게임을 찾는 과정이 번거롭다. 매번 루트에서부터 SFC, GBA 같은 폴더를 겨우겨우 찾아간 뒤에야 게임을 고를 수 있게 되는 것이다.

정리하자면 레트로아크에서 폴더 경로 탐색을 통한 롬 실행 방법은 다음과 같다. .zip 형식의 네오지오 롬을 실행하는 과정을 예로 들어보자.

1. Load Content 선택

2. 다양한 폴더 경로 선택지 중에서 Start Directory 골라서 선택

3. 롬 폴더 진입 및 파일 선택 [6]

4. 코어 선택 [7]

5. Browse Archive와 Load Archive 중에서 후자 선택 [8]

[9]


레트로아크를 처음 접해보는 유저는 위 과정이 미칠 듯이 귀찮게 느껴질 것이다. 위 프로세스에서 2, 4, 5는 불필요한 과정이다. 다른 에뮬레이터는 1, 3 단계만으로 게임을 실행할 수 있다.

코어를 선택해야만 한다면 기종별 코어와 폴더를 설정에서 미리 지정하게 하고 롬 실행시에는 따로 묻지 않는 것이 합리적인 방식이다. 유저가 코어 선택이 필요할 때만 코어 선택창을 찾아들어가게 하는 것이 훨씬 경제적인 것이다. 설령 악마성 드라큘라 XX[10] 언더커버 캅스같이[11] 구동이 까다로운 롬이라 특정 코어를 지정해야만 한다면 개별 게임 옵션에서 전용 코어를 지정하고 저장할 수 있게 하면 그만이다. 이렇게 UI 프로세스를 짜 놓으면 유저가 게임을 선택하는 절차가 매우 간편해진다. 그런데 레트로아크는 롬 실행시마다 질릴 정도로 코어 선택 여부를 물어본다.

이런 문제점을 해결하고 간편한 실행 환경을 만들려면 게임 롬을 스캔하여 플레이리스트라는 즐겨찾기 시스템을 따로 만들어줘야 한다. 플레이리스트는 일종의 바로가기인데, 스캔을 통해 플레이리스트에 등록된 게임은 코어 선택 없이 바로 게임을 실행할 수 있게 된다. 롬의 정보 및 실행 코어를 미리 저장해두기에 가능한 일.

그러나 플레이리스트 스캔을 장시간 돌려봐도 유저가 가진 롬 대다수가 스캔에 잡히지 않는 골치아픈 현상을 발견하게 된다. 원인은 레트로아크 데이터베이스의 공식 롬파일 정보와 유저가 가진 롬파일 정보, CRC32가 일치하지 않아서이다.

유저가 보유한 롬이 10여년 전에 통용되던 구버전의 롬, 오래된 덤프여서일수도 있고 한글패치 혹은 영문패치 버전이어서일 수도 있다. 이러면 플레이리스트를 만들기 위해 필요한 롬 스캔이 안된다. 최소한 한글패치가 적용되어 파일정보가 수정된 롬파일은 무조건 자동스캔에서 탈락되는 게 확정이다.

즉, 플레이리스트로 게임을 하려면 어떤 건 스캔이 되고 어떤 건 스캔이 안되는 중구난방의 롬파일들을 통일, 교체시켜주거나 스캔이 안되는 롬을 플레이리스트 파일 수정을 통해 수동으로 등록해줘야 한다. 레트로아크 프로그램 자체적으로 플레이리스트 수동편집을 지원하지 않으므로 메모장 같은 편집기를 써야만 한다. 롬이 100여개만 넘어가도 숨이 막히는 수준의 노가다다. 그래서 보통은 편집 없이 최신 롬셋에서 파일을 하나하나 가져와 기존 롬을 교체하게 된다. 롬셋 교체건 플레이리스트 수동 편집이건 레트로아크를 제대로 쓰기 위해서는 반드시 해줘야 하는 작업이다.

일반적인 UI 디자인 상식을 가진 프로그램이라면 오토스캔이 안되는 게임은 유저가 레트로아크 메뉴를 통해 직접 플레이리스트에 등록할 수 있게 지원했을 것이다. 그러나 절대로 레트로아크에 그런 상식을 바라면 안된다. 반드시 실망하고 좌절하게 될 것이다.

버전 업데이트가 되면서 수동 폴더스캔이 생기긴 했지만 여전히 불편하다. 플레이리스트 목록 편집, 선택한 롬만 추가 같은 기능이 없기 때문이다. 즉, 레트로아크가 자동으로 생성하는 플레이리스트는 유저가 메모장을 쓰지 않고선 부분적으로 수정할 방법이 없다. 또한 플레이리스트 스캔 시 호환이 안 되는 롬은 붉은색으로 표시하거나 따로 불량 파일 리스트를 제시하는 것 같은 편의성 기능도 마땅히 있어야 하지만 없다. 그러니 스캔 과정에서 어떤 롬이 플레이리스트에 빠졌는지 알 수 없으며 일일이 누락 파일을 찾아내야만 한다.

상술된 해괴한 롬 실행 방식은 레트로아크가 호불호가 갈리는 가장 치명적인 원인이라고 할 수 있다. 폴더 경로를 찾아가자니 루트부터 찾아가느라 게임 찾기도 힘들고 에뮬 코어도 반복해서 물어보는 1번 방식, 한땀한땀 롬 정보를 기입해가며 플레이리스트를 만드는 2번 방식 모두 환장하게 짜증나는 것이 현실이다. 사실상 출시된 에뮬레이터/프론트엔드 중에 레트로아크는 롬 실행하기가 가장 까다로운 프로그램이라고 볼 수 있다.

2.1.1. 해결책[편집]


코어가 너무 많이 제공되어 사용자를 혼란스럽게 만들고 선택창이 무조건 뜨는 부분의 해결책은 간단하다. 실행 테스트를 통해 본인이 사용할 코어 하나만 남기는 것이 가장 쉬운 해결책이다. 2019년대에 릴리즈된 1.7x 버전대의 레트로아크까지는 설치된 코어가 1개라도 무조건 코어 선택창이 뜨게 되어 있었다. 그러나 업데이트 이후 자동 코어 선택기능이 생겼다. 기종별 지원 코어가 1개이면 바로 해당 코어를 통해 롬이 실행되니 많이 편해졌다.

본 문서 하단에 몇몇 기종의 코어 선택에 대한 설명을 참조하자. 혹은 인터넷 검색으로 각각의 코어의 특징(정확도, 요구 사양, 부가 기능)을 알고, 본인의 상황에 가장 알맞은 코어를 선택하면 된다. 단독 에뮬레이터를 사용할 경우 무슨 에뮬레이터를 사용할지 결정하는 과정과 똑같다.

그러나 다기종 지원 코어의 경우 자동 코어 선택 기능이 무시되는 경우가 많다. 대표적으로 마스터시스템이나 게임보이 롬 실행시가 그렇다. 해당 기종의 전용 코어 뿐만 아니라 Picodrive, mgba같은 다기종 지원 코어도 게임 실행이 가능하므로, 둘 중의 하나를 고르는 선택창이 뜨게 된다. 다기종을 지원할 수 밖에 없는 아케이드 기종의 코어도 이런 문제가 많다.

코어를 1개만 남긴다는 것도 100퍼센트의 해결책은 아닌 셈. 게임보이 기종 전용 코어의 편리함을 포기하고 다기종 코어인 mgba만 남기는 식으로 앞뒤보지말고 싹 다 쳐내야 코어 선택창 없이 바로 게임을 실행할 수 있다. 그렇게 코어를 남길 것만 남긴 상태에서도 .bin이나 .zip 같이 여러 기종에서 공통적으로 쓰는 확장자의 롬파일을 실행할 때는 선택창이 무조건 뜬다.[12] 결국 레트로아크의 코어 선택 UI는 아직까지는 개선이 미비한 상태이며 갈길이 먼 부분이다.

코어 설치 이후 레트로아크를 편하게 쓰기 위해서는 플레이리스트 작성이 필수에 가깝다. 그러나 프로그램 자체적으로 플레이리스트 편집 기능을 지원하지 않는 게 뼈아프다.

그나마 조금이라도 플레이리스트 수동 편집을 편하게 하기 위해 RetroArch Playlist Buddy라는 외부 프로그램을 쓸 수 있다. 레트로아크 스캔 기능에서 안 잡히는 롬이 매우 많은 게 현실이라 대부분의 유저가 이 프로그램을 사용하고 있다. 플레이리스트 작성 방식은 다음 링크에서 대략적인 느낌을 알 수 있다.

레트로아크는 사용자 편의 기능이 빈약하기 때문에 본인이 대규모로 플레이리스트를 편집할 자신이 없다면 '권장 방식'으로 사용하는 게 최선이다. 올바른 롬셋을 이용하고, 소프트패치 기능을 적극적으로 이용하는 것.

세팅 과정이 괴롭겠지만, 기존 보유 롬을 그대로 쓰지 말고 레트로아크 커뮤니티에서 권장하는 최신 롬셋으로 파일을 모두 교체하는 것이 편할 것이다. 한글, 영문 패치 롬이나 해킹롬의 경우 소프트패치 기능을 사용하자. 패치된 롬의 경우, 대부분의 레트로아크 코어에서는 소프트패치, 즉 원본 롬파일과 패치 파일을 함께 넣어 두기만 하면 에뮬레이터가 롬 파일을 불러들일 때 알아서 패치를 적용해 준다. 원본 파일은 건드리지 않는 방식이니 무리없이 스캔이 된다. 이렇게 권장 롬셋을 사용하면 레트로아크 자체적으로 플레이리스트 생성이 원활히 되니 수작업을 하지 않아도 된다.

결국 자신의 사용 습관에 맞게 설정하거나, 자신의 사용습관을 바꾸기까지의 과정이 진입 장벽으로 작용하고, 레트로아크의 복잡한 기능과 부실한 UI가 그 장벽을 높이는 꼴이다. 그나마 개발자들도 유저 인터페이스를 개선하는 노력을 꾸준히 하고는 있다.[13]


2.2. 심각한 불안정성과 빈번한 튕김[편집]


무엇보다도 결정적인 단점은 PC, PS, 스위치 등 여러 플랫폼을 지원하다보니 플랫폼 별 안정성이 천차만별이라는 것이다. 평범하게 게임을 돌렸는데 에러 메시지와 함께 기계가 리붓되는 상황이 자주 일어난다. 구글에 레트로아크 튕김, RetroArch crash 같은 검색어를 쳐보면 온갖 튕김 현상 사례를 발견할 수 있을 것이다.

또한 문제가 발생했을 시, 롬셋 버전이 다르다거나 혹은 해당 기종의 바이오스가 없는 것 같이 높은 확률로 일어날 법한 평범한 에러인데도 어떤 오류인지 안내 메시지 하나 없이 프로그램이 튕겨버린다. 딱히 프로그램 자체가 튕길 상황이 전혀 아닌데 툭하면 튕겨버리니 지나치게 불안정하다. 무엇보다 에러 원인 표시가 없으니 문제 해결이 어렵다. 프로그램의 기본인 예외처리가 부실한 것이다. 코어 정보 메뉴를 찾아들어가면 에러의 원인을 찾아볼 수 있지만 불친절하다는 건 변하지 않는다.

처음 써보는 사용자는 분명 타 에뮬에서는 접할 수 없었을 오만가지 문제점에 마주치게 되는데 에러 원인 표시 하나 없이 툭 하고 튕겨버리는 건 심각한 마이너스 포인트다. 일단 해외 포럼이나 GitHub의 레트로아크 이슈 게시판, 혹은 레딧 게시글을 뒤지면 해결책을 찾을 수 있긴 하다.[14] 국내 웹에서는 기본적인 사용법 및 설치법 외에 예외적 에러 사항에 대한 정보는 전혀 없으니 반드시 해외 포럼을 구글링으로 발품팔아가며 정보를 구해야 한다.

이처럼 레트로아크는 끝없는 오류를 잡아내며 프로그램이 튕기지 않을 때까지 길들여야 하는 정신적 소모가 강한 프로그램이다.

에러 하나가 발생할때마다 기를 쓰고 해외 포럼을 뒤져가며 해결책을 찾아내야 하는데, 그걸 해결하고 나면 다른 에러가 또 튀어나온다. 레트로아크는 첫 설치시 사용이 지독하게 불편한 상태이고 불필요한 메뉴도 너벌려진 상태이므로 사용자 스스로 설정을 조정하고 안 쓰는 메뉴를 숨기는 과정이 필연적이다. 그런데 레트로아크는 별것도 아닌 설정 하나 잘못 만지면 프로그램이 그대로 뻗어버린다.

언어를 한국어로 변경했을 뿐인데 그래픽 드라이버와 충돌이 일어나 프로그램이 크래쉬되는 경우, 또는 메뉴 UI를 마음에 드는 걸로 바꿨을 뿐인데 프로그램이 뻗어버릴 수도 있다. 소프트패치 기능이 도입되었다고 해서 언어패치 파일을 넣어 보았는데 프로그램이 뻗을 수도 있다. 마음에 드는 필터나 셰이더를 적용해 보았는데 프로그램이 뻗기도 한다. 해당 케이스들 외에도 레트로아크는 온갖 종류의 크래쉬 요인들이 곳곳에 깔려있다.

또 에러가 명확한 조건으로 보편적으로 발생한다면 각을 잡고 고치기라도 할텐데,[15] 대단히 한정적인 상황에서 에러가 발생할 때도 많다. 비디오 필터의 경우, 대부분 기종에서 필터가 잘 작동되는데 세가 새턴 코어에서만 크래쉬되는 식으로 말이다. 이러니 레트로아크는 고된 작업 끝에 세팅을 다 마쳤다고 느낄지라도 사용중에 불의의 일격을 맞는 경우가 허다하다.

요약하자면 레트로아크의 설정창은 사실상 지뢰밭이다. 별 생각없이 이것저것 설정을 고치고 cfg를 저장했는데 그 뒤 레트로아크가 실행만 하면 뻗는 상태가 되어버리기 일쑤다. 이러면 프로그램을 지워버리고 재설치하는게 빠르다. 이런 상황을 맞닥뜨리기 싫으면 설정을 하나씩만 고친 뒤 세이브하고 테스트하는걸 반복해야 한다.

그 외에 게임의 프레임이 지나치게 느려지는 문제도 빈번하다. 일반적인 단기종 에뮬레이터들의 경우 에뮬레이션의 역사가 오래되다 보니 higan처럼 실기 그대로를 재현하는 초정밀 구현은 못하더라도 웬만한 게임은 안정적으로 구동시켜준다. 그런데 레트로아크에서는 사이쿄 사의 유명 게임들[16]이나 고전 MAME 게임, CPS1, 슈퍼 패미컴 같은 고전 기종들의 에뮬레이션도 프레임이 지나치게 떨어지거나 실행 자체가 안되고 기기가 리붓되는 현상이 발생하곤 한다.[17]

이런 사례는 해당 플랫폼 레트로아크의 최신 버전 코어에서 아직 그 게임을 지원하지 않거나, 혹은 잘못된 코어 선택, 롬셋 버전이 잘못되거나 바이오스가 없는 게 원인일 수도 있다. 그러나 대체로 뚜렷한 원인이 있다기보다 retroarch.cfg 파일이 꼬였다거나 해서 해결이 어려운 케이스일 때가 많다.

사실 정상적인 에뮬레이터가 펜티엄 1 시대에도 잘 돌아가던 CPS1 게임들을 못 돌릴리가 없고 레트로아크도 그게 정상이다. 그러나 레트로아크 특성상 cfg 파일이 꼬이면 지극히 당연히 잘 돌아가야 하는 게임도 툭 하면 튕기거나 슬로우모션으로 돌아가게 되는 것. 레트로아크의 많은 문제가 레트로아크 설정이 저장되는 retroarch.cfg 파일의 오류에서 기인한다.[18] 따라서 레트로아크 사용시 정상 가동 상황의 원본 cfg를 백업해 놓는 것이 필수다. 잘 되던 게임이 갑자기 실행 시 튕기는 경우도 있고 혹은 문제가 있는 비디오 필터를 적용한 상태에서 설정이 저장되어 버리면 무조건 튕기거나 프리징되는 경우가 다반사이므로 cfg 파일 덮어쓰기가 가장 간편한 답인 것.

이렇게 게임 실행이 안 되고 튕길 때 cfg 파일의 복구 외에도 레트로아크의 버전을 바꿔서 재설치하거나 롬셋의 변경, 코어를 바꿔가며 실행하기 등을 시도해보면 해결될 수도 있긴 하다. 그러나 라이트한 사용자 입장에서는 게임 하나 돌리는데 4~5개씩 되는 알 수 없는 코어를 일일이 실행해가며 테스트해본다는 것 자체가 좌절스럽다. 애초에 다른 에뮬레이터는 문제없이 돌리는 롬들인데 레트로아크에서는 걸핏하면 안될 수도 있다는 것이 스트레스다.

아직까지는 게임마다 프레임 같은 퍼포먼스가 천차만별이므로 해당 플랫폼의 커뮤니티나 유튜브 등에서 보유 기기의 레트로아크에서 구동이 원활한 코어, 롬셋 리스트를 알아보는 것이 해결책이다.

일부 플랫폼에서는 그럭저럭 안정적으로 실행되는 레트로아크 버전도 있긴 하다. PC와 퀄컴 스냅드래곤 채택 안드로이드 정도에서 돌리는 레트로아크는 대부분의 에뮬 코어를 잘 돌려준다.[19] 그러나 그 외의 기종의 레트로아크에선 3DS, 플레이스테이션 클래식 같은 유명한 플랫폼에서도 위에서 언급한 알 수 없는 튕김같은 불안정 요소를 체험하게 되는 부분이 많다.


2.3. 고통스러운 초기 세팅 과정[편집]


위 항목들에서 언급된 단점으로 인해 레트로아크는 여러 모로 호불호가 갈리는 프로그램이다. 이론적으로 따진다면야 레트로아크는 다른 개별 기종 에뮬레이터를 모조리 무쓸모로 만드는 대단히 강력한 프로그램이 맞긴 하다. 초반의 진입장벽을 이겨내고 자신에게 특화된 세팅, 롬셋의 구성과 플레이리스트, 섬네일까지 완성하고 나면 레트로아크는 하이퍼스핀이나 레트로파이 같은 것들은 우습게 능가하는 에뮬레이터계의 끝판왕이다.

하지만 그건 어디까지나 이론일 뿐이고 현실은 많이 다르다. 형편없는 UI 프로세스와 불안정성에 더해 고난의 행군스러운 세팅 과정 또한 유저를 기다리고 있는 것이다. 레트로아크를 처음 접해보는 유저의 경우 최소한 5~6시간 정도는 세팅에만 투자해야 한다. 설치한다고 끝이 아닌 것.

레트로아크 프로그램 설치와 코어의 세팅, 이후 사용 중 오류 발생 시의 재설치, 기종별 바이오스 파일 수집과 배치, 기종별 최신 롬셋 구하기와 길고 긴 다운로드 시간 소요, 플레이리스트 오토 스캔 시 긴 소요시간, 개인 보유 롬 중 스캔 안 잡히거나 실행 안되는 구형 롬파일은 최신 버전 롬으로 교체, 섬네일 수집 및 스캔 안 잡히는 게임 수작업으로 플레이리스트 작성, 기종별 / 코어별 게임 실행 테스트 및 각종 레트로아크 옵션 기능의 빈번한 테스트, 각종 렉, 튕김 현상을 몸소 겪으며 해결하기, 구글링 및 해외 포럼 검색 등...

설치하고 3시간쯤 레트로아크를 만진 후 이젠 어느 정도 됐다는 생각이 든다해도 쓰다 보면 문제가 또 발생하니 결국 추가적인 점검시간이 더 들어가게 되어 있다. 기본 세팅이 5~6시간이라는 것도 보유한 롬 파일이 적고 게임에 매니악한 관심이 없는 유저, 유명한 오락실 아케이드 게임만 추억회상용으로 만지작거리는 유저나 이 정도일 것이다. 현실적으로 레트로아크 세팅 시간이 겨우 이 정도일 가능성은 희박하다.

라이트 유저의 경우 레트로아크 커뮤니티에서 추천하는 롬셋 중에서 CPS, 네오지오 롬셋 같은 것을 그냥 때려박으면 오토스캔으로 플레이리스트가 잘 만들어질테고 플레이리스트 수작업 분량이 그다지 많지 않다. 그러니 일단 플레이리스트를 띄운 뒤 튕기지 않고 게임만 돌아가게 만들면 할 일은 다 한 것이다.

그러나 기존의 롬셋을 모조리 때려박지 않고 본인 전용의 기종별 게임 컬렉션을 가지고 있는 유저는 플레이리스트 작업만 해도 한세월이다. 최소한 한글패치된 롬은 절대로 오토스캔이 되지 않으므로 보유한 한글패치 게임이 200개라면 200개 모두 일일이 수작업으로 플레이리스트를 수정해야 한다.[20] 한글패치 게임만 이정도고 보유 컬렉션 중 상당수가 스캔에 잡히지 않는 것을 감안해야하니 아예 모조리 수작업으로 플레이리스트를 작성해야 한다고 각오해야 하는 수준이다. 또는 최신 롬셋에서 기존 보유 롬파일들만 골라서 가져옴으로서 덮어쓰기 하는 방식, 즉 기존 컬렉션 전체를 최신 버전으로 업데이트 하는 방식도 쓸 수 있다. 어느쪽이든 눈알이 뽑히는 경험을 하게 된다.

혹자는 스캔 안되는 기존 보유 롬을 쓰는 대신, 레트로아크 권장 최신 롬셋을 구해서 그대로 복사 붙여넣기 하면 되는거 아니냐고 생각할 수도 있을 것이다. 그러면 기존 보유 롬을 갱신할 필요가 없고 플레이리스트를 수동편집할 일도 없긴 하다. 그러나 그렇게 무작정 복붙을 해버리면 게임 구동 환경을 거하게 망치는 꼴이다.

레트로게임에 조예가 있는 게이머라면 네오지오CPS1, CPS2 같이 게임 수가 적고 대부분이 명작인 아케이드 기종 외에는 대체로 롬셋을 때려박지 않는 편이다. 해당 기종의 올롬셋을 그대로 쓰기보다는 본인 취향인 명작 게임의 롬만 엄선해서 롬 폴더에 집어넣는 경우가 많다. 슈퍼 패미컴이나 게임보이 어드밴스, MAME 같이 발매 게임이 많은 인기 기종에서 롬셋을 그대로 복붙하면, 한번 해보지도 않을 각종 가비지 게임이나 해킹롬, 클론롬까지 수천개 딸려들어오기 마련이다. 이렇게 되면 게임 실행 한번 하려면 리스트를 줄창 뒤져야 한다. 무엇보다도 기종마다 올롬셋을 무작정 집어넣으면 기기의 용량이 남아날 리가 없기도 하다.

타 에뮬레이터라면 게임 개수가 지나치게 많을지라도 폴더식 분류라도 될 것이다. 기종, 장르별, 알파벳별 폴더 구분을 통해 롬을 분류해두면 쉽게 원하는 게임을 찾을 수 있다. 그러나 레트로아크처럼 플레이리스트로 게임을 고르는 게 권장되는 환경에서 기종마다 게임이 수천개씩 되면 답이 없다. 플레이리스트 UI는 알파벳, 장르 분류도 없이 기종별로 게임을 무작정 쑤셔넣는 형태라 게임 리스트가 끝도 없이 쏟아지게 된다. 그야말로 팔만대장경을 넘겨가며 게임 찾는 기분이 들 것이다.[21]

따라서 플레이리스트로 게임을 구동할 시 올롬셋에서 할 게임만 골라서 정리하는 작업이 필요하다. 그러나 수십개 기종의 올롬셋, 만개를 넘어가는 롬들 속에서 원하는 게임을 기종별로 분류하는건 그야말로 노가다의 연속이다. [22]

그러므로 라이트 유저 아닌, 자기 취향의 게임 컬렉션을 가진 일반적인 레트로 게이머가 레트로아크를 세팅하는 경우라면, 스캔 안되는 기존 보유 롬파일의 갱신, 플레이리스트 작성 문제만 해결하는 것만 해도 대공사가 된다.

플레이리스트를 작성하지 않고 불편하나마 폴더 탐색으로 롬을 실행할 수도 있긴 하다. 그러나 그건 둘째치고 레트로아크는 롬셋 버전이 조금이라도 잘못되면[23] 폭풍 에러 발생과 함께 프로그램 자체가 크래쉬되므로 롬 선별 자체는 무조건 해야 하는 작업이다. 즉 레트로아크에서 필연적으로 발생하는 튕김 문제[24]와 롬셋 테스트까지 해결하려면 주말을 다 쏟아부어도 시간이 부족할 것이다.


2.4. 결론[편집]


이같은 레트로아크의 고된 세팅 과정, 불안정성, 불편한 UI, 까다로운 롬 실행 방식 등의 무수한 단점들을 혐오하는 유저들은 개별 에뮬레이터로 돌아서는 경우가 많다.

기존 레트로아크 유저들은 프론트엔드의 통합성이니 모든 에뮬레이터 프로그램을 한 자리에 담았고 레트로아크로 다 할 수 있다느니 셰이더 기능이 뛰어나다느니 하는 부분을 극찬하며 실드를 친다. 혹은 강력한 만큼 유저가 공부해야 하는 프로그램이다, 조금만 찾아보면 사용이 그렇게 어렵지도 않다면서 유저에게 탓을 돌리기도 한다.

하지만 그런건 둘째치고 레트로아크는 무엇보다도 실행 과정이 지나치게 개판이다. bsnesSnes9x의 성능을 코어라는 형태로 똑같이 가져온다 한들 게임을 구동하는 UI 프로세스는 완전히 다르다. 구동 퍼포먼스는 같을지라도 사용 경험으로 따지면 같은 Snes9x가 아닌 것이다. 일단 기존 에뮬레이터들은 별 생각 없이 롬을 틀면 게임이 돌아간다. 또한 이유 없이 프로그램이 튕기지도 않는다. 그러므로 레트로아크가 있다고 해서 Snes9x 같은 개별 에뮬레이터가 쓸모없다고 주장하는 것은 아직까진 현실과 맞지 않는 얘기라는 것.

그러나 레트로아크가 각 플랫폼마다 자리를 잡은 후, 에뮬레이터 개발자들이 최신 플랫폼으로 에뮬레이터를 포팅하지 않는 경우가 많아졌다. 닌텐도 3DS의 경우 Snes9x 같이 일부 프로그램에 한해 개별 에뮬레이터가 3DS용으로도 존재하지만 MAME네오지오 등 상당수 기종이 개별 에뮬레이터가 존재하지 않는다. PSP의 경우도 각 기종마다 에뮬레이터가 충실하게 구비된 편이었으나 후속기종인 PS Vita는 3DS처럼 대다수 기종의 에뮬 구동을 레트로아크에 신세져야만 한다.

이처럼 현세대에서는 레트로아크 없이는 거의 대부분 기종의 게임들을 못 돌린다. 사용자가 많고 기존에 프로그램이 이미 제작된 경우, 즉 PC나 안드로이드 같은 환경은 괜찮지만 신규 플랫폼일수록 레트로아크 하나로 퉁치자는 경향이 강해지고 있다. 따라서 레트로아크를 혐오하는 유저라도 눈물을 머금고 강제로 레트로아크를 세팅하는 경우가 늘어나고 있는 상황.


2.5. 기타 문제점[편집]


2020년 8월 16일, 서버가 해킹을 당해서 대부분의 파일과 GitHub가 유실되었다. 이미 RetroArch를 설치해서 사용하고 있는 사람들에게는 큰 지장이 없지만 코어(에뮬레이터) 설치와 업데이트가 불가능하게 되었으며 RetroArch 개발진의 개발 스케줄에도 커다란 영향을 주었다고 한다. 다행히 8월 27일에 상당수의 복구가 이루어졌지만 완벽한 복구는 아직 못했다고 하며 해킹을 방지하기 위한 새로운 서버도 구축해야 하는 등 해야 할 일들이 많아서 당분간은 개발이 더디어질 것이라고 한다

가끔씩 패드가 인식이 안 될 때가 있다. 화면상에는 연결된다고 뜨는데 어떤 키도 먹히지 않고 키설정에서도 감감무소식이다. 이럴 때는 그냥 재부팅하면 임시로 해결되기는 하는데 최근 패드 인식불가 현상이 상당히 잦게 일어나고 있다. 엑스박스 360 컨트롤러 기준.


2.6. 해결된 문제점[편집]


애셋 업데이트가 문제가 좀 있는 편. 어떤 퍼센트에서 다운로드가 멈추는데, 이때는 어떤 짓을 해도 다시 시작할 수 없고 무조건 앱을 완전히 껐다가 해당 애셋을 처음부터 다시 다운로드 받아야 한다.

애셋 특성상 몇백메가가 넘는 용량을 98%에서 멈춰서 더는 진행이 안된다고 생각해 보라. 어플을 껐다 키고 그 기나긴 시간을 또 기다리라는 건 유저들한테 상당한 스트레스가 될 것이다. 가뜩이나 안드로이드 버전은 일반적으로 진입할 수 없는 시스템 파티션에 애셋이 저장되기 때문에 컴에서 애셋 파일을 수동으로 받아서 적용시키는 것조차 불가능하다.

이 문제는 1.8.8 업데이트로 해결되었다. 지금은 애셋 업데이트도 몇 초만에 완료된다.

한국어로 맞춰놓은 유저들한테서 심각한 버그가 발견되었다. 바로 한국어로 맞춰놓고 RetroArch를 재실행할시 RGui(RetroArch의 극초창기 UI)의 기본 폰트로 고정되는데, 이 폰트는 알파벳이나 숫자 기호 이외의 문자는 전부 ?로 표기되는데, 영어로 되돌리고 재실행시 원래 폰트로 돌아온다. 허나 한국어로 설정하고 재실행할 시 얄짤없이 폰트 인식에 에러가 뜬다. 심지어 이때 다른 폰트를 설정할 시 영어나 알파벳권 이외의 문자가 전부 보이지 않게 되는 버그 속의 버그가 또 발견되었다. 이는 1.8.9나 1.8.8.1의 핫픽스를 기다리는 수밖에 없거나 언어를 영문으로 설정하고 RGui를 이용하는 수밖에 없다.

이 문제는 최신 버전으로 업데이트한 다음, 메인 화면에서 4번째 메뉴(온라인 업데이터) - 6번째 메뉴(애셋 업데이트)를 완료하고 나면 한국어로 다시 바꿔도 정상적으로 출력된다. 해결 안된다면 앱을 재시작해볼 것.

한때 드림캐스트 에뮬레이터 Flycast의 코어가 난데없이 구형 코어로 롤백되어서 메모리카드 파손 버그가 일어난 적이 있었다. 당시 온라인 업데이트시 해당 문제의 코어로 롤백되며 레트로아크 공식 포럼에서도 해당 버그가 보고되고 있었다고 한다.
이 버그는 위의 서버 크래킹과 관련이 있는데 빌드봇 크래킹으로 Flycast는 11월 16일 이후로 전혀 업데이트가 나오지 않고 있어서 생기는 문제로, 온라인 업데이터는 전적으로 빌드봇에만 의존하기 때문에 해당 문제가 생긴 것이다.

이 문제는 2020년 12월 30일 자정 코어 업데이트가 다시 이루어지면서 해결되었다.


3. 지원하는 플랫폼[편집]


  • Xbox
  • Xbox 360
  • Xbox One
  • S
  • 게임큐브
  • Wii
  • 닌텐도 3DS
  • Wii U
  • 닌텐도 스위치[25]
  • PSP
  • 플레이스테이션 2
  • 플레이스테이션 3
  • 플레이스테이션 4 (예정)
  • PS Vita[26]
  • 블랙베리 10
  • iOS, iPadOS[27]
  • 안드로이드[29]
    • 오큘러스 고, 오큘러스 퀘스트, 오큘러스 퀘스트 2[28]
  • Windows[30]
  • 리눅스
    • 패미컴 미니
    • 라즈베리 파이: 일반적으로 리눅스를 사용하지만, Windows나 안드로이드도 설치해서 RetroArch를 이용할 수 있다.
    • SteamOS: 2019년에 테스트를 거쳐, 스팀 덱 공개 2개월 뒤에 정식으로 출시되었다. 다만, 코어 다운로드는 사용자 파일 이용하거나 DLC를 통해 다운받아야한다. DLC는 전체 무료.
  • macOS[31]
  • 오픈 판도라
  • JavaScript
  • 하이쿠
  • 메가드라이브 미니

4. 지원하는 코어[편집]


  • 패밀리 컴퓨터 - 정확성이 가장 높은 코어는 Mesen. HD 팩을 지원하는 유일한 코어이기도 하다. Mesen이 너무 느릴 경우 Nestopia, FCEUMM, QuickNES 순으로 더 빠르고 정확성은 낮아진다.

  • 슈퍼 패미컴 - 최고의 정확도를 가지고 있는 MESEN-S 코어는 휴대기기에서는 최근에 발매된 고성능 안드로이드 휴대용 게임기인 오딘에서나 지원이 될 정도로 휴대기기로는 만나기 어렵다. 그래도 디바이스의 성능이 좋고 그래픽 향상 기능을 원한다면 고해상도 mode 7 렌더링과 와이드스크린 핵을 제공하는 bsnes hd beta 를 써보자. 그냥 정확성이 높은 코어를 원한다면 bsnes mercury[32] accuracy/balanced.[33] bsnes mercury balanced가 잘 돌아가지 않는다면 Snes9x. 그마저도 느리다면 Snes9x 2010, 2005 Plus, 2005, 2002 순으로[34][35] 더 빠르고 정확성은 낮아진다.

  • 닌텐도 64 - Parallel N64는 Mupen64Plus를 기반으로 정확성을 높인 변종이다. Mupen64Plus-Next는 속도가 빠르고 정확성이 떨어지는 구버전의 포크.



  • 게임보이 어드밴스 - mGBA는 현재 가장 정확한 에뮬레이터면서도 기존의 VBA-M보다 빠르다. mGBA가 너무 느릴 경우 VBA-Next, gPSP[36] 순으로 더 빠르고 정확성은 낮아진다. 2021년까지도 mGBA 스탠드얼론에서 제공하는 고해상도 렌더링은 libretro에서는 제공되지 않는다.

  • 닌텐도 DS - melonDS는 고해상도 렌더링, 화면 레이아웃 설정 등의 기능이 없는, 최소한의 게임플레이만 가능한 상태. DeSmuME은 고해상도 렌더링, 스탠드얼론보다도 다양한 화면 레이아웃 설정 등 기능 면에서 충실한 편이지만 고해상도 렌더링을 하려면 CPU 요구 사양이 무시무시하다.

  • 세가 마스터 시스템,[37] 메가 드라이브[38] - Genesis Plus GX와[39] PicoDrive[40] 두 개가 주요 코어. Genesis Plus GX는 정확성과 요구 사양이 높고, PicoDrive는 빠르지만 부정확하다. Genesis Plus GX도 어지간한 디바이스에서는 잘 돌아가기 때문에 PicoDrive는 필요 없을 듯 하지만... 슈퍼 32X를 지원하는 코어는 PicoDrive가 유일하기 때문에 라이브러리를 전부 커버하려면 결국 두 코어 모두가 필요하다.
최근 정확성을 최우선으로 한 Gearsystem과 Blastem이 추가되었다. Gearsystem은 마스터 시스템 계열만, Blastem은 메가드라이브만 지원한다.

  • 세가 새턴 - 정확성이 가장 높은 코어는 Mednafen 기반의 Beetle Saturn. Yabause, Yabasanshiro,[41] Kronos 코어도 있다.[42]

  • 드림캐스트, NAOMI, ATOMISWAVE - Flycast. reicast의 변종이지만, reicast 개발진이 이름을 사용하는 것을 원치 않아 Flycast로 이름을 변경했다.
초기 세팅에서는 VMU를 범용으로 쓰므로 몇 게임 저장하면 금방 공간이 동난다. 이에 설정에서 게임별 VMU를 할당할 수 있게 설정이 필요하다.

  • 플레이스테이션 1 - Mednafen 기반으로 하드웨어 렌더링을 추가한 변종인 Beetle PSX HW가 정확성과 부가기능 양면에서 우수하다. 소프트웨어 렌더링 옵션으로 1배 해상도에서 플레이하면 현존하는 플레이스테이션 에뮬레이터 가운데 가장 정확하며, 하드웨어 렌더링을 사용할 경우 고해상도 렌더링은 물론 PGXP subpixel precision과 perspective-correct texturing을 지원한다! 공홈 참조 Dynamic Recompiler를 쓰면 속도가 훨씬 빨라지지만 PGXP를 사용할 수 없다.
2020년에는 새로운 에뮬레이터 Duckstation이 libretro로 이식되었다.[43][44] 하드웨어 가속, 고해상도 렌더링에, Beetle PSX HW의 전유물이던 PGXP 기능까지 제공하면서 속도는 훨씬 빠르다. chd는 물론, pbp 압축 이미지도 지원한다.
이마저도 성능이 부족하다면 PCSX-ReARMed를 쓰는 수밖에 없다. 이름처럼 플러그인 기반 에뮬레이터인 PCSX-R을 개량해 ARMv7 기기에 최적화한 코어. PS Vita나 New 3DS에서 풀 스피드로 실행될 정도의 성능을 자랑하지만, ARMv7[45] 이외의 아키텍처에서는 ePSXe, PCSX-R 같은 다른 스탠드얼론 에뮬레이터보다 속도, 정확성 면에서 큰 이점이 없고, 특히 고해상도 렌더링 기능은 오로지 ARMv7에서만 제공한다. 64비트 ARM 안드로이드 기기의 경우, 구글 플레이에서 RetroArch를 설치하면 64비트 버전이 설치되어 PCSX-ReARMed의 기능을 온전히 누릴 수 없다! Libretro 공홈에서 32비트 apk를 사이드로드하자.[46][47]

  • 플레이스테이션 2
    • Play! - 시험적인 에뮬레이터. 게임플레이는 어렵다.
    • PCSX2 - Play!의 호환성 문제로 포상금까지 걸린 에뮬레이터. 2020년 11월 기준으로 진행도가 상당한 편. 64비트 빌드 전용이며, 안드로이드 64비트 빌드 전용으로 포팅될 가능성이 있다고 한다. 단 맥용으로는 출시 예정 없음.[48]
현재 64비트 윈도우 한정으로 개발버전이 배포되고 있다. Vulkan을 지원하지 않으며 코어 설정을 D3D11로 맞춰야 실행할 수 있다.

  • PSP - PPSSPP

MAME은 그냥 "MAME" 외에도 2000, 2003, 2003-Plus, 2010, 2015, 2016 등등 바리에이션이 있는데 이들은 각각 해당 년도의 MAME 구버전들을 포크한 것이다. 즉, 년도가 오래될 수록 빠르지만 호환성이 떨어지는 코어.[49]
MAME 최신버전에서는 일부 기판들이 롬 로딩 이후에 크래시하는 버그가 있다. SYSTEM 11, 21, 22, ZN1, ST-V가 그에 해당한다. 현재 해결법은 ST-V는 Kronos 에뮬레이터로 대체할 수 있으나 타기종들은 가정용 이식작으로 대체해야만 한다. 최근 MAME의 바이오스가 대대적으로 강판되면서 특정 추가 바이오스가 없을 경우 크래시되는 현상이 발생한다. 추가 바이오스를 인식시키면 정상구동.
MAME 코어는 안드로이드에서 사용할 경우 32비트 전용 바이너리만 지원한다. 플레이스토어에 올라와있는 버전 혹은 64비트 바이너리의 경우 MAME를 지원하지 않으므로 Dolphin이나 MAME 둘 중 하나는 포기해야 하는 셈. PC판은 이런 해당이 없다. 현재 안드로이드 64비트용 바이너리에 MAME 최신버전 포팅 프로젝트가 진행중이다.
FinalBurn Neo는 현재까지도 개발중인 코어. FB Alpha 2012는 2012년판의 포크. HBMAME라는 변종이 있는데 핵롬을 지원하기는 하는데 지원 게임목록이 MAME에 비해 상당히 제한적이라 핵롬을 쓸 게 아니면 비권장.
안드로이드 버전은 JIT 다이나렉을 지원하지 않고 오로지 인터프리터만 지원하기 때문에 속도가 꽤 느리다. MAME의 고질적인 문제.
2020년 11월 20일 tcamargo라는 유저가 MAME 현버전의 안드로이드 64비트 빌드를 성공했다.
2021년 6월 기준 2000, 2003, 2003+, 2010, 최신버전이 설치가능하며 최신버전은 0.242. 최신버전을 쓸 게 아닌 이상 MAME보다는 FB Neo를 사용하자.
2022년 5월, FBNeo에서 CV1000을 지원하기 시작했다! 심지어는 MAME에서 잘린 아카이카타나도돈파치 최대왕생도 지원한다.
  • Beetle VB - 버추얼 보이
  • Beetle Neopop - 네오지오 포켓, 네오지오 포켓 컬러
  • Beetle Cygne - 원더스완, 원더스완 컬러
  • Stella - 아타리 2600
  • Beetle PCE - PC 엔진, PC 엔진 CD, PC 엔진 슈퍼그래픽스[50]
    • Beetle PCE Fast - PC 엔진, PC 엔진 CD. 위 코어에서 슈퍼그래픽스 관련 기능을 뺀 저사양 최적화 버전. Lakka에도 이 버전이 수록되어 있다.
    • Beetle Supergrafx - PC 엔진 슈퍼그래픽스, PC 엔진 슈퍼 시스템 카드. 위 에뮬레이터에서 슈퍼그래픽스 관련 기능만 가져온 에뮬레이터. PCE Fast와 같이 사용하는 경우가 보통.
  • fMSX, blueMSX - MSX
  • DOSBox Core, Pure - MS-DOS. DOSBox Pure는 압축 파일로부터 바이너리 읽어들이기, 로딩 즉시 미리 설정된 바이너리 구동하기, 입력 리매핑 등 콘솔 게임을 실행하는 듯한 편의 기능을 제공한다. Core는 전통적인 DOS 환경으로 부팅. Pure는 3dfx 에뮬레이션도 지원하나 DOSBox의 특성상 불안정하므로 안정성을 원한다면 PCem이나 lBochs같은 타 에뮬레이터를 알아보는게 낫다.[51]

이 외에도 여러 코어들이 제공되며, 플랫폼에 따라 지원되는 코어의 종류에 차이가 있다.

또한 에뮬레이터 뿐 아니라 , 퀘이크, 동굴 이야기를 실행할 수 있는 런쳐 기능도 지원하고 있다. 당연히 해당 게임 데이터 파일은 따로 구해야 한다.

리브레 위키의 RetroArch 항목에 각 코어들에 대한 정보가 좀 더 자세하게 기재되어 있으니 참고바람.

5. 기타[편집]


에뮬레이터가 꽤 고성능이고 또한 무료라서 에뮬레이션 유저들 사이에서 크게 사랑 받고 있다. 게다가 안드로이드용의 경우 슈퍼 32X나 버추얼 보이 같은 몇몇 기종들은 이 에뮬레이터로만 실행할 수 있다.

2013년 10월에 구글 플레이에서 짤렸었는데, GPL 관련 라이센스 문제 때문에 구글측의 착각으로 삭제되었다고 한다. 2020년 현재는 정상적으로 배포되고 있다.

비공식 빌드의 MAME는 특이하게도 여러 종류로 나뉘어져있는데, 위의 MAME 2003뿐 아니라 MAME 2010(0.139 기반), MAME 2015(0.160 기반), MAME 2016(0.174 기반), MAME(최신 버전. 시간이 지날 때마다 버전이 바뀌며 2023년 5월 기준 0.250 기반.)가 있다. 0.139 기반은 같은 버전 기반의 다른 안드로이드용 MAME인 MAME4droid Reloaded랑 구동속도가 비슷하며 뒷 버전으로 갈 수록 구동속도는 더 느려지지만 지원하는 게임들이 늘어난다. 안드로이드는 7월에는 PC판과 달리 0.197버전으로 다소 낮았으나 8월 0.222버전으로 PC판과 동일한 버전으로 롤업되었다. 2015 버전 미만을 쓴다면 그냥 FB Neo로 갈아타자. 완벽한 상위호환이다.
현재는 2003, 2010, 최신 버전을 제외한 모든 MAME를 설치할 수 없다.

아예 부팅하면 RetroArch가 뜨는 Lakka라는 리눅스 배포판도 있다. 정확히는 Kodi와 마찬가지로 OpenELEC 위에서 돌아가는 것. 라즈베리 파이 등의 소형 개발보드용으로 제공되지만, PC에서도 설치는 가능하다.

1.7.8버전에서, 구글 플레이 정책상 네이티브 앱에서 64비트용 바이너리를 필수적으로 집어넣어야 하는 것 때문에 피해를 봤는데, 업데이트 후 이미 설치된 32비트 코어들은 전혀 동작하지 않아서 64비트 코어로 재설치해야 하는 번거로운 과정이 있었고, 특히 32비트 ARM에 최적화된 PicoDrive와 PCSX-reARMed 코어는 성능 면에서도 큰 손해를 보게 되었다.
지금은 PCSX-reARMed 코어가 64비트 dynamic recompiler 지원을 추가해서 어지간한 64비트 안드로이드 기기라면 무리 없이 작동하긴 하지만, 고해상도 렌더링만큼은 32비트 ARM 전용 기능으로 남아 있으므로 정 64비트 바이너리로 PS1 게임을 플레이할 사람이라면 64비트 최적화에뮬 DuckStation을 사용하자. 그게 아니라면 공식 홈페이지에서 32비트 apk를 내려받아 설치하는 편이 좋다. PicoDrive는 애초에 에뮬 요구성능이 적은 편이라 64비트에서도 아무 지장없이 사용 가능하다.
64비트 전용 코어도 있긴 하지만, 여러 모로 안드로이드 기기에서 쓸 일은 없을 테니 별 문제는 안 될 듯.[52] MAME쪽도 안드로이드 64비트를 지원한다.

2020년 8월 16일 Libretro 네트워크의 다운로드 서버가 크래커의 습격으로 베타 빌드와 정식 빌드의 모든 정보가 박살난 사건이 터졌다. 8월 18일 libretro 측은 저장소의 대부분을 복구했음을 밝혔다. 단, 강제폐쇄된 Private 저장소가 있을 수 있어 이에 대한 해결책을 마련해야한다고 한다. 그리고 다음 단계는 새 서버로 갈아타기 전까지 임시로 사용할 빌드봇 서버를 복구하는 것(레트로아크에서 코어를 자동으로 다운로드 할 때 이 서버를 사용한다.)인데 이는 시간이 좀더 소요될 것으로 보인다.


파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-11-02 19:42:53에 나무위키 RetroArch 문서에서 가져왔습니다.

[1] 예외적으로 MAME의 경우는 코어 안에도 MAME의 자체 GUI가 있는데 PC판 기준으로 게임 화면에서 ESC버튼을 누를 경우 MAME의 GUI화면이 나온다.[2] 예를 들어 슈퍼패미컴의 경우 bsnes 코어는 정확성을 중시하는 대신 기기의 사양을 타고 Snes9x는 저사양 기기에서도 속도가 빠른 식의 차이가 난다. 심지어 Snes9x만 해도 2010, 2005 Plus, 2005, 2002의 4가지 코어 버전이 있으며 이 4가지도 각기 성능과 속도가 다르다.[3] 레트로아크에서 보통의 경우에는 확장자를 보고 알맞은 코어를 골라 주며, 알맞은 코어가 단 하나라면 자동으로 해당 코어를 실행한다. 하지만 같은 확장자를 지원하는 복수의 코어를 사용할 일이 많아서 체감하기 힘든 기능이다. 특히 온갖 기종의 코어 수십 개가 기본 설치된 채 배포되는 플랫폼도 있는데, 그런 플랫폼의 레트로아크에서는 더더욱 코어 자동선택이 힘들다.[4] 가령, GB/GBC 에뮬레이터인 Sameboy를 설치하고 GBA 에뮬레이터인 mGBA를 설치한 경우, mGBA도 GB/GBC 게임을 지원하기 때문에 게임 보이 게임을 불러오면 어느 코어로 실행할지를 물어본다. 혹은 슈퍼 패미컴 게임을 위해 bsnes-HD를 설치하고 슈퍼 게임보이를 위해 nSide를 설치했다면 슈퍼 패미컴 게임을 불러들일 때마다 코어 선택을 해야 한다.[5] chd, bin/cue, iso같이 범용적인 파일 규격. 특히 bin 같은 경우는 여러 기종에서 쓰는 규격이고 CD-ROM 사용 기종뿐만 아니라 메가드라이브에서도 사용한다.[6] ex : 루트폴더에서 시작하여 커서 이동으로 NEOGEO 폴더 진입 후 페이지 넘겨서 kof95.zip 선택[7] 상술했듯이 .zip 롬의 경우 파이널 번 계통 코어만 해도, FinalBurn Neo, FBA 2012, FBA CPS-1, FBA CPS-2, FBS NeoGeo까지 5개 이상은 뜨게 된다. MAME까지 합치면 코어 목록이 어마어마해진다. 설령 FinalBurn Neo만 남기고 다른 아케이드 코어를 다 지웠다 한들 .zip 파일은 아타리, 코모도어, PC-98, 세가 새턴, 게임보이 어드밴스, X68000 등 온갖 기종이 반응한다.[8] Browse Archive는 롬파일 형식이 압축파일일 경우 뜨는 메뉴이다. 압축파일 내부를 탐색하는 용도다. 탐색 없이 바로 롬을 불러오는 Load Archive가 하단에 있으므로 반드시 아래 방향키를 눌러줘야 한다. 즉 선택버튼 연타로 시간 절약이 안된다. 매번 집중해서 아래 메뉴를 선택해야 롬이 실행된다.[9] 레트로아크의 고집스러운 공돌이성을 보여주는 대표적인 장면. 10% 이하의 소수 유저만 쓸법한 마이너 기능 선택을 아예 정규 프로세스에 집어넣었다. 덕분에 그 기능에 관심이 없고 필요하지도 않은 90%가 불편을 겪게 되었다.[10] 1스테이지의 배경에 나오는 화염 스프라이트가 복잡한 처리를 요구한다. 때문에 성능이 낮은 기기나 최적화가 덜 된 에뮬레이터는 프레임이 많이 느려지게 된다. 따라서 에뮬게임용 기기의 성능이나 슈퍼 패미컴 에뮬레이터의 퍼포먼스를 테스트할때 많이 쓰이는 게임. 레트로아크의 경우도 성능이 낮은 플랫폼에서는 코어별로 프레임이 다르게 뽑히는 경우가 많다.[11] 아케이드 에뮬레이터에서 성능 테스트를 하는데 필수로 투입되는 게임. 성능이 부족한 플랫폼의 경우 대부분의 아케이드 에뮬레이터에서 프레임이 매우 느리게 나온다. 저렴한 CPU와 램을 쓰는 중국산 에뮬레이터 게임기의 경우 2019년 무렵까지도 제대로 돌리는 제품이 별로 없었을 정도였다. 때문에 레트로아크에서도 프레임을 잘 뽑아주는 코어의 선택이 중요한 게임이다.[12] 때문에 레트로아크에서 메가드라이브 롬을 돌릴 시, .bin 같은 포맷이 아니라 .md 같은 메가드라이브 전용 파일명을 사용해야 오인식하지 않는다. 컨버터 프로그램을 사용하자. .zip는 해결책이 없는데, 코어 선택창의 혼선을 겪고 싶지 않다면 아케이드 기종 외에는 되도록이면 사용하지 않는게 좋다. 그나마도 flycast 같이 일부 아케이드 기판(flycast의 경우 NAOMI, ATOMISWAVE)도 지원하지만 가정용이 주가 되는 코어가 같이 깔려 버리면 답이 없다.[13] 메뉴 트리를 좀 더 직관적으로 고친다든가, 마우스/터치스크린 환경에 친절한 ozone 메뉴를 추가하는 등.[14] 예를 들자면 비타 레트로아크 1.77에서 xmb 메뉴 드라이버 사용시 충돌이 일어나 프로그램이 크래쉬되는데, rgui로 메뉴 드라이버를 변경하면 해결된다는 식의 디테일한 사항 같은 것들이다. 이런 건 해외 포럼을 뒤져야만 나오는 정보다.[15] PS VITA나 3DS 레트로아크의 메뉴 드라이버 에러 같은 경우를 말한다. 프로그램 UI에 관련된 에러이므로 모든 상황에서 맞닥뜨리게 된다. 이렇게 확실한 조건으로 발생하는 에러는 메뉴 드라이버를 정상작동되는 것으로 수정하고 더 이상 변경하지 않으면 크래쉬 재발을 막을 수 있다.[16] 유독 레트로아크에서 제공되는 코어들과 상성이 잘 안맞는다. 문제의 해결을 위해 정확성은 떨어지나 저사양에서 속도가 원활한 FB Alpha 2012 코어가 추천되는 편.[17] retroarch.cfg 파일이 꼬이지 않은 정상 상태 기준으로 레트로아크는 콘솔게임에 비해 MAMEFinal Burn같은 아케이드 기종 에뮬레이터의 구동이 상대적으로 불안정하다는 평이 있다. 특히 Final Burn에 비해 MAME 계열 코어들이 불안정하다.[18] PS Vita 같은 기종의 경우 레트로아크 자체 버그로 인해 사용하다 보면 멀쩡한 cfg 파일을 프로그램이 알아서 꼬아놓는 사례가 존재할 정도였다. 업데이트로 해결된 문제이지만 레트로아크의 불안정성을 잘 나타내는 대표적 케이스다.[19] 기기의 성능 면에서 그렇다는 얘기. 최소한 저사양 기기의 레트로아크에서 돌리기 까다로운 CPS3 같은 기종이 성능문제로 안돌아갈 리는 없으니 말이다. 그러나 오류 발생이나 튕김, 프리징으로 따지면 스위치나 PC도 똑같이 불안정하다. PC판 레트로아크로 아무 세팅 없이 MSX게임을 한번 돌려보면 에러 메세지조차 없이 바로 크래쉬되는 걸 확인할 수 있을 것이다.[20] 롬은 원본을 그대로 쓰고 ips 패치파일만 적용시키는 소프트패치 기능을 쓴다 한들 패치 파일은 결국 다시 다 구해야 한다. 수많은 패치 파일들을 구하기도 어려울 뿐더러 파일 이름 맞춰서 같은 폴더에 일일이 집어넣는 것도 쉬운 일이 아니다. 게다가 시간이 흘러 유실된 패치, 제작자가 배포를 중단한 패치도 굉장히 많은 상태다. 차라리 플레이리스트 등록이 나은 부분이 있다. 다만 이미 한글패치된 롬을 가지고 있을 경우에는 직접 패치 파일을 얼마든지 만들 수 있으므로 꼭 제작자가 배포한 패치 파일을 구하려고 애쓸 필요는 없다. 애초에 제작자가 배포하는 패치 파일부터가 한글패치된 롬과 원본 롬 둘을 이용해서 diff 파일을 만드는 것이기 때문이다.[21] 때문에 숙련자들은 레트로아크 자체 플레이리스트 생성에 의존하지 않는다. 직접 플레이리스트를 뜯어고쳐서 기종, 장르별로 플레이리스트 파일을 따로 만드는 경우가 많다.[22] 레트로아크의 기기별 플레이리스트 생성은 기기의 데이터베이스에 따라 롬파일 확장명, 헤더와 상관없이 이름만 똑같다면 그 롬파일로 인식하고 게임 정보, 경우에 따라서는 섬네일까지 다 맞춰준다. 그래서 에뮬레이터 기종별로 폴더를 나누고, 플레이리스트를 생성하면 레트로아크 세팅 난이도가 대폭 낮아진다.[23] FBA 029729 버전의 롬셋이 권장되는 코어에서 029740 버전의 롬을 돌리면 바로 튕기는 식이다. MAME도 마찬가지.[24] 별 이유도 없이 프레임이 느려지거나 롬 실행시 크래쉬가 나는 문제. 똑같은 코어와 똑같은 롬셋을 쓰더라도 retroarch.cfg 파일이 조금이라도 꼬이면 크래쉬가 폭풍같이 난다. cfg 파일을 리셋하면 대체로 해결된다.[25] 스위치는 OpenGL을 지원하므로 OpenGL이 필요한 닌텐도 64, 드림캐스트, PSP 에뮬레이터를 구동할 수 있으며, 셰이더 또한 사용 가능하다.[26] VitaGL이 개발된 덕분에 셰이더 사용이 가능하다.[27] 탈옥 유저들은 Retroarch 공홈에서 IPA를 다운받아 설치하거나 johan.margueritte.free.fr/repo 소스에서 다운로드 가능. 미탈옥 유저라면 AltStore를 이용하여 IPA를 설치할것을 권장한다. 다만 AltStore에서 310MB 이상의 IPA를 설치할 때 오류가 나는 이슈가 있는데, 이 경우는 IPA파일을 반디집 등의 압축 프로그램으로 열어서 가장 용량이 큰 코어 파일을 날려버리고 설치하면 된다.[28] 안드로이드 기반 스탠드얼론 VR기기다. 사이드퀘스트를 통해 수동 설치 가능. 실행은 TV의 채널에서 할 수 있으며 무선 컨트롤러는 필수다.[29] 공홈 apk는 다른 플랫폼과 같이 코어를 별도 다운로드하는 방식이지만, 플레이스토어의 버전은 규정에 따라 코어가 미리 설치된 상태로 제공된다. "RetroArch"는 50개의 코어, "RetroArch Plus"는 127개의 코어와 함께 배포된다.[30] Windows 95부터 지원한다.[31] PowerPC 기반 구형 Mac도 지원하는 듯 하다. Apple Silicon 기반 Mac은 로제타 2로 지원하며, ARM 호환 버전 개발이 진행중이다.[32] 그냥 bsnes와 호환성은 동일하면서 속도는 높아진, 최적화된 버전[33] accuracy는 모든 게임을 슈퍼 패미컴 실기와 동일하게 구동할 것을 보장한다. balanced는 Air Strike Patrol의 그림자 효과가 빠진 것을 제외하면 모든 게임에서 accuracy와 동일하고, 속도 면에서 훨씬 우수하다.[34] "Snes9x"는 최신 버전이고, 나머지는 오래될 수록 속도가 빠르고 호환성이 낮은 Snes9x 구버전의 포크. 2002는 1.36, 2005는 1.43, 2010은 1.52버전이다. 2005 Plus는 2005를 기반으로 사운드 에뮬레이션의 정확성만 개선한 변형판이다.[35] 과거에는 4개의 구버전들이 각각 순서대로 PocketSNES, CATSFC, CATSFC Plus, Snes9x-Next로 이름붙어 있었다. PocketSNES는 게임보이 어드밴스용 홈브루 이식판, CATSFC는 Supercard DSTwo용 홈브루 이식판을 libretro 코어로 만들었기 때문에 각 홈브루의 이름을 코어 이름으로 사용했던 것이다.[36] PSP용 홈브루 에뮬레이터를 libretro 코어로 만든 것이다.[37] SG-1000, 게임기어 포함[38] 메가 CD, 슈퍼 32X[39] Wii용 홈브루 에뮬레이터를 libretro 코어로 만든 것이다.[40] PSP용 홈브루 에뮬레이터를 libretro 코어로 만든 것이다.[41] 안드로이드용 Yabause의 변종을 libretro 코어로 만든 것이며 libretro 코어 중 유일하게 JIT Dynarec을 지원하는 새턴 에뮬레이터. 허나 레트로아크판은 Yabause의 GPL 조약을 위반했다는 이유로 지원이 끊겼다. JIT 새턴 에뮬레이터를 원한다면 현재는 SSF의 레트로아크 포팅이 소원한 상태이다.[42] 이쪽은 ST-V쪽도 지원한다. 다만 새턴의 구동률이 Beetle에 비해 떨어지는 게 흠. 사실상 ST-V 전용.[43] 얼마 후 Duckstation의 개발자 stenzek은 libretro에서 손을 떼고 Swanstation이라는 포크가 그 자리를 대체했지만, 해당 코드가 상업적 서비스에 무단으로 사용되면서 stenzek은 libretro 코어 지원을 클로즈드 소스의 형태로 재개했다. Duckstation 자체는 변함 없이 오픈 소스.[44] stenzek이 본인의 입장을 밝힌 대화 #[45] 흔히 일컫는 스마트폰의 "32비트 ARM CPU"들이 바로 ARMv7 아키텍처다. 최신 스마트폰들에 장착된 "64비트 ARM CPU"는 ARMv7과 하위 호환성이 있지만, 엄연히 다른 아키텍처다.[46] 1.7.8 버전이 업로드될 때부터 구글 플레이의 방침이 바뀌어 모든 앱들은 64비트 버전을 지원해야 한다. 64비트 기기는 구글 플레이로부터 32비트 버전을 내려받을 수 없다.[47] FMV에서 모션디코더를 사용하는 게임을 Vulkan 렌더러로 설정하고 Beetle PSX HW에서 실행하면 화면이 녹색, 주황색, 보라색 등 단일 색조로 출력되나 Duckstation은 아무런 문제가 없다.[48] 이는 PCSX2의 고질적인 문제이며 OPENGL 4버전대를 지원하지 않는 맥의 고질적인 문제이기도 하다.[49] 2000년은 iMAME4All 기반, 2003년은 월광보합 번들 기반, 2010년은 MAME4droid 기반이다. 이중 iMAME4All기반 2000과 월광보합판 2003 Plus가 지원기종도 가장 많고 업데이트가 가장 활발하나, FinalBurn Neo라는 대체품이 나오면서 크게 퇴색되었다. Lakka로 2015년과 최신판이 존재하는데 기종별로 호환율이 천차만별. 스위치판은 상당히 불안정하다.[50] PC 엔진의 개선판. 일본과 프랑스에서만 발매. 1941, 대마계촌 등이 전용으로 나왔다.[51] Android에선 가상 게임패드와 마우스 에뮬레이션을 동시에 사용할수 없으며 일부 RetroArch 빌드에선 마우스를 연결해도 쓸수가 없다. 대신 좌측 아날로그 스틱을 포인팅 스틱마냥 마우스로 활당시키는것이 가능하다. 좌 클릭은 B버튼으로, 우클릭은 A버튼으로, 중 클릭은 X버튼으로 작동한다.[52] 안드로이드 앱의 게임큐브 에뮬 Dolphin은 오로지 64비트 전용 바이너리에서만 사용 가능하니 참고. PCSX2 역시 안드로이드에 나온다면 64비트 바이너리 전용으로만 나온다고 한다.