PS5 게임 구동을 위한 크로스 플랫폼 포팅 도구
boykopovar/AnyPS5
GitHub이 도구는 플레이스테이션 5(PS5)의 실행 파일을 리눅스 및 윈도우 환경에서 자동으로 구동할 수 있도록 포팅하는 것을 목표로 합니다.
이 도구는 별도의 에뮬레이션 없이도 플레이스테이션 5 게임을 리눅스나 윈도우 같은 일반 PC 환경에서 구동할 수 있게 도와줘요.
- 별도의 에뮬레이션이나 런타임 프로세스를 사용하지 않고, 전용 링크러를 통해 실행 파일을 타겟 시스템 네이티브 형식으로 변환하고 동적 라이브러리를 구현합니다.
- PS5 게임의 접근성을 높이고 레거시 콘텐츠 보존에 기여하며, 검증된 게임 목록과 안정적인 구동 성능을 제공하는 것이 강점입니다.
- 본 프로젝트는 연구 및 호환성 목적으로만 사용해야 하며, 지원되지 않는 상태에서는 오류가 발생하므로 법적 라이선스 준수에 유의해야 합니다.
이 도구는 플레이스테이션 5(PS5)의 실행 파일을 리눅스와 윈도우 환경에서 자동으로 포팅하는 것을 목표로 합니다. 별도의 에뮬레이션이나 독립적인 런타임 프로세스를 사용하지 않으며, 전용 링크러를 통해 실행 파일을 타겟 시스템의 네이티브 형식으로 변환하고 동적 연결에 적합한 시스템 라이브러리(PRX) 구현을 포함합니다.
기술적으로는 다양한 기능을 지원하는데, 예를 들어 2D 플랫폼 게임인 'Dreaming Sarah'가 GTX 1050 Ti / i5-7500 환경에서 안정적인 60fps로 구동되는 사례가 있습니다. 또한, 셰이더 리컴파일러를 통해 SPIR-V 생성이 가능하며, SDL 매핑을 지원하여 아날로그 스틱과 트리거를 포함한 게임 컨트롤러 사용도 설정 파일(`anyps5-input.ini`)을 통해 구성할 수 있습니다.
본 프로젝트는 상호 운용성, 연구, 보존 및 호환성 목적으로만 설계되었습니다. 만약 시스템이 지원되지 않거나 예상치 못한 상태에 놓이면 `std::runtime_error`가 발생하며 프로세스가 종료됩니다. 사용자는 이 도구와 함께 사용되는 모든 바이너리가 관련 법률과 라이선스 약관을 준수하여 획득 및 사용되었는지 책임져야 합니다.
에뮬레이션 없이 어떻게 게임을 구동하나요?
이 도구는 별도의 에뮬레이션이나 독립적인 런타임 프로세스를 사용하지 않아요. 대신 전용 링크러를 이용해 실행 파일을 타겟 시스템의 네이티브 형식으로 변환하고 동적 연결에 필요한 시스템 라이브러리(PRX)도 구현해요.
어떤 환경에서 안정적으로 구동되는지 궁금해요.
2D 플랫폼 게임인 'Dreaming Sarah'의 경우, GTX 1050 Ti와 i5-7500 환경에서 안정적으로 60fps로 구동되는 사례가 있어요. 또한, 아날로그 스틱과 트리거 같은 컨트롤러 사용도 설정 파일을 통해 구성할 수 있답니다.
이 도구를 사용할 때 주의해야 할 점이 있나요?
본 프로젝트는 상호 운용성이나 연구 목적으로만 설계되었어요. 만약 시스템이 지원되지 않거나 예상치 못한 상태가 되면 `std::runtime_error`가 발생하며 프로세스가 종료될 수 있어요. 또한, 사용자는 모든 바이너리가 법률과 라이선스 약관을 준수했는지 책임져야 해요.