PS5バイナリをエミュなしでPC移植するツール公開

原題: AnyPS5: Port PS5 binaries to PC without emulation (87% system libraries mapped)

なぜ重要か

エミュレーション不要のネイティブ変換アプローチは、既存PS5エミュレーターとは異なる技術的経路を示しており、ゲーム移植の手法に影響を与える可能性がある。

開発者boykopovarは、PS5のバイナリをエミュレーションなしでLinuxおよびWindowsにネイティブ移植するオープンソースツール「AnyPS5」をGitHubで公開した。現時点でシステムライブラリの87%をマッピング済みとしており、GitHub上で7,000スターを獲得。GTX 1050 Ti搭載環境でPS5向け2Dプラットフォーマー「Dreaming Sarah」が安定した60fpsで動作することを確認している。

「AnyPS5」は、PS5の実行バイナリをLinuxとWindowsのネイティブ形式に変換する「リリンカー」と、動的リンクに対応したシステムPRXライブラリの実装を組み合わせたツールだ。エミュレーターのように別プロセスのランタイムを立ち上げる方式ではなく、実行ファイルそのものをターゲットOSのネイティブ形式に変換する点が特徴である。

現在、PS5のシステムライブラリ(`core/libs/prx`で宣言された関数群)の87%がプロジェクト内でマッピングされている。この数字はPS5全システム関数の網羅率ではなく、あくまでプロジェクトが把握・宣言した関数の割合であり、新たな関数が宣言されるたびに総数は増加するとしている。

シェーダーのリコンパイラはSPIR-Vの生成に対応しており、グラフィックスAPIとしてVulkanを使用する。動作確認済みゲームとして2Dプラットフォーマー「Dreaming Sarah」が挙げられており、GTX 1050 Ti / Intel Core i5-7500(3.4GHz)という比較的廉価な構成で安定した60fpsが確認されている。

ライセンスはGPL-2.0で、リポジトリはGitHub上に公開されている。現時点でスター数は7,000を超え、フォーク数は521件。Issue数33件、Pull Request数159件が登録されており、オープンソースコミュニティによる積極的な開発が進んでいる様子がうかがえる。

未対応状態や予期しない状態は`std::runtime_error`として厳格に例外を投げる設計になっており、エラー内容はstderrに出力されてプロセスが終了する仕様だ。対応ゲームタイトルは現時点では限定的だが、コントリビューションガイドも整備されており、対応範囲の拡大が期待される。

出典

github.com — 元記事を読む →