홈페이지[1] |
깃허브 |
개발자 후원 페이지 |
1. 개요
2011년 5월에 개발 착수하여 2012년 6월부터 일반 공개된 C++ 기반의 플레이스테이션 3 오픈 소스 에뮬레이터.
2. 상세
RPCS3는 2011년 5월에 최초 개발자 DH에 의해 만들어졌으며 동년 9월에 최초의 홈브루 구동에 성공 후 이듬해 6월 구글 코드에서 일반에 첫 공개되었다. 이후 2014년에 이르러 마침내 일부 상용 게임에서 2D 그래픽과 음성을 출력하는 데 성공했다.현재는 최초 개발자인 DH는 은퇴하고 프로젝트 리더는 2013년 합류한 코어 개발자인 Nekotekina가 맡고 있으며 그래픽 개발자인 kd-11와 함께 둘을 중심으로, 다수의 개발자들이 기여하고 있는 상태다. 2017년 Patreon에서 후원을 받기 시작해 Nekotekina와 kd-11이 풀 타임으로 RPCS3 개발에 뛰어들며 개발이 급속도로 빨라졌고 그 해 플레이할 수 있는 게임의 수가 급격히 늘어 불과 1년만에 20여 개에서 600여 개로 늘었다.
2017년 9월 중순 3000달러 모금을 달성해 Nekotekina에 이어 kd-11이 풀 타임으로 참여하게 되었다. 그리고 매달 블로그에 발표되는 진행 보고서 9월호에 따르면 "특정 사건으로 인한 많은 언론 노출 덕분에" 초과 달성했다고 한다. 특정 사건이란 말할 것도 없이 아래의 ATLUS의 저작권 분쟁 건.
잘 알려지지 않은 사실이지만, RPCS3는 한때 PS Vita 지원을 고려했다. 2013년부터 비타 에뮬레이션 기능을 추가해 간단한 코드가 실행되는 수준까지 개발되었지만 장기간 방치되었다가 본격적인 비타 에뮬레이터인 Vita3K가 출범한 뒤인 2018년 2월에 완전히 삭제되었다.
3. 주요 업데이트
2017년 12월 2일 업데이트로 갓 오브 워 3, 언차티드 시리즈, 라쳇 앤 클랭크 시리즈, 인퍼머스를 포함한 여러 독점 AAA 게임들이 일제히 게임에 진입할 수 있게 됐고, 다른 수많은 게임들의 호환성이 개선되었다. 업데이트의 내용과 영향을 받은 것으로 확인된 일부 게임들의 목록은 블로그 참조. #2018년 5월 SPU ASMJIT 최적화 업데이트로 SPU를 많이 사용하는 게임들[2]의 속도가 대폭 빨라졌다. 실기에서 프레임 드롭이 심했던 데몬즈 소울이나,[3] RPCS3로 60FPS 모드 사용할 수 있는[4] 페르소나 5의 경우 고성능 CPU에서 플레이스테이션 3 실기를 상회하는 프레임률을 보여준다. 물론 셰이더 컴파일은 제외.[5]
2018년 6월 SPU LLVM이 추가되었다. 초기 단계로 불안정해 구동할 수 있는 게임은 극히 적지만 해당 게임들에서는 눈에 띄는 속도 향상이 이루어졌다. 일단 아직은 ASMJIT가 권장 옵션이다.
2018년 7월 비동기 셰이더 컴파일 기능이 추가되었다. Dolphin이 얼마 전에 추가했던 기능으로, 필요한 셰이더가 컴파일되기를 기다리지 않고 그냥 렌더링하는 옵션이다. 새로운 텍스쳐가 로드될 때마다 스터터링 대신 해당 텍스쳐에 순간적으로 깜빡임이 발생하게 된다.[6] 쾌적한 게임플레이에 많은 도움이 된다.
2018년 8월 Reality Synthesizer(플레이스테이션 3의 GPU, RSX) 에뮬레이션 최적화로 이것의 부하가 큰 게임들의 프레임률이 크게 개선되었다. 주로 AAA급 게임들이 큰 이득을 보았으며 상황에 따라서는 100%에 달하는 향상이 이루어지기도 했다. 레드 데드 리뎀션, 갓 오브 워 3, 언차티드 등 일부 AAA급 게임은 고정 30FPS는 아니지만 플레이할 수 있는 속도에 이르렀다.
# 2018년 12월 갓 오브 워 3 등의 여러 게임에서 속도가 개선되었다. 기존에는 LLVM 사용시 속도를 크게 희생해서 정확성을 얻는 "Accurate Xfloat" 옵션이 필요했지만, xfloat를 근사하게 처리하는 업데이트로 많은 게임이 해당 옵션 없이도 정상 작동하게 되었다.
# 2019년 1월 TSX 미지원 CPU들의[7] 성능을 크게 개선하는 업데이트가 이루어졌다.
2019년 7월 vblank 오버라이드 기능을 통해 많은 게임의 프레임률을 올릴 수 있게 되었다. #1, #2 플레이스테이션 3 게임들 중 상당수는 기기의 vblank에 맞춰서 프레임을 업데이트하기 때문에 vblank를 기본값인 60Hz에서 120Hz로 올리면 프레임률이 두 배가 되는 식으로 변한다. 물론 핵(Hack) 기능이므로 vblank를 건드리면 게임플레이 자체의 속도가 변하거나, 게임 시스템이 망가지거나, 혹은 vblank를 완전히 무시하는 게임들도 많이 있다.
불과 1~2년 전만 해도 30FPS 고정을 달성할 수 없던 게임들이 고정 60FPS로 작동하는 영상이 나오며 RPCS3가 그 사이에 얼마나 빨라졌는지를 보여주고 있다.
페르소나 5의 고정 60FPS 게임플레이
Nier의 고정 60FPS 게임플레이
데몬즈 소울의 가변 120FPS 게임플레이
2019년 8월 메탈기어 솔리드 4의 게임플레이에 진입할 수 있게 됐다. #1 #2 vblank 조작으로 30FPS 제한을 우회할 수 있는 것으로 확인되었다. 아직까지는 그래픽 버그가 심하며, 프레임률 또한 고정 30FPS도 달성하지 못할 정도로 낮다.
2019년 9월 MSAA를 지원하기 시작했다. # PC용 GPU에서는 MSAA 기능이 추상화되어 있어 관련 변수들에 함부로 접근할 수 없는 관계로 우회적인 방법을 사용했다고 하며, 해당 방법의 한계로 인해 NVIDIA GPU에서는 AMD GPU에 비해 최대 5배까지 느리게 작동할 수 있다고 한다. MSAA는 CPU 부담이 상당한 기능이고, 내부 해상도에 비례해서 CPU 부담도 늘어나므로 적당히 조절할 필요가 있다.
3.1. 최소 및 권장 사양
공식 홈페이지 출처최소 | 권장 | |
CPU | x64 CPU |
인텔 6코어 12스레드 또는 8코어 이상의 CPU[8][9] AMD 라이젠 3세대 이후의 6코어 이상 CPU |
GPU | OpenGL 4.3을 지원하는 그래픽 카드[10] | Vulkan을 지원하는 AMD[11] 및 NVIDIA[12] 그래픽 카드 |
RAM | 최소 8GB | 16GB 이상 |
운영체제 | 64 비트 Windows 10, 11[13] Linux[14], FreeBSD 12.4 이상, macOS 12.6 이상 |
RPCS3는 아직 알파 상태의 프로그램으로, 대부분의 게임이 버그 혹은 심각하게 느린 속도로 인해 플레이 불가능하다. 향후 업데이트로 성능이 크게 개선될 예정이며,[15] 개발자들은 에뮬레이터가 충분히 완성되면 위의 권장사양 정도의 CPU로 대부분 플레이할 수 있으리라고 기대하고 있으나 현재로써 보장은 없다.
플레이스테이션 3은 1개의 PPE와 7개의 SPE로 구성된 당시 기준 고성능의 CELL-Broadband Engine CPU와 NVIDIA와 소니가 공동 개발한 Reality Synthesizer GPU를 탑재한 게임기로, RPCS3는 CPU의 엘리먼트들을 각각 하나의 스레드로 처리해 주로 8개의 스레드로 동시에 처리한다.[16] 따라서 옥타 코어 이상의 CPU가 이상적이다.
단, 어느 에뮬레이터나 그렇듯 에뮬레이션할 게임에 따라 실질적인 CPU 요구사항은 천차만별인데 플레이스테이션 3의 SPE를 잘 활용한 게임들일수록[17] 요구 사양은 높아진다. 단순한 게임이라면 권장 사양에 한참 미달하는 CPU로도 돌아갈 수도 있다.
RPCS3는 Vulkan과 OpenGL 4.3 그래픽 라이브러리를 지원하는데 권장 옵션은 Vulkan이므로[18] Vulkan을 지원하는 AMD 혹은 NVIDIA 카드가 권장된다. Intel 내장 그래픽은 성능이 너무 낮고 드라이버 업데이트를 신뢰하기 어려워 권장되지 않는다. GPU는 에뮬레이션으로 인한 오버헤드가 그리 크지 않은 부품인 관계로 Vulkan을 지원하는 외장 GPU라면 해상도를 비상식적으로[19] 높이지 않는 한 성능은 거의 틀림없이 만족한다.
RAM은 셰이더 캐시의 용량에 따라 많이 필요할 수도 있다. 게임에 따라 다르지만 개발자들은 셰이더 컴파일러가 충분히 완성되면 대부분의 게임은 8GB 이내에 충분히 들어갈 것으로 보고 있다.
3.2. 지원 기능
-
언패킹된 롬 파일을 실행하거나 pkg 파일을 설치 및 실행 가능.
블루레이 디스크 드라이브를 통한 디스크 직접 실행은 지원하지 않는다. -
그래픽 강화 기능
2017년 10월 8일 첫 그래픽 강화 기능인 고해상도 렌더링과 비등방성 필터링이 발표되었다. 개발자들은 발표에서 향후 텍스쳐 스케일링과 같은 더 많은 그래픽 강화 기능을 제공할 것임을 밝혔다. -
고해상도 렌더링
2017년 10월 8일 고해상도 렌더링 지원이 발표되었다. 옵션의 GPU 탭에서 Resolution과 Resolution Scale 기능을 통해 조절할 수 있다. 여느 에뮬레이터처럼, RPCS3는 GPU 부담이 그리 심하지 않으니 쉽게 해상도를 높일 수 있다.[20] 단, 이는 "핵"이므로 게임에 따라 부작용이 발생할 수 있다.[21]
Resolution은 에뮬레이션한 플레이스테이션 3 시스템 해상도를 변경하는 설정이다. 대부분의 플레이스테이션 3 게임은 720p를 기준으로 설계되었으므로[22] 1280×720으로 맞춰놓는 게 권장된다.
Resolution Scale은 720p를 기준으로 RPCS3의 렌더링 해상도를 높이거나 낮추는 비율이다. 이 옵션을 100% 이외로 설정시 "Resolution" 옵션은 무시된다. -
비등방성 필터링
고해상도 렌더링과 같이 발표되었다. 게임의 본래 비등방성 필터링 설정을 오버라이드할 수 있다. 성능에 거의 타격을 주지 않으므로 부담 없이 높일 수 있다. 단, 이는 "핵"이므로 게임에 따라 부작용이 발생할 수 있다.[23] -
MSAA
CPU에게 부담이 심한 기능. 특히 NVIDIA GPU를 사용할 때 부담이 심하다. 안티에일리어싱 효과를 얻고 싶다면 MSAA를 끄고 렌더링 해상도를 높이는 편이 저렴하다. MSAA의 CPU 부담은 해상도에 비례해서 올라가기 때문.
단, 일부 게임은 MSAA를 꺼버리면 그래픽 버그가 생기니 주의. -
프레임률 패치
RPCS3는 플레이스테이션 3에서 수직 동기화에 사용되는 vblank 신호의 빈도를 본래의 60Hz에서 정수배로 올리는 기능을 지원한다. vblank 빈도를 120Hz로 올리는 것 만으로도 30FPS로 작동하던 게임 중 상당수가 아무 문제 없이 60FPS로 작동하게 된다.
반면 vblank를 게임 시스템에 연결시켜 놓은 게임들은 vblank를 건드리는 즉시 게임플레이가 망가지는데, 일부 게임들의 경우 이를 해결하는 패치가 만들어져 있다. 패치를 통해 60FPS로 작동하는 게임들에는 킹덤 하츠 HD 리믹스,[24] 페르소나 5, 니어, 메탈기어 솔리드 4, 데몬즈 소울 등이 있다.
3.3. ATLUS와의 저작권 분쟁
2017년 9월 말, RPCS3 홈페이지에서 페르소나 5에 관한 모든 정보가 삭제되는 일이 벌어졌는데, 알려진 경위는 아래와 같다.이는 페르소나의 제작사 ATLUS에서 Patreon 측에 저작권 위반을 이유로 RPCS3의 개발자 Nekotekina와 kd-11의 후원 페이지의 삭제를 요구하면서 시작되었다. 해당 요구의 근거는 아래와 같다.
The PS3 emulator itself is not infringing on our copyrights and trademarks; however, no version of the P5 game should be playable on this platform; and [the RPCS3] developers are infringing on our IP by making such games playable
플레이스테이션 3 에뮬레이터의 제작 자체는 자사의 저작권을 침해하는 행위가 아니지만 페르소나 5는 해당 플랫폼(Windows)에서 플레이할 수 없도록 되어 있으며, (RPCS3의) 개발자들은 그런 행위를 가능케 함으로써 자사의 지적 재산권을 침해하고 있다는 것이다.Patreon은 해당 후원 페이지 자체가 특별히 ATLUS의 저작권을 침해하는 것이 아니므로 페이지의 삭제는 부적절하다는 이유로 요구를 거부하고 개발자들에게 연락을 취해 홈페이지에서 페르소나 5에 관한 모든 내용을 삭제할 것을 권고했으며[25], 개발자들은 그에 따랐다.[26]
이에 ATLUS는 요구를 재청하며 다음과 같은 근거를 들었다.
We kindly ask that you remove both for this reason – to make Persona 5 work on the emulator, the user has to circumvent our DRM protections.[27]
이 글과 함께 ATLUS는 RPCS3 블로그에 있던 (지금은 삭제된) 플레이스테이션 3 디스크의 리핑 방법에 대한 설명문을 링크해 놓았다. 해당 글의 내용 중 페르소나 5의 디스크의 리핑 방법에 대한 대목은[28] 아래와 같다.We recommend that you dump your own PlayStation 3 games and software from your own console. We believe that this is the most efficient and safest way to migrate your disc-based games and digital games from your console to your PC without the hassle of repairing bad game dumps found on the internet or possible legal repercussions. To do this, you will need a PlayStation 3 system with a custom firmware and various software tools that are used to rip/dump games from your system's Blu-ray drive or internal storage.
이에 개발자들은 자신들의 일은 법적 테두리 내에서만 이루어지고 있다고 믿으며, 변화 없이 RPCS3 개발을 진행해 나갈 것이라고 밝혔다.ATLUS의 이와 같은 요구는 이전의 에뮬레이터 관련 법적 분쟁과는 전혀 다른 쟁점을 두고 있는데, 이전 Bleem!과 SCE(현 SIE) 사이의 법적 분쟁은 게임기에 대한 권리를 놓고 게임기 회사가 제기한 분쟁이었던 반면 이번 ATLUS의 DMCA는 에뮬레이터가 소프트웨어에 대한 DRM 위반을 저지르고 있다는, 이전에 제기된 바 없는 새로운 주장이다.
ATLUS는 홈페이지에 글을 올리며 에뮬레이터를 통한 게임의 구동은 불법적이며, 자신들이 의도했던 게임플레이 경험과 품질을 전달하지 못한다는 입장을 밝혔다. 링크
이 사건 뒤로 페르소나 5가 PC로 출시될지도 모른다는 루머가 생겨났다. ATLUS의 성명문 중 "많은 페르소나 팬들이 PC 버전을 원한다는 것을 알고 있습니다. 지금 발표할 내용은 없지만 저희는 듣고 있습니다!"라는 대목이 있었기 때문. 더군다나 성명문의 요지는 "RPCS3를 통한 게임의 구동은 프레임 드롭과 크래시로 점철된 바람직하지 못한 게임플레이 경험"이라며 에뮬레이터를 까는 내용이고, RPCS3 측이 페르소나 5와 관련된 홍보를 중단하자 더 이상의 공격 없이 문제를 조용히 덮어버린 것도 전부 RPCS3가 유명세를 타는 것을 막으려고 한다는 인상을 주기도 했다.[29]
그러나 RPCS3는 오히려 이 사건으로 언론에 자주 보도되면서 이름이 더 많이 알려졌으며, 이로 인해 상당량의 기부금이 들어왔다고 한다. ATLUS만 새 된 꼴.
4. 한계
플레이스테이션 3는 태생적으로 CPU의 구조가 접근이 어렵게 되어 있는 특이한 구조를 가지고 있고, 다양한 코드를 가지고 있는 다양한 게임이 있다. 따라서 한 가지 설정으로 모든 게임을 구동하는 것은 불가능하며 기존에 지원되던 게임이 버전업 이후 플레이가 불가능하게 되는 일도 발생할 수 있다. 또한 컴퓨터 성능에 따라 구동 가능 여부가 달라질 수 있다.또한 이런 기기의 문제로 인해 에뮬레이션의 추가 기능에도 상당히 한계가 있다. 전 세대 기종 에뮬레이터들은 강제 저장 및 불러오기, 일시 정지 후 1프레임씩 진행 등 여러 기능들을 통해 게임을 다양한 측면으로 파헤쳐볼 수 있지만 RPCS3의 경우 딱 게임이 돌아만가고 이외의 추가 기능은 전무하다시피 하다. 저장과 함께 게임을 종료한 뒤 다시 게임을 실행하면서 불러오는 불완전한 방식으로 강제 저장 및 불러오기 기능이 구현돼있지만 써먹기 너무 번거롭다.
5. 버전 역사
※ RPCS3는 개발 초기의 에뮬레이터인 관계로 모든 빌드는 알파 버전이며, Dolphin, PCSX2 등과는 달리 안정 버전이 없다. 에뮬레이터를 다운로드할 때는 특별한 이유가 없는 한 언제나 최신 빌드를 다운로드할 것이 권장된다.아래의 빌드들은 개발자들이 에뮬레이터가 어느 정도 발전했다고 판단할 때마다 마일스톤의 의미로 번호를 새롭게 올려 내놓은 버전들과 그 날짜다.(사용자가 특별히 이들 버전들을 이용할 이유는 없다.) 2017년 들어 거시적인 개발 속도가 빨라진 만큼 버전 숫자도 여러 차례 올라갔다.
- 0.0.0.2 (2012년 6월)
- 0.0.0.4 (2013년 8월)
- 0.0.0.5 (2014년 6월)
- 0.0.0.6 (2015년 10월)
- 0.0.0.9 (2016년 4월)
- 0.0.1 (2017년 2월)
- 0.0.2 (2017년 3월)
- 0.0.3 (2017년 7월)
- 0.0.4 (2017년 10월)
- 0.0.5 (2018년 2월)
- 0.0.6 (2019년 1월)
- 0.0.7 (2019년 8월)
- 0.0.8 (2019년 12월)
- 0.0.9 (2020년 3월)
- 0.0.10 (2020년 6월)
- 0.0.11 (2020년 7월)
- 0.0.12 (2020년 10월)
- 0.0.13 (2020년 11월)
- 0.0.14 (2020년 12월)
- 0.0.15 (2021년 3월)
- 0.0.18 (2021년 10월)
- 0.0.19 (2021년 11월)
- 0.0.20 (2022년 1월)
- 0.0.21 (2022년 2월)
- 0.0.22 (2022년 5월)
- 0.0.23 (2022년 7월)
- 0.0.24 (2022년 9월)
- 0.0.25 (2022년 11월)
- 0.0.26 (2023년 1월)
- 0.0.27 (2023년 3월)
- 0.0.28 (2023년 6월)
- 0.0.29 (2023년 8월)
- 0.0.30 (2024년 1월)
- 0.0.31 (2024년 3월)
- 0.0.32 (2024년 5월)
- 0.0.33 (2024년 9월)
6. 호환성 리스트
홈페이지 참고7. 관련 문서
[1]
홈페이지의 블로그 등에서 "[redacted\]"라는 문구는 "Persona 5"라는 이름이 검열된 흔적이다. "ATLUS와의 저작권 분쟁" 문단 참조.
[2]
~= 예전에 느렸던 게임들
[3]
이후 2019년 30FPS 제한을 해제하는 패치가 등장하며 실기보다 압도적으로 쾌적하게 플레이할 수 있게 됐다.
[4]
모드가 등장했을 당시만 해도 일부 구간에서 30FPS 언저리로 떨어지며 60FPS 고정은 절대 불가능했지만 2019년에는 고성능의 CPU에서 충분히 60FPS로 고정할 수 있게 됐다.
#
[5]
동년 7월 업데이트로 셰이더 컴파일로 인한 스터터링마저 없앨 수 있게 되었다.
[6]
CPU의 코어 수가 넉넉지 못하다면 컴파일링 때문에 일시적인 프레임 드롭이 일어날 수도 있다. 코어 수가 충분히 많은 CPU는 이 문제에서 자유롭다.
[7]
AMD CPU 및 인텔 6세대 이전 CPU (브로드웰 일부 지원), 그리고 6세대 이후라도 데스크탑 i3와 i5 하위 라인업에선 지원하지 않는 경우가 있다. (8400, 9400f 등)
[8]
한때 RPCS3 개발자들은 TSX 기술을 지원하는 인텔 CPU를 권장했다. 그러나 TSX의 보안 취약점이 공개되고, 인텔은 이것이 해결될 기미가 보이지 않자 2021년 6월과 10월, 2번의 마이크로코드 업데이트를 통해 벤더들에게 해당 기능을 제거할 것을 권장했으며, 10세대 CPU인 아이스 레이크와 코멧 레이크부터 아예 실리콘에서 기능이 제거되었다. 그러자 RPCS3 개발자들도 권장 사양에 TSX에 대한 내용을 제거했다.
[9]
RPCS3는
AVX-512 명령어셋을 지원하는 CPU에서 큰 성능 이득을 볼 수 있다.
참조
[10]
NVIDIA는 페르미 마이크로아키텍처 이후 기반의 지포스 그래픽 카드, AMD는 TeraScale 2 이후 기반의 라데온 그래픽 카드
[11]
폴라리스 마이크로아키텍처인 라데온
RX 400 시리즈 이후 그래픽 카드
[12]
맥스웰 마이크로아키텍처인
지포스 900 시리즈 이후 그래픽 카드
[13]
Windows는 Visual C++ 2017 재배포 패키지와 DirectX End-User Runtime이 필요하다.
[14]
커널 5.4 이상
[15]
현재까지 꾸준히 업데이트가 이루어져 왔다.
[16]
다른 자잘한 기능 여럿이 별개의 스레드로 작동하지만 큰 차이는 없다.
[17]
주로 AAA급 게임들
[18]
Vulkan은 저레벨 API인 특성상 에뮬레이터에서 CPU의 부하를 크게 줄여줄 수 있다.
[19]
2018년 메인스트림급 GPU라면 4K는 무리 없다.
[20]
MSAA는 CPU에 큰 부담을 주는 기능이므로 안티에일리어싱을 원한다면 렌더링 해상도를 높이는 편이 저렴하다.
[21]
가령, 페르소나 5에서 캐릭터 포트레이트가 깨지는 현상이 일어나거나,(이는
Combined Bustups 모드로 해소 가능) 게임에 따라서는 후처리 과정 때문에 고해상도 렌더링이 전혀 먹히지 않기도 한다.
[22]
1080p 지원을 표기하는 게임도 실제 1920×1080 해상도로 작동하는 경우는 많지 않다.
[23]
가령, 니노쿠니에서 UI 그래픽이 망가지는 현상이 일어난다.
[24]
일부 버그가 생긴다.
[25]
2017년 들어 에뮬레이터는 최신 게임인 페르소나 5를 비교적 중대한 버그 없이 (프레임 드롭은 빈번하지만) 구동할 수 있는 상태였고, 그 점을 홍보 포인트로 내세웠다.
[26]
Kotaku
[27]
Polygon
[28]
다른 방법도 소개되어 있지만, 해당 방법은 페르소나 5의 리핑에는 사용할 수 없다.
[29]
2020년이 되어서야 전작인
페르소나 4 더 골든이 스팀으로 출시되었고,
페르소나 5 더 로열의 전기종 이식은 저작권 분쟁이 일어나고 약 5년 뒤인 2022년 10월에서야 이루어졌다.