AnyPS5 프로젝트, PC에서 PS5 게임 네이티브 구동을 위한 중요한 GPU 마일스톤 달성
요약
오픈 소스 AnyPS5 프로젝트가 PS5 게임을 PC에서 네이티브로 구동하기 위한 중요한 마일스톤으로 100% GPU 셰이더 명령어 커버리지를 달성했습니다. 이 프로젝트는 기존 PS5 실행 파일을 가져와 바이너리를 변환하고, 독점 그래픽 명령어를 SPIR-V를 통해 Vulkan으로 재구현하는 방식으로 작동합니다. 이는 전통적인 에뮬레이터라기보다는 네이티브 포팅에 가깝습니다.
핵심 포인트
- AnyPS5는 PS5 게임을 PC에서 구동하기 위한 중요한 GPU 셰이더 명령어 커버리지를 달성했습니다.
- 프로젝트는 기존 실행 파일을 가져와 바이너리를 변환하고, 독점 명령어를 SPIR-V/Vulkan으로 재구현합니다.
- 이는 완전한 에뮬레이션이 아닌, 네이티브 포팅 및 API 재구현에 가깝습니다. 구현된 기능의 정확성은 별도로 검증되어야 합니다.
오픈 소스 AnyPS5 프로젝트가 100% GPU 셰이더 명령어 커버리지를 달성하며, Windows 및 Linux PC에서 PlayStation 5 (PS5) 게임을 네이티브로 구동하려는 노력에 있어 중요한 마일스톤을 기록했습니다. 이 프로젝트의 실시간 진행 상황 추적기에는 추적 중인 AMD RDNA 1 및 RDNA 2 명령어 세트의 모든 1,166개 명령어가 구현된 것으로 나열되어 있습니다. 하지만 이 수치에는 상당히 중요한 주의사항이 붙어 있습니다. 즉, PS5의 GPU가 완전히 지원된다는 의미도 아니며, PS5 게임이 PC에서 구동될 준비가 되었다는 의미도 아닙니다.
차이점은 AnyPS5가 '구현되었다(implemented)'를 어떻게 정의하느냐에 있습니다. 이 경우, 프로젝트의 셰이더 디코더가 특정 명령어를 인식한다는 것을 의미합니다. 이는 필수적인 첫 단계이지만, 모든 명령어가 SPIR-V로 번역되어 실제로 구현되었다는 것을 반드시 의미하지 않으며, 명령어의 동작이 모든 상황에서 정확하다는 보장, 모든 GPU 기능이 지원된다는 것, 또는 게임의 셰이더가 제대로 렌더링될 것이라는 것도 아닙니다. 네트워크 라이브러리를 예로 들면, libSceHttp는 95% 구현률을 보고하고 있지만, 기술 부채(technical-debt) 문서에는 현재 구현에서는 어떠한 HTTP 요청도 네트워크에 도달하지 않는다고 명시되어 있습니다.
AnyPS5에 대해 혼란스럽다면, 제가 자세히 설명해 드리겠습니다. 가장 정확한 시작점은 기존의 PS5 에뮬레이션보다는 '바이너리 변환 및 API 재구현을 통한 네이티브 포팅'입니다. AnyPS5는 기존 PS5 실행 파일(Linux와 같은 표준 ELF 형식)을 가져와, 이를 네이티브 x86-64 Linux ELF 또는 Windows PE 실행 파일로 다시 연결합니다. 게임의 원래 소스 코드가 필요하지 않으며, 게임을 처음부터 재구축하는 것도 아닙니다. 대신, 기존 기계어 코드를 적응시키고 게임이 기대하는 PS5 시스템 라이브러리에 대한 네이티브 대체품을 제공합니다.
GPU에 도달하면 상황이 더욱 모호해집니다. PS5 게임은 일반적인 그래픽 API와 PC 개발자에게 익숙한 셰이더 포맷 대신 Sony의 독점 AGC 그래픽 인터페이스와 AMD RDNA 전용 셰이더 명령어를 사용합니다. AnyPS5는 필요한 그래픽 동작을 재구현하고, RDNA 셰이더 프로그램을 SPIR-V로 변환하여 Vulkan을 통해 실행합니다. 이는 번역이자 재구현이며, 여러 수준에서 하드웨어 동작의 일종의 에뮬레이션이라고 할 수 있지만, 전체 가상 PS5를 재창조하고 그 안에서 게임을 구동하는 [전통적인 에뮬레이터]는 아닙니다. CPU 코드는 일반적으로 호환되는 x86-64 호스트에서 직접 실행될 수 있으며, AnyPS5는 또한 지원되는 AMD 전용 명령어를 Intel 프로세서에 변환하기 위한 "--to-intel" 옵션도 제공합니다.
셰이더 디코딩 외에도 할 일이 많이 남아 있습니다. 프로젝트의 트래커에 따르면 현재 코드베이스에 선언된 3,044개의 시스템 라이브러리 함수 중 2,578개에서 84.69%가 구현되었습니다. 이 수치는 PS5 펌웨어의 모든 함수를 나타내는 것도 아니며, 각 구현된 함수가 콘솔에서 작동하는 것과 정확히 동일하게 동작한다는 것을 보장하지도 않습니다. 그래픽 상태, 텍스처 포맷, 동기화, 메모리 관리, 오디오 및 기타 [시스템 서비스 또한 전체 게임이 실행되려면 올바르게 작동해야 합니다.]

(이미지 출처: Asteristic Game Studio)
프로젝트의 공식 호환성 목록에 따르면 현재 검증된 플레이 가능 타이틀은 매력적이지만 기술적으로 매우 단순한 2D 플랫폼 게임인 Dreaming Sarah 하나뿐입니다. 개발자들은 더 까다로운 게임들(최근의 Ghost of Yotei 포함)로 진전을 이루고 있지만, 실험적인 구동 보고서에는 여전히 상당한 렌더링, 안정성, 성능 문제가 기록되어 있습니다. 게임 인트로에 도달하거나 첫 번째 3D 장면을 렌더링하는 것은 실제 발전이지만, 당연히 그게 게임 전체를 플레이하는 것과는 같지 않습니다.
또한, 리테일 디스크에서 데스크톱으로 바로 연결되는 지름길도 없습니다. AnyPS5의 문서화된 워크플로우는 이미 추출된 게임 ELF(Executable and Linkable Format), 관련 모듈 및 리소스, 그리고 적절하게 빌드된 호스트 측 호환성 라이브러리로 시작합니다. 따라서 이 도구는 디스크 리핑이나 복호화 도구가 아니므로, 사용자가 직접 게임 ELF와 리소스를 추출하는 방법을 파악해야 합니다.
하드웨어 요구 사항은 게임마다 다르겠지만, 메모리 여유 공간이 큰 문제입니다. Windows 환경에서 프로젝트는 한 타이틀이 최대 13,824 MB(13.5 GB)의 직접 메모리를 요청할 수 있으며, 이 전체 할당량이 즉시 시스템의 커밋 제한에 청구된다고 경고합니다. 이것은 보편적인 무료 RAM 요구 사항은 아니지만, 16GB RAM과 작은 페이징 파일만 가진 구형 PC에서 시도해 볼 만한 것은 아닙니다.
분명히 말하자면, 이것이 제가 이 성과에 놀라지 않았다는 의미는 아닙니다. 프로젝트가 추적하는 RDNA 목록의 모든 명령을 인식하는 것은 광범위한 호환성을 향한 중요한 단계이며, 이제 그 명령들을 번역하고 주변 GPU 동작을 재현하기 위해 진행되는 작업이야말로 이 프로젝트를 흥미롭게 만드는 부분입니다. 여기에는 인간들의 실제 노동력이 투입되고 있습니다. 이 프로젝트는 Claude의 예상 도움(그리고 GitHub에 직접 공로가 인정되지 않은 다른 어시스턴트들) 외에도 100명이 넘는 인류 기여자를 보유하고 있습니다.
장기적으로 AnyPS5는 범용 PS5 에뮬레이터가 아닙니다처럼 디스크를 삽입하고 '재생'을 누르는 방식이 아닐 것이며, 개별 게임의 비공식 네이티브 PC 포트를 위한 강력한 프레임워크가 될 것입니다. 하지만 그 과정에는 복잡한 법적 문제가 얽혀 있고, 오늘날의 마일스톤과 미래 사이에도 여전히 엄청난 양의 작업이 남아 있지만, 프로젝트의 진행 속도는 빠릅니다. 우리가 Rockstar가 공식 PC 버전을 출시하기 전에 PS5 버전의 GTA VI를 PC에서 플레이하게 될 수도 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Tom's Hardware의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기