「RetroArch」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
 
(2人の利用者による、間の28版が非表示)
1行目: 1行目:
 
[[Category:ゲーム]]
 
[[Category:ゲーム]]
[[Category:エミュレー]]
+
[[Category:エミュレーション]]
 
[[en:RetroArch]]
 
[[en:RetroArch]]
  +
[[es:RetroArch]]
 
{{Note|RetroArch は [[Arch Linux]] とは関係ありません。}}
 
{{Note|RetroArch は [[Arch Linux]] とは関係ありません。}}
   
[http://www.libretro.com/ RetroArch] はモジュール式コマドラインを使用マルチシステムエミュレータです。高速かつ軽量で移植性が高くなるうに設計されています。RetroArch には他のエミタには見られないような機能もあり、リアルタイムの巻き戻し libretro APIよるゲームシェーディングなどが出来ます。
+
[http://www.retroarch.com/ RetroArch] は libretro API リファレス実装で。これはビデオゲームシステムエミュレータゲームエンジン、ビデオゲーム、メディアプレイヤーおびその他のアプリケーション用のモジュール式フロントエンドであり、マルチパスシェーダーのサポート、リアルタイムの巻き戻し、ビデオの記録 ([[FFmpeg]] を使用) などのいくつかの一般的でない技術的な機能を提供します。また、フル機能のコマンドラインインターフェイス加えて、ゲームパッド操作UIも備えています。
   
 
== インストール ==
 
== インストール ==
 
{{Pkg|retroarch}} パッケージをインストールしてください。あるいは開発版を使いたい場合は {{AUR|retroarch-git}} をインストールしてください。
 
{{Pkg|retroarch}} パッケージをインストールしてください。あるいは開発版を使いたい場合は {{AUR|retroarch-git}} をインストールしてください。
  +
  +
{{Tip|
  +
* RetroArch GUI のフォントとアイコンを取得するには、 {{Pkg|retroarch-assets-xmb}} をインストールします。デスクトップに適した GUI を実現するために、{{Pkg|retroarch-assets-ozone}} をインストールすることもできます。
  +
* スタンドアロンゲームボックス用のシステムユーザー、システムサービス、RetroArch設定を取得するには、{{AUR|retroarch-standalone-service}} をインストールし、{{ic|retroarch-standalone.service}} を起動/有効化します。
  +
}}
   
 
== 使用方法 ==
 
== 使用方法 ==
RetroArch は''エミュレータコア''や''エミュレータ実装''と呼ばれる形でライブラリを分離しており [https://www.archlinux.org/packages/?q=libretro Community] リポジトリや [https://github.com/libretro Libretro GitHub リポジトリ] から入手できます。
 
   
  +
RetroArch は、その機能のほとんどを「コア」と呼ばれる個別のライブラリに依存しています。これらは、RetroArch 内で ([https://buildbot.libretro.com/ libretro Buildbot] を介して) ユーザーごとにダウンロードするか、[https://www.archlinux.org/groups/x86_64/libretro/ Community] または [https://aur.archlinux.org/packages/?O=0&K=libretro AUR] からシステム全体に [[インストール]] することもできます。
libretro コアパッケージはライブラリを {{ic|/usr/lib/libretro/}} にインストールします。ライブラリを選択して ''retroarch'' を実行する場合:
 
$ retroarch -L /usr/lib/libretro/libretro-(emulation core).so ~/path/to/foo
 
   
  +
デフォルトでは、RetroArchはダウンロードするユーザーごとのコアをロードするように構成されています。他の場所にインストールする場合は、[[#設定]] を変更します。
デフォルトのエミュレーションコアは {{ic|retroarch.cfg}} で定義でき、毎回コアを指定する必要がなくなります。
 
   
  +
特定のコアを実行するコマンドは次の通りです
例:
 
  +
{{hc|/etc/retroarch.cfg or ~/.retroarch.cfg|2=
 
  +
$ retroarch --libretro ''/path/to/some_core_libretro.so'' ''/path/to/rom''
libretro_path = "/usr/lib/libretro/libretro-foo.so"}}
 
   
 
== 設定 ==
 
== 設定 ==
RetroArch の設定ファイルは {{ic|/etc/retroarch.cfg}} にあり、コメントが大量に付記されています。
 
   
  +
RetroArch を初めて実行すると、ユーザー設定ファイルが作成されます{{ic|~/.config/retroarch/retroarch.cfg}}。
メインの設定ファイル {{ic|retroarch.cfg}} で {{ic|#include "foo.cfg"}} ディレクティブを使うことで設定ファイルを分割することができます。{{ic|--appendconfig /path/to/config}} パラメータを使うことで設定を上書きすることができ、キーバインドやビデオ設定、音声設定などを実装に合わせて変更する必要がある場合に便利です。
 
   
  +
RetroArch コンポーネントをホームディレクトリにインストールする場合は、コアをダウンロードするためのグローバル構成ファイルでローカルパスを指定する必要があります。例えば、
{{Tip|RetroArch は ''[https://gitorious.org/bsnes/xml-shaders bsnes xml filters]'' と ''[https://github.com/libretro/common-shaders cg shaders]'' をロードすることができ、それぞれ {{ic|retroarch.cfg}} で {{ic|video_bsnes_shader}} と {{ic|video_cg_shader}} として定義します。}}
 
{{Note|{{AUR|retroarch-git}} で ''cg shaders'' を使うには {{pkg|nvidia-cg-toolkit}} が必要です。}}
 
{{Warning|''[[ALSA]]'' を使用する場合、{{ic|audio_out_rate}} をシステムのデフォルト出力レート (通常は 48000) に合わせる必要があります。}}
 
   
  +
{{hc|~/.config/retroarch/retroarch.cfg|2=libretro_directory = "~/.config/retroarch/cores"
== オンラインアップデータ ==
 
  +
libretro_info_path = "~/.config/retroarch/cores/info"}}
   
  +
RetroArch コンポーネントを [[pacman]] を使ってシステム全体にインストールする場合は、グローバル設定ファイルにユーザーファイルを設定してしてください。例えば、
最近のバージョンの RetroArch には、[https://buildbot.libretro.com/ RetroArch Buildbot] からコアファイルや様々なアセットデータなどを更新できるメニューがあります。メインメニューの "Online Updater" からアクセスできます:
 
   
  +
{{hc|/etc/retroarch.cfg|2=# for retroarch-assets-xmb
{{hc|1=Online Updater|2=
 
  +
assets_directory = "/usr/share/retroarch/assets"
Core Updater
 
  +
# for libretro-core-info
Update Core Info Files
 
  +
libretro_info_path = "/usr/share/libretro/info"
Update Assets
 
  +
# for libretro cores
Update Autoconfig Profiles
 
  +
libretro_directory = "/usr/lib/libretro"}}
Update Cheats
 
  +
Update Databases
 
  +
{{hc|~/.config/retroarch/retroarch.cfg|2=#include "/etc/retroarch.cfg"}}
Update Overlays
 
  +
Update GLSL Shaders
 
  +
{{Note|RetroArch はこれらのコンポーネントの複数の検索パスをサポートしていません。例えば、[[pacman]] でコアをインストールして、RetroArch の GUI を使ってコアをダウンロードした場合、それらは別のディレクトリにインストールされているので、RetroArch が一度にすべてのコアを表示するように設定することはできません。}}
  +
  +
設定を上書きしたい場合は (特定のコアを実行しているときなど) {{ic|--appendconfig ''/path/to/config''}} コマンドラインオプションを使うことができます。
  +
  +
== ヒントとテクニック ==
  +
  +
=== ''オンラインアップデーター'' を有効にする ===
  +
  +
pacman の代わりに組み込みのアップデータを使用して、すべての RetroArch コンポーネントをインストールする場合は、設定ファイルを使用して有効にすることができます:
  +
  +
{{hc|~/.config/retroarch/retroarch.cfg|2=menu_show_core_updater = "true"}}
  +
  +
{{Note| Install {{Pkg|libretro-core-info}} to ensure the core downloader works correctly. Without this package it will not fetch the core list to choose from.
 
}}
 
}}
   
  +
=== ''SaveRAM Autosave Interval'' の有効化 ===
上記のコア・アセットファイルは最新状態が保たれ、常時アップデータから取得することができます。
 
  +
  +
デフォルトでは、RetroArch はエラーなしで終了した場合のみ SRAM をディスクに書き込みます。つまり、クラッシュが発生しやすいコアを使用すると、セーブデータが失われるリスクがあります。この動作を変更するには、{{ic|~/.config/retroarch/retroarch.cfg}} を開いて、{{ic|autosave_interval}} に ''n'' を設定します。
  +
  +
{{hc|~/.config/retroarch/retroarch.cfg|2=
  +
autosave_interval = "600"
  +
}}
  +
  +
上記の例では、RetroArch は SRAM の変更を600秒毎にディスクに書き込みます。
  +
  +
{{Warning|この値を低くしすぎると、あらゆる種類の問題、特にハードウェアの劣化が発生します。[https://github.com/libretro/RetroArch/issues/4901#issuecomment-300888019] を参照してください}}
  +
  +
=== フィルターとシェーダー ===
  +
  +
RetroArch は [https://gitorious.org/bsnes/xml-shaders BSNES XML filters] と [https://github.com/libretro/common-shaders CG shaders] をロードできます。これらはそれぞれ、{{ic|retroarch.cfg}} に {{ic|video_bsnes_shader}} と {{ic|video_cg_shader}} でそれぞれ設定されています。シェーダーは、オンラインアップデータを使用して、RetroArch 内で直接取得および更新することもできます。
  +
  +
{{Note|{{AUR|retroarch-git}} では、''cg shaders'' を使用するために、{{pkg|nvidia-cg-toolkit}} が必要です。}}
  +
  +
=== 設定をデフォルト値にリセットする ===
  +
  +
GUIを使用して、設定またはキーバインドをデフォルト値にリセットするには、ハイライト表示して、{{ic|Start}} を押します。キーバインドからボタンを削除するには、キーバインドをハイライト表示にして、{{ic|Y}} を押します。
   
 
== トラブルシューティング ==
 
== トラブルシューティング ==
  +
=== No cores found ===
  +
デフォルトでは RetroArch は {{ic|/usr/lib/libretro/}} からコアを検索します。付属のオンラインアップデータでダウンロードされたコアは root で retroarch を実行しないと保存されません (推奨されません、[[pacman]] によってインストールされたコアを上書きしてしまう恐れがあります)。ユーザーではディレクトリを編集する権限がないためです。オンラインアップデータのコアを使うには、以下の行を編集してください:
  +
  +
{{hc|~/.config/retroarch/retroarch.cfg|2=
  +
libretro_directory = "~/.config/retroarch/cores"
  +
libretro_info_path = "~/.config/retroarch/cores/info"
  +
}}
  +
 
=== 入力デバイスが使えない ===
 
=== 入力デバイスが使えない ===
RetroArch を CLI で実行したり [[Xorg]] 以外のディスプレイサーバーで実行すると問題が発生します。{{ic|/dev/input}} ノードは root だけがアクセスできるように制限されているためです。この問題は手動で {{ic|<nowiki>KERNEL=="event*", NAME="input/%k", MODE="666"</nowiki>}} という中身のルールを {{ic|/etc/udev/rules.d/99-evdev.rules}} に追加することで解決します。次を実行して udev ルールをリロードしてください:
+
RetroArch を CLI で実行したり [[Xorg]] 以外のディスプレイサーバーで実行すると問題が発生します。{{ic|/dev/input}} ノードは root だけがアクセスできるように制限されているためです。この問題は手動で {{ic|1=KERNEL=="event*", NAME="input/%k", MODE="666"}} という中身のルールを {{ic|/etc/udev/rules.d/99-evdev.rules}} に追加することで解決します。次を実行して udev ルールをリロードしてください:
 
# udevadm control --reload-rules
 
# udevadm control --reload-rules
   
 
システムを再起動したりデバイスの再接続ができない場合、次のコマンドでパーミッションを強制的に設定することもできます:
 
システムを再起動したりデバイスの再接続ができない場合、次のコマンドでパーミッションを強制的に設定することもできます:
 
# chmod 666 /dev/input/event*
 
# chmod 666 /dev/input/event*
 
もしくは、ユーザーを "input" グループに追加してください。例:
 
 
# usermod -a -G input user
 
   
 
=== ビデオパフォーマンスが悪い ===
 
=== ビデオパフォーマンスが悪い ===
63行目: 102行目:
   
 
ただし、垂直同期が完全に使えなくなり、遅延が多少増えるため、RetroArch のビデオ解像度やリフレッシュレートを調整することで問題が解決する場合はこの手段は使わないほうが良いでしょう。
 
ただし、垂直同期が完全に使えなくなり、遅延が多少増えるため、RetroArch のビデオ解像度やリフレッシュレートを調整することで問題が解決する場合はこの手段は使わないほうが良いでしょう。
  +
  +
=== ALSA でのオーディオの問題 ===
  +
  +
[[ALSA]] を使用する場合の {{ic|audio_out_rate}} は、システムのデフォルトの出力レートと一致させる必要があります。通常は、{{ic|48000}} です。
  +
  +
=== RetroArch がクラッシュするとセーブデータが失なわれる ===
  +
  +
[[#SaveRAM Autosave Interval の有効化]] を参照してください。
  +
  +
=== プレイリストからゲームを開始したが、'No Items' と報告される ===
  +
  +
"libretro core requires contents, but nothing provided" と表示されたら、"Main Menu -> Load Content" から手動で ROM のパスを選んでゲームをロードしてみてください。「プレイリスト」からゲームを起動するのは信頼性が低いようです。
   
 
== 参照 ==
 
== 参照 ==
  +
* [http://www.retroarch.com/ 公式ウェブサイト]
 
* [https://github.com/libretro/RetroArch/wiki RetroArch wiki on Github]
 
* [https://github.com/libretro/RetroArch/wiki RetroArch wiki on Github]
* [http://github.com/libretro/libretro.github.com/wiki/Documentation-devs Documentation for developers]
+
* [https://github.com/libretro/libretro.github.com/wiki/Documentation-devs 開発者向けドキュメント]

2021年12月28日 (火) 20:47時点における最新版

ノート: 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"
ノート: Install libretro-core-info to ensure the core downloader works correctly. Without this package it will not fetch the core list to choose from.

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"

入力デバイスが使えない

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 の有効化 を参照してください。

プレイリストからゲームを開始したが、'No Items' と報告される

"libretro core requires contents, but nothing provided" と表示されたら、"Main Menu -> Load Content" から手動で ROM のパスを選んでゲームをロードしてみてください。「プレイリスト」からゲームを起動するのは信頼性が低いようです。

参照