Aetheris

PlayStation 4 エミュレータ

概要

Aetheris(エーテリス)は、x86-64アーキテクチャを採用したPlayStation 4向けの仮想化支援型ハイブリッドエミュレーターである。従来のインタプリタや純粋なJITリコンパイラ方式とは異なり、ホストマシンのCPU仮想化支援機能(Intel VT-x/AMD-V)を積極的に活用することで、命令セットの変換オーバーヘッドを極限まで削減することを目的としている。

アーキテクチャと技術特性

本プロジェクトの核心は、Orbis OS(FreeBSDベースのカスタムカーネル)のHLE(High Level Emulation)実装にある。CPU命令はホストCPU上で直接実行(Direct Execution)されるが、特権命令やI/OアクセスはAetherisのハイパーバイザーレイヤーがトラップし、適切にハンドリングを行う。

グラフィックスに関しては、PS4独自のGNMおよびGNMX APIコールを、ホスト側のVulkan APIへ低レベルでマッピングする「Command Buffer Translation」層を実装している。特に課題となるのが、PS4のUnified Memory Architecture(UMA)とPCのSplit Memory Architecture(メインメモリとVRAMの分離)の差異である。Aetherisでは、GPUのCompute Queueを活用した非同期DMA転送エンジンをエミュレートし、ホストVRAMへのテクスチャストリーミングを最適化している。また、シェーダーに関しては、PSSL(PlayStation Shader Language)のバイナリを解析し、SPIR-Vへ動的にトランスパイルする中間層を備え、非同期でのパイプラインキャッシュ生成により実行時のスタッター(カクつき)を抑制している。現在は、Compute Shaderによる物理演算とグラフィックス描画の同期タイミング(Fencing)の精度向上が最大の開発課題である。

推奨動作環境

  • CPU: AVX2命令セット対応の8コア以上のx86-64プロセッサ (仮想化支援機能必須)
  • GPU: Vulkan 1.3対応、VRAM 8GB以上 (Radeon RX 6000系 / GeForce RTX 30系以降推奨)
  • RAM: 16GB以上 (DDR4-3200以上推奨)

ダウンロード