ルギア君の戯言

雑多な記事。

Linux 版の ePSXe で遊ぶ

いや、別に普通に Windows で遊ぶか Wine を使ってくれればいいと思うんだ。だってこっちのほうが (一部のグラボ以外は) 確実に遅いし、なんのメリットもない。ちなみにとある N から始まるメーカーのチップを搭載したグラボ×公式ドライバでは

$ glxgears

のフレームレートが (フレームリミットがかからないため) 5 桁 (ウィンドウの大きさデフォルト) 行くという鬼仕様だけどそれでも Windows でやったほうが (多分) 速い。


この記事は僕の単なるメモに過ぎず、今は入手できないファイルを使っていることをご理解の上見て欲しい。ただし、このために音がでない、とかそういうことは無い。


さて Linux でも動かせる PSX エミュとしては ePSXe と PCSX がある。が、バイナリであるのは ePSXe だけ。これは以下の理由による。

  • このマシンは 64 bit 動作中
  • PCSX のソースは 64 bit ではコンパイル不可


もちろん、ePSXe のバイナリも 32bit。
ePSXe を動かすためには、とりあえず、

# rpm -q gtk+1.i686 SDL.i686
gtk+1-1.2.10-53m.mo8.i686
SDL-1.2.14-6m.mo8.i686

をインストールしておく。

映像のプラグインはとりあえず

  • SDL のものは segmentation fault となっちゃって使い物にならず。
  • ソフトレンダリングはやはりお察しの通りだろう。

となると MesaGL か XGL になるが、この 2 つはあまり変わらなかった。上の某 N 社チップだと XGL のほうが速いと思う。

音声のプラグインは

  • ALSA 対応のものがなく、SDLOSS になる
  • やっぱり SDL だとトラブルが多いので (古い SDL のライブラリを入れるのが癪なので)

最近のだと /dev/dsp がないとかいうトンデモになっているから

# modprobe snd-pcm-oss

して作ってやる。


ここで使ったのはかの有名な (?) Eternal SPU。ただ、C++ で組まれているらしく、libstdc++-libc6.2-2.so.3 を要求してくるので、

# yum install libstdc++3.2.i686

で昔のをインストールし、適当にシンボリックリンク貼るかコピーすればおk。


あとは適当にやれば動く (コラ