RetroArch

提供: ArchWiki
2020年9月6日 (日) 09:52時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (→‎Configuration: 和訳)
ナビゲーションに移動 検索に移動
ノート: RetroArch は Arch Linux とは関係ありません。

RetroArch は libretro API のリファレンス実装です。これは、ビデオゲームシステムエミュレーター、ゲームエンジン、ビデオゲーム、メディアプレイヤーおよびその他のアプリケーション用のモジュール式フロントエンドであり、マルチパスシェーダーのサポート、リアルタイムの巻き戻し、ビデオの記録 (FFmpeg を使用) などのいくつかの一般的でない技術的な機能を提供します。また、フル機能のコマンドラインインターフェイスに加えて、ゲームパッド操作のUIも備えています。

インストール

retroarch パッケージをインストールしてください。あるいは開発版を使いたい場合は retroarch-gitAUR をインストールしてください。

ヒント:
  • RetroArch GUI のフォントとアイコンを取得するには、 retroarch-assets-xmb をインストールします。デスクトップに適した GUI を実現するために、retroarch-assets-ozone をインストールすることもできます。
  • スタンドアロンゲームボックス用のシステムユーザー、システムサービス、RetroArch設定を取得するには、retroarch-standalone-serviceAUR をインストールし、retroarch-standalone.service を起動/有効化します。

使用方法

RetroArch は、その機能のほとんどを「コア」と呼ばれる個別のライブラリに依存しています。これらは、RetroArch 内で (libretro Buildbot を介して) ユーザーごとにダウンロードするか、Community または AUR からシステム全体に インストール することもできます。

デフォルトでは、RetroArchはダウンロードするユーザーごとのコアをロードするように構成されています。他の場所にインストールする場合は、#設定 を変更します。

特定のコアを実行するコマンドは次の通りです

$ retroarch --libretro /path/to/some_core_libretro.so /path/to/rom

設定

RetroArch を初めて実行すると、ユーザー設定ファイルが作成されます~/.config/retroarch/retroarch.cfg

RetroArch コンポーネントをホームディレクトリにインストールする場合は、コアをダウンロードするためのグローバル構成ファイルでローカルパスを指定する必要があります。例えば、

~/.config/retroarch/retroarch.cfg
libretro_directory = "~/.config/retroarch/cores"
libretro_info_path = "~/.config/retroarch/cores/info"

RetroArch コンポーネントを pacman を使ってシステム全体にインストールする場合は、グローバル設定ファイルにユーザーファイルを設定してしてください。例えば、

/etc/retroarch.cfg
# for retroarch-assets-xmb
assets_directory = "/usr/share/retroarch/assets"
# for libretro-core-info
libretro_info_path = "/usr/share/libretro/info"
# for libretro cores
libretro_directory = "/usr/lib/libretro"
~/.config/retroarch/retroarch.cfg
#include "/etc/retroarch.cfg"
ノート: RetroArch はこれらのコンポーネントの複数の検索パスをサポートしていません。例えば、pacman でコアをインストールして、RetroArch の GUI を使ってコアをダウンロードした場合、それらは別のディレクトリにインストールされているので、RetroArch が一度にすべてのコアを表示するように設定することはできません。

設定を上書きしたい場合は (特定のコアを実行しているときなど) --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.

警告: Setting this value too low will cause all sorts of issue, most notably hardware degradation. See [1]

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.

ノート: retroarch-gitAUR requires nvidia-cg-toolkit in order to use the cg shaders.

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_updatertrue に設定されていることを確認してください。設定すると 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.cfgvideo_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.

参照