RetroArch
RetroArch は libretro API のリファレンス実装です。これは、ビデオゲームシステムエミュレーター、ゲームエンジン、ビデオゲーム、メディアプレイヤーおよびその他のアプリケーション用のモジュール式フロントエンドであり、マルチパスシェーダーのサポート、リアルタイムの巻き戻し、ビデオの記録 (FFmpeg を使用) などのいくつかの一般的でない技術機能を提供します。また、フル機能のコマンドラインインターフェイスに加えて、ゲームパッド操作のUIも備えています。
インストール
retroarch パッケージをインストールしてください。あるいは開発版を使いたい場合は retroarch-gitAUR をインストールしてください。
使用方法
RetroArch は、その機能のほとんどを「コア」と呼ばれる個別のライブラリに依存しています。これらは、RetroArch 内で (libretro Buildbot を介して) ユーザーごとにダウンロードするか、Community または AUR からシステム全体に インストール することもできます。
デフォルトでは、RetroArchはダウンロードするユーザーごとのコアをロードするように構成されています。他の場所にインストールする場合は、#設定 を変更します。
特定のコアを実行するコマンドは次の通りです
$ retroarch --libretro /path/to/some_core_libretro.so /path/to/rom
設定
RetroArch の設定ファイルは /etc/retroarch.cfg
にあり、コメントが大量に付記されています。
デフォルトの設定ファイルをホームディレクトリにコピー:
$ cp /etc/retroarch.cfg ~/.config/retroarch/retroarch.cfg
メインの設定ファイル retroarch.cfg
で #include "foo.cfg"
ディレクティブを使うことで設定ファイルを分割することができます。--appendconfig /path/to/config
パラメータを使うことで設定を上書きすることができ、キーバインドやビデオ設定、音声設定などを実装に合わせて変更する必要がある場合に便利です。
ヒントとテクニック
オンラインアップデーター を有効にする
pacman の代わりに組み込みのアップデータを使用して、すべての RetroArch コンポーネントをインストールする場合は、設定ファイルを使用して有効にすることができます:
~/.config/retroarch/retroarch.cfg
menu_show_core_updater = "true"
Enabling SaveRAM Autosave Interval
By default, RetroArch only writes SRAM onto disk when it exits without error, which means that there is a risk of losing save data when using crash-prone cores. To change this behavior, open ~/.config/retroarch/retroarch.cfg
and set autosave_interval
to n.
~/.config/retroarch/retroarch.cfg
autosave_interval = "600"
With the example above, RetroArch will write SRAM changes onto disk every 600 seconds.
Filters and shaders
RetroArch can load BSNES XML filters and CG shaders. These are set in retroarch.cfg
with video_bsnes_shader
and video_cg_shader
respectively. The shaders can also be obtained and updated directly inside RetroArch using the Online Updater.
Reset settings to their default value
To reset a setting or keybind to its default value through the GUI, highlight it and press Start
. To remove a button from a keybind, highlight the keybind and press Y
.
トラブルシューティング
No cores found
デフォルトでは RetroArch は /usr/lib/libretro/
からコアを検索します。付属のオンラインアップデータでダウンロードされたコアは root で retroarch を実行しないと保存されません (推奨されません、pacman によってインストールされたコアを上書きしてしまう恐れがあります)。ユーザーではディレクトリを編集する権限がないためです。オンラインアップデータのコアを使うには、以下の行を編集してください:
~/.config/retroarch/retroarch.cfg
libretro_directory = "~/.config/retroarch/cores" libretro_info_path = "~/.config/retroarch/cores/info"
メニューにコアをアップデート・ダウンロードするオプションが存在しない
~/.config/retroarch/retroarch.cfg
または /etc/retroarch.cfg
を開いて menu_show_core_updater
が true
に設定されていることを確認してください。設定すると Online Updater メニューからコアをアップデートして Load Core メニューからコアをダウンロードできるようになります。
入力デバイスが使えない
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*
もしくは、ユーザーを "input" グループに追加してください。例:
# usermod -a -G input user
ビデオパフォーマンスが悪い
ビデオパフォーマンスが低いのを補うために、~/.config/retroarch/retroarch.cfg
に video_threaded = true
と設定することで RetroArch を別のスレッドで実行することができます。
ただし、垂直同期が完全に使えなくなり、遅延が多少増えるため、RetroArch のビデオ解像度やリフレッシュレートを調整することで問題が解決する場合はこの手段は使わないほうが良いでしょう。
Audio issues with ALSA
When using ALSA the audio_out_rate
must match the system's default output rate, usually 48000
.
Save data is lost whenever RetroArch crashes
See #Enabling SaveRAM Autosave Interval.