脱獄してHomebrewを実行できる環境を構築したPlayStation 5向けに開発されているネイティブ版「RetroArch(PS5_RetroArch)」で、v0.5.6-alpha.5が公開されました。
今回のアップデートでは、NINTENDO64エミュレーションで発生していたフレーム落ちや音声の乱れへの対策が行われています。また、収録されている15種類のコアについて、PS5実機を使った再テストも実施されました。
なお、v0.5.6-alpha.5の約1時間後にはv0.5.7-alpha.5も公開されています。こちらはPS5ホーム画面に表示されるランチャー背景を4K化したことが主な変更点で、15種類のコアやグラフィックスドライバー、各種設定についてはv0.5.6-alpha.5と同じものが使用されています。そのため、本稿で紹介するN64の改善内容についてもv0.5.7-alpha.5にそのまま引き継がれています。
●GitHub「PS5 RetroArch v0.5.6-alpha.5」
https://github.com/mihawk-99/PS5_RetroArch/releases/tag/v0.5.6-alpha.5
●GitHub「PS5 RetroArch v0.5.7-alpha.5」
https://github.com/mihawk-99/PS5_RetroArch/releases/tag/v0.5.7-alpha.5
●PS5_RetroArch GitHub
https://github.com/mihawk-99/PS5_RetroArch
NINTENDO64のフレーム落ちを改善
今回、とくに大きな変更となったのが、Mupen64Plus-Nextを利用したNINTENDO64エミュレーションの調整です。
これまで『マリオカート64』や『スーパーマリオ64』『Mega Man 64』などでは、ゲーム開始後にフレームレートが低下し、音声にもノイズが発生するケースが報告されていました。
その原因のひとつになっていたのが、GPUレンダラー「ParaLLEl-RDP」のアップスケーリング設定です。以前は最大となる8倍が標準設定になっており、320×240ドットの映像を2560×1920ドットでレンダリングしてから4Kへ拡大していました。
開発者の検証によると、この設定では『マリオカート64』を8倍で動作させた際、10秒間のうち約2.4秒をGPUの処理待ちに費やしていたとのことです。一方で4倍に変更すると、GPU待ち時間は約0.2秒まで減少したとしています。
そこでv0.5.6-alpha.5では、標準設定を8倍から4倍へ変更。320×240ドットのゲームでは1280×960ドットでレンダリングすることでGPU負荷を軽減しています。
開発者のPS5では、この状態で『マリオカート64』が59.9fps前後を維持し、音声についても正常に再生できたとのことです。8倍設定自体が削除されたわけではなく、1倍、2倍、4倍、8倍から引き続き選択できます。
なお、アップスケーリング倍率を変更した場合は、その場ですぐ映像に反映されるわけではありません。「Close Content」で一度ゲームを終了し、改めて起動する必要があります。この仕様はv0.5.7-alpha.5でも既知の問題として残されています。
15種類のコアを収録。PSPやPS2、3DSにも対応
現在のPS5_RetroArchには、合計15種類のlibretroコアが収録されています。
ファミコンやスーパーファミコンといった比較的古いゲーム機だけではなく、PSP、ゲームキューブ/Wii、PS2、初代PlayStation、NINTENDO64、ニンテンドー3DSなども含まれているのが大きな特徴です。
| コア | 主な対応機種 |
|---|---|
| FCEUmm | ファミコン/NES |
| mGBA | GB/GBC/GBA |
| Snes9x | スーパーファミコン/SNES |
| FinalBurn Neo | アーケード |
| Genesis Plus GX | メガドライブ/マスターシステム/ゲームギア/メガCDなど |
| PPSSPP | PSP |
| Dolphin | ゲームキューブ/Wii |
| LRPS2 | PS2 |
| Beetle PSX HW | PlayStation |
| Mupen64Plus-Next | NINTENDO64 |
| Beetle Saturn | セガサターン |
| VICE x64sc | Commodore 64 |
| MAME | アーケード |
| DeSmuME | ニンテンドーDS |
| Azahar | ニンテンドー3DS |
このうちPPSSPP、Dolphin、LRPS2、Beetle PSX HW、Mupen64Plus-Next、Azaharの6コアでは、PS5のGPUを利用したVulkanによるハードウェアレンダリングに対応しています。
PS5_RetroArchでは、MesaのAMD GPU向けVulkanドライバー「RADV」をPS5向けに移植した環境を利用しており、高い内部解像度でゲームをレンダリングすることも可能です。
開発者による検証では、PPSSPPを内部解像度10倍、LRPS2を6倍、Beetle PSX HWを16倍、Azaharを18倍といった設定で動作させています。単にゲームを起動できるだけではなく、高解像度化も含めてPS5のGPU性能を活用する方向で開発が進められていることがわかります。
全コアをPS5実機で再テスト
v0.5.6-alpha.5では、配布パッケージに含まれるすべてのコアを使い、改めてPS5実機上でテストが行われました。
単純にゲームが起動するかどうかだけではありません。ゲームを起動したあとにメニューを2回開閉し、「Close Content」で終了したあと、同じゲームを再度読み込むところまで確認しています。
『スーパーマリオブラザーズ』『ゼルダの伝説 神々のトライフォース』『ソニック・ザ・ヘッジホッグ』『クラッシュ・バンディクー』『マリオカート64』『ポケットモンスター ダイヤモンド』などを使用したテストでは、クラッシュは確認されなかったとのことです。
各タイトルのフレームレートや映像、音声についても確認されており、テストした範囲ではゲーム起動後の音声も正常だったと報告されています。
ただし、これはあくまでも開発者が使用した特定のゲームにおけるテスト結果です。すべてのゲームで同じパフォーマンスや互換性が保証されているわけではありません。
また、セガサターン用のBeetle Saturnについては、開発者が必要なBIOSを所有していないため、ゲームプレイそのものについては現時点で未検証となっています。
RPCS3は配布版には収録されず
興味深いところでは、PlayStation 3エミュレーター「RPCS3」についてもPS5向けの開発が進められています。
開発者の環境では『God of War HD』を4K・約60fpsで動作させるなどのテスト結果も公開されていますが、通常のPS5_RetroArch配布版にRPCS3が収録されることはありません。
これは技術的な問題ではなく、ライセンスが理由です。RPCS3はGPL-2.0-only、PS5_RetroArch側はGPL-3.0-or-laterであるため、両者をひとつのプログラムとしてバイナリ配布することができないと説明されています。
そのためRPCS3を利用する場合は、公開されているソースコードからPS5_RetroArch全体をユーザー自身でビルドする必要があります。また、作成したバイナリについては共有や再配布を行わないよう案内されています。
通常のPS5にそのままインストールできるものではない
注意しておきたいのは、PS5_RetroArchは通常の市販状態のPS5に、そのままアプリとしてインストールできるものではないという点です。
あらかじめ脱獄してHomebrewを実行できる環境や、Homebrewタイトルを起動するためのランチャーなどを用意する必要があります。PS5_RetroArch自体には、PS5を脱獄したりHomebrew実行環境を構築したりする機能は含まれていません。
また、ゲームデータやBIOS、ファームウェア、復号化キーなども一切含まれていません。開発者は、自身が所有するゲームから作成したバックアップや、自身が所有するハードウェアから吸い出したBIOSやファームウェアを使用するよう案内しています。
PS5_RetroArchは、現在も「Alpha」を冠する開発途中のプロジェクトです。その一方で、現在では15種類のコアを収録し、PSPやゲームキューブ/Wii、PS2、PS1、NINTENDO64、ニンテンドー3DSといった比較的負荷の高いゲーム機についてもGPUレンダリングが利用できるようになっています。
今回のNINTENDO64におけるフレーム落ち対策のように、実際の利用者から報告された問題に対する調整も進められています。互換性や安定性についてはまだ検証すべき部分が残されていますが、PS5を利用したマルチエミュレーション環境として、かなり興味深い段階まで開発が進んできたといえそうです。















ダンジョンズ&ドラゴンズ ビジュアル大全 半世紀を超えるその歴史とアート









ゲームコンソール2.0