RetroArch

提供: ArchWiki
2021年7月12日 (月) 15:13時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (→‎入力デバイスが使えない: 不要な記事を削除(英語版に追従))
ナビゲーションに移動 検索に移動
ノート: 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"

SaveRAM Autosave Interval の有効化

デフォルトでは、RetroArch はエラーなしで終了した場合のみ SRAM をディスクに書き込みます。つまり、クラッシュが発生しやすいコアを使用すると、セーブデータが失われるリスクがあります。この動作を変更するには、~/.config/retroarch/retroarch.cfg を開いて、autosave_intervaln を設定します。

~/.config/retroarch/retroarch.cfg
autosave_interval = "600"

上記の例では、RetroArch は SRAM の変更を600秒毎にディスクに書き込みます。

警告: この値を低くしすぎると、あらゆる種類の問題、特にハードウェアの劣化が発生します。[1] を参照してください

フィルターとシェーダー

RetroArch は BSNES XML filtersCG shaders をロードできます。これらはそれぞれ、retroarch.cfgvideo_bsnes_shadervideo_cg_shader でそれぞれ設定されています。シェーダーは、オンラインアップデータを使用して、RetroArch 内で直接取得および更新することもできます。

ノート: retroarch-gitAUR では、cg shaders を使用するために、nvidia-cg-toolkit が必要です。

設定をデフォルト値にリセットする

GUIを使用して、設定またはキーバインドをデフォルト値にリセットするには、ハイライト表示して、Start を押します。キーバインドからボタンを削除するには、キーバインドをハイライト表示にして、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*

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

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

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

ALSA でのオーディオの問題

ALSA を使用する場合の audio_out_rate は、システムのデフォルトの出力レートと一致させる必要があります。通常は、48000 です。

RetroArch がクラッシュするとセーブデータが失なわれる

#SaveRAM Autosave Interval の有効化 を参照してください。

Start game from playlist but reports 'No Items'

If RetroArch reports "libretro core requires contents, but nothing provided", try to load game by manually chose the path of the ROM from the "Main Menu -> Load Content". It seems unreliable to start game from 'playlist'.

参照