RetroArch

提供: ArchWiki
2015年10月31日 (土) 15:20時点におけるKusakata (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動
ノート: RetroArch は Arch Linux とは関係ありません。

RetroArch はモジュール式のコマンドラインを使用する、マルチシステムエミュレータです。高速かつ軽量で、移植性が高くなるように設計されています。RetroArch には他のエミュレータには見られないような機能もあり、リアルタイムの巻き戻しや libretro API によるゲーム別のシェーディングなどが出来ます。

インストール

RetroArch — 安定版。

http://www.libretro.com/ || retroarchAUR

RetroArch (git) — 開発版。

http://www.libretro.com/ || retroarch-gitAUR

RetroArch-Phoenix (git) — GTK+ フロントエンド、開発版。

https://github.com/Themaister/RetroArch-Phoenix || retroarch-phoenix-gitAUR[リンク切れ: アーカイブ: aur-mirror], retroarch-phoenix-qt-gitAUR[リンク切れ: アーカイブ: aur-mirror] (qt ビルド)

使用方法

RetroArch はエミュレータコアエミュレータ実装と呼ばれる形でライブラリを分離しており AURlibretro github リポジトリ から入手できます。

AUR のパッケージはライブラリを /usr/lib/libretro/ にインストールします。ライブラリを選択して retroarch を実行する場合:

$ retroarch -L /usr/lib/libretro/libretro-(emulation core).so ~/path/to/foo
ヒント: retroarch-zip シェルラッパーを使うことで RetroArch で *.zip ファイルを利用することもできますが、正しく実装されていないため不安定です。

デフォルトのエミュレーションコアは retroarch.cfg で定義でき、毎回コアを指定する必要がなくなります。

例:

/etc/retroarch.cfg or ~/.retroarch.cfg
libretro_path = "/usr/lib/libretro/libretro-foo.so"

設定

RetroArch の設定ファイルは /etc/retroarch.cfg にあり、コメントが大量に付記されています。

メインの設定ファイル retroarch.cfg#include "foo.cfg" ディレクティブを使うことで設定ファイルを分割することができます。--appendconfig /path/to/config パラメータを使うことで設定を上書きすることができ、キーバインドやビデオ設定、音声設定などを実装に合わせて変更する必要がある場合に便利です。

ヒント: RetroArch は bsnes xml filterscg shaders をロードすることができ、それぞれ retroarch.cfgvideo_bsnes_shadervideo_cg_shader として定義します。
ノート: retroarch-gitAURcg shaders を使うには nvidia-cg-toolkit が必要です。
警告: ALSA を使用する場合、audio_out_rate をシステムのデフォルト出力レート (通常は 48000) に合わせる必要があります。

トラブルシューティング

入力デバイスが使えない

RetroArch を CLI で実行したり Xorg 以外のディスプレイサーバーで実行すると問題が発生します。/dev/input ノードは root だけがアクセスできるように制限されているためです。この問題は手動で KERNEL=="event*", NAME="input/%k", MODE="666" という中身のルールを /etc/udev/rules.d/99-evdev.rules に追加することで解決します。次を実行して udev ルールをリロードしてください:

# udevadm control --reload-rules

システムを再起動したりデバイスの再接続ができない場合、次のコマンドでパーミッションを強制的に設定することもできます:

# chmod 666 /dev/input/event*

ビデオパフォーマンスが悪い

ビデオパフォーマンスが低いのを補うために、~/.config/retroarch/retroarch.cfgvideo_threaded = true と設定することで RetroArch を別のスレッドで実行することができます。

ただし、垂直同期が完全に使えなくなり、遅延が多少増えるため、RetroArch のビデオ解像度やリフレッシュレートを調整することで問題が解決する場合はこの手段は使わないほうが良いでしょう。

参照